1. Bibliotek
  2. 서버와 인프라
  3. 서버 기초

Uppdaterad för 1 månad sedan

다른 기기가 무언가를 요청하고 당신의 노트북이 그에 응답하는 순간, 그 노트북은 서버가 됩니다. 그게 전부입니다. 서버는 요청에 응답하는 컴퓨터입니다.

이 단어는 관계를 설명하는 것이지, 기계의 종류를 말하는 게 아닙니다. 어떤 컴퓨터든 이 역할을 맡을 수 있습니다. 하지만 수백만 명의 사람들에게 동시에, 안정적으로, 24시간 내내 서비스를 제공해야 할 때—그때 비로소 특수 하드웨어가 그 이름값을 합니다.

하나가 여럿에게 응답하다

핵심 개념은 비대칭입니다. 하나의 컴퓨터, 많은 클라이언트. 당신의 브라우저는 클라이언트입니다. 이메일 앱도 클라이언트입니다. 스마트폰의 모든 앱이 클라이언트입니다. 그들은 모두 요청을 보냅니다: 이 웹페이지를 보여줘. 이 검색 결과를 찾아줘. 이 메시지를 보내줘.

서버가 답합니다.

이 아키텍처는 강력한 무언가를 만들어냅니다: 단일 진실 공급원. 천 명이 같은 웹 애플리케이션을 사용할 때, 각자 자신의 클라이언트를 실행하지만 모두 같은 서버와 통신합니다. 서버를 한 번 업데이트하면 모든 사람이 변경 사항을 봅니다. 서버는 모든 사람을 동기화시키고, 충돌을 방지하며, 규칙을 집행합니다.

하나의 기계가 여럿의 상태를 유지한다. 이 패턴은 온라인 세상의 거의 모든 것을 떠받치고 있습니다.

역할에 맞게 설계되다

데스크톱 컴퓨터는 한 사람의 경험을 위해 최적화됩니다—빠른 반응, 부드러운 그래픽, 조용한 동작. 서버는 완전히 다른 목적을 위해 최적화됩니다: 많은 이들에게, 끊임없이, 불평 없이 응답하는 것.

편안함보다 안정성. 데스크톱 컴퓨터는 정기적으로 종료될 것을 전제로 합니다. 서버는 재시작 없이 몇 달 또는 몇 년을 운영합니다. 즉석에서 오류를 감지하고 수정하는 ECC 메모리, 하나가 고장나도 계속 작동하는 이중화 전원 공급 장치, 지속 운영을 위해 검증된 부품들을 갖춥니다. 서버의 임무는 멈추지 않는 것입니다.

응답성보다 처리량. 데스크톱 프로세서는 한 사용자의 무거운 작업—동영상 편집, 게임—을 처리합니다. 서버 프로세서는 수천 개의 작은 요청을 동시에 처리합니다. 단일 작업의 최고 성능보다 병렬 처리에 최적화되어 있습니다.

원격 제어 내장. 서버는 종종 데이터 센터에서 헤드리스로—모니터도, 키보드도 없이—운영됩니다. 운영 체제가 충돌해도 관리자가 원격으로 제어할 수 있는 관리 인터페이스가 내장되어 있습니다. 세계 반대편에서도 서버를 재부팅할 수 있습니다.

성장을 위한 여유. 더 많은 RAM 슬롯. 더 많은 드라이브 베이. 더 많은 네트워크 연결. 서버의 작업 부하는 시간이 지나면서 늘어나게 마련이고, 하드웨어는 이를 처음부터 고려합니다.

물리적 형태

서버는 규모에 따라 다양한 형태를 취합니다.

타워 서버는 대형 데스크톱 컴퓨터처럼 생겼습니다. 독립형으로 책상 아래나 벽장 안에 놓을 수 있습니다. 소규모 기업들이 여기서 시작하는 경우가 많습니다—특별한 인프라가 필요 없습니다.

랙 서버는 표준화된 랙에 슬라이드 방식으로 삽입되도록 설계된 납작한 직사각형입니다. 단일 랙에는 수직으로 쌓인 42개의 유닛을 수용할 수 있습니다. 데이터 센터는 이런 방식으로 좁은 공간에 엄청난 성능을 집약합니다.

블레이드 서버는 밀도를 더욱 높입니다. 얇은 서버 "블레이드"가 전원, 냉각, 네트워킹을 공유하는 섀시에 삽입됩니다. 단위 면적당 최대 연산 능력—다만 이를 지원하는 정교한 인프라가 필요합니다.

서버가 맡는 역할들

모든 서버는 같은 패턴을 따릅니다: 요청을 기다리고, 응답을 보냅니다. 하지만 역할은 제각각 전문화됩니다.

웹 서버는 웹사이트 파일을 저장하고 브라우저에 전송합니다. 당신이 페이지를 요청하면 서버는 HTML, 이미지, 스크립트를 보냅니다.

데이터베이스 서버는 구조화된 데이터를 저장하고 쿼리에 응답합니다. 웹 서버가 묻습니다: '무선 헤드폰'과 일치하는 모든 제품을 찾아줘. 데이터베이스 서버가 검색해 결과를 반환합니다.

파일 서버는 공동으로 접근할 수 있는 문서를 저장합니다. 사무실에서 직원들은 각자의 기기에 파일을 따로 보관하는 대신 중앙 파일 서버에 저장합니다.

