[ASAC 06] 물리 서버, 클라우드 서버, Serverless

flavor_blue·2024년 8월 16일

서버의 큰 대분류로 나뉘는 두가지에 대해 알아보겠습니다.

서버란?

먼저, 서버에 대해 간단하게 집고 넘어 가겠습니다. 우리는 인터넷을 하며 글을 작성하거나 누군가가 작성한 글을 읽곤 합니다. 이런 것들은 다 데이터라고 할 수 있는데, 이런 데이터는 어딘가에 저장이 되야 합니다. 인터넷이 안되면 메모장으로 내 컴퓨터에 저장할 수 있지만, 인터넷 게시글이나 이런 건 그렇게 저장할 수가 없죠. 이럴 때 우리는 서버에 저장한다고 합니다. 서버란 즉, 인터넷 공간 너머에 있는 누군가의 컴퓨터라고 할 수 있습니다.
물론 인터넷 특성상 연결 구조가 1(server) : 다수(client)가 되기 때문에, 서버의 담당자는 어지간한 컴퓨터로 서버를 돌리기가 힘듭니다. 바로 서버 전용 CPU와 RAM, 메인보드 등이 연결된 서버용 컴퓨터를 사용해야 합니다. 일반 가정용 컴퓨터가 아무리 비싼들, 저 랙(rack)에 껴있는 하나의 서버 가격 절반도 못 미칠 정도의 가격을 가지고 있습니다.

다나와에 대충 검색하면 나오는 서버. 저 가격이면 국밥이 몇ㄱ...

물리 서버


사진은 위키피디아 파운데이션의 서버실 사진 이라고 합니다. 우리가 "서버실"하면 저런 서버들이 잔뜩 들어있는 공간을 상상합니다. 저렇게 직접적으로, 물리적으로 연결되어 접속할 수 있는 서버를 물리서버라고 합니다.
이러한 물리서버는 자료를 외부로 반출할 수 없는 보안 측면에서의 장점을 가지고 있으며, 길게 봤을 때 금액적인 이점을 가집니다. 초기 투자 비용만 지불하면 끝 이니까요.
초기 투자 비용에 들어갈 항목을 가볍게 살펴보자면

  • 서버 기기 구매
    - 거기에 설치 할 서버용 OS 구매 (Linux 기반으로 무료로 이용 가능)
  • 서버 기기를 장착할 rack 구매.
  • 서버 기기 냉각을 위한 에어컨 구매 및 전기세 지속 발생
  • 서버 보관 할 공간 필요 => 서버실 구매.

트래픽이랑 서버 자체 전기세에 대한 금액은 주기적으로 발생합니다. 서버에 대한 유지비용 보수도 있겠죠?

무튼 이러한 금액적인 부분만 해결하면, 이후에는 딱히 큰 금액이 발생할 일이 없습니다. 있어봤자 서버 증설할 때 정도...? (사실 서버 증설이면 이용자가 늘어서 더 투자하는 거니까 좋은 일이라고 봐야죠.)

또 잡설이 길어지네요. 기업에서는 이런 방식을 온프레미스(On-premise)라고 합니다. 사용하고자 하는 기업의 요구사항에 맞춰 직접 중소형 데이터센터를 구축 및 유지보수 합니다.

이러한 서버 기기 판매처에는 DELL, Cisco, HPE 등이 있습니다.

클라우드 서버


이와 반대되는 개념으로 클라우드 서버가 있습니다. Cloud, 구름이라는 뜻을 가진 단어로, 서버가 마치 구름처럼 공중에 떠 있는 느낌입니다. 주로 거대 빅테크 IT 기업들이 (Amazon, Google, Naver 등) 자신들이 구축한 초거대 데이터센터에 사용자가 사용할 부분만 온디맨드(On-demand)방식으로 임대 해 주는 개념입니다.
사용자는 클라우드 플랫폼에 접속해 자신이 원하는 만큼 자원을 설정하여 서버를 구축할 수 있습니다. 물리서버와는 다르게 초기 구축 비용이 상당히 저렴하고, 최초 서버 셋팅 과정이 정말 간편합니다. 몇 번의 (딸깍)클릭으로 서버 구축이 가능하고 만약 서버 리소스가 많이 사용되지 않아도 된다면 Spec을 다운하여 사용 요금을 낮출수도 있습니다.
그러나 요금 청구의 대부분이 사용량에 따라 지불하게 되는데, 그렇기 때문에 경우에 따라선 금액적인 이득을 취하는 것이 어려워 질 수도 있습니다. 그래서 클라우드 서버의 경우에는 요금 플랜을 잘 살피고 실질적인 사용량과 비교하여 선택해야 합니다.
클라우드 플랫폼에는 AWS(Amazon), Azure(Microsoft), Google Cloud(google) 등이 있습니다.

Serverless

주로 물리, 클라우드 서버에 대해 나누기만 하는데, Serverless 라는 개념도 존재합니다. 통신을 하는데 어떻게 서버가 없냐??라고 말씀 하실 수 있겠지만, Serverless는 첫째, 물리적인 기기가 없어 클라우드 서버를 의미하는 것이 아니고, 둘째, 아예 서버가 존재하지 않는다는 개념이 아닙니다.
Serverless 개념은, 서버가 존재하지만 사용자는 요청만 하고, 클라우드 제공자는 사용자의 요청에 대한 처리만 진행 합니다. 서버의 관리는 서버 제공자가 진행하게 되고, 사용자는 그저 코드의 업로드에만 집중하는 구조 입니다.
이러한 Serverless는 호출 단위로 과금을 지불하며, 호출 시 소모되는 리소스와 발생하는 트래픽에 따라 금액을 청구합니다.
Serverless 플랫폼에는 AWS Lambda 등이 있습니다.


📑 출처 및 참조
[ASAC] 강의 자료
https://blog.naver.com/seek316/221745088983
https://en.wikipedia.org/wiki/Server_(computing)
https://smart.science.go.kr/upload_data/subject/iot/pdf/I_E_29.pdf

profile
아무거나 쓰려하지 말고 생각하며 쓰고 싶습니다

0개의 댓글