메일 서버는 이메일의 여정 전체를 처리합니다—시스템 간 발송, 수신, 저장, 중계.

DNS 서버는 도메인 이름을 IP 주소로 변환합니다. 웹 주소를 입력하면 DNS 서버가 뒤에서 조용히 그 이름이 실제로 어디를 가리키는지 찾아냅니다.

하드웨어와 소프트웨어

사람들이 종종 혼란스러워하는 부분이 있습니다: "서버"는 물리적 컴퓨터와 그 위에서 실행되는 소프트웨어, 두 가지 모두를 가리킵니다.

하나의 기계에서 웹 서버 소프트웨어, 데이터베이스 서버 소프트웨어, 모니터링 소프트웨어가 동시에 실행될 수 있습니다. 누군가 "웹 서버가 다운됐어"라고 말할 때, 소프트웨어 프로세스가 충돌했다는 의미일 수 있습니다—물리적 기계는 여전히 실행 중이더라도.

"서버"가 사물이 아닌 역할을 가리킨다는 걸 이해하면, 이 혼란은 자연스럽게 사라집니다. 소프트웨어도 이 역할을 할 수 있습니다. 하드웨어도 이 역할을 할 수 있습니다. 대부분은 둘이 함께입니다.

클라우드 속의 서버들

클라우드 컴퓨팅이 서버를 없애지는 않았습니다. 추상화했을 뿐입니다.

클라우드 제공업체는 서버 하드웨어로 가득 찬 거대한 데이터 센터를 운영합니다. 클라우드에서 "서버를 생성"할 때, 실제로는 물리적 기계의 자원 일부를 할당받는 것입니다—다른 사용자들과 하드웨어를 공유하지만, 당신에게 격리되어 전용으로 사용됩니다.

관계는 그대로입니다: 당신의 애플리케이션이 요청을 처리하고, 클라이언트가 응답을 받습니다. 달라지는 것은 오직 그 아래의 물리적 인프라를 누가 소유하고 운영하느냐뿐입니다.

왜 이것이 중요한가

서버는 대규모 조율을 가능하게 합니다. 서비스—데이터, 로직, 상태—를 중앙화함으로써 수백만 명의 클라이언트가 동일한 현실을 공유할 수 있게 합니다. 이메일이 존재하는 것은 메일 서버가 그것을 보관하기 때문입니다. 소셜 피드가 존재하는 것은 서버가 그것을 계산하기 때문입니다. 당신이 사용하는 모든 디지털 서비스 뒤에서, 서버가 응답하고 있습니다.

수십억 건의 요청이, 매 초마다, 조용히 처리됩니다.

서버를 이해한다는 것은 인터넷 아래에 깔린 구조를 이해하는 것입니다. 하나가 여럿에게 응답하다. 묻고 답하다. 클라이언트와 서버. 그 관계가 다른 모든 것이 세워진 토대입니다.

서버에 관해 자주 묻는 질문들

집 컴퓨터를 서버로 만들 수 있나요?

네. 서버 소프트웨어를 설치하고 네트워크가 들어오는 연결을 수락하도록 설정하면 당신의 컴퓨터는 서버가 됩니다. 어려운 점은 능력이 아니라 안정성입니다. 가정용 컴퓨터는 쉬지 않고 돌아가도록 설계된 것이 아니고, 가정용 인터넷 연결은 들어오는 트래픽을 차단하거나 IP 주소가 바뀌는 경우가 많습니다. 하지만 학습이나 소규모 프로젝트라면 어떤 컴퓨터든 충분합니다.

서버와 클라우드의 차이는 무엇인가요?

클라우드 자체가 서버입니다—단지 당신이 소유하지 않은 서버일 뿐입니다. 클라우드 제공업체는 거대한 데이터 센터를 운영하며 하드웨어의 일부를 임대해줍니다. "클라우드"는 비즈니스 모델과 추상화 계층을 설명하는 말이지, 다른 기술을 가리키는 게 아닙니다. 모든 클라우드 서비스 아래에는 물리적 서버가 요청에 응답하고 있습니다.

서버가 왜 특별한 데이터 센터에 있어야 하나요?

규모와 안정성 때문입니다. 데이터 센터는 이중화 전원(발전기, 배터리), 산업용 냉각 장치, 물리적 보안, 고대역폭 인터넷 연결을 갖추고 있습니다. 책상 아래에 있는 서버는 전원이 깜빡이거나, 방이 더워지거나, 누군가 케이블을 밟는 순간 멈춥니다. 데이터 센터는 이런 장애 원인들을 제거합니다.

서버는 얼마나 많은 요청을 처리할 수 있나요?

하드웨어, 소프트웨어, 그리고 각 요청이 요구하는 처리량에 따라 크게 달라집니다. 평범한 하드웨어로 구성된 단순한 웹 서버는 초당 수천 건의 요청을 처리할 수 있습니다. 무거운 연산이 필요한 복잡한 애플리케이션은 수십 건에 그칠 수도 있습니다. 트래픽이 많은 사이트는 여러 서버를 함께 운영하며 전체에 걸쳐 부하를 분산합니다.

Var den här sidan till hjälp?

😔
🤨
😃
서버란 무엇인가? • Bibliotek • Connected