EtoC

Server란 무엇일까? 본문

CS/기초공부

Server란 무엇일까?

게리드 2023. 7. 29. 21:41

컴퓨터를 이용해본사람이라면 "서버가 터졌어","서버가 왜이런담" 이라는 말을 한번쯤은 해보았을것이다.
나 또한 새로 오픈된 게임이나 사이트에 접속했을때 접속이 안되거나 오래 기다려본 경험이 있다.
그때마다 '서버가 왜이래?'라고 불평을 자아낸적이있는데, 개발자 공부를 하다보니 서버가 무엇인지 정확히 모른다는것을 알았다.

구체적으로 Server가 무엇일까?

1. Server란?

눈에 보이지않는 데이터를 저장해두고 필요한때 네트워크를 통해 사용자의 기기로 전달해주는 컴퓨터이다.


(이미지는 canva로 제작했습니다)

좀더 나아가서 서버는 역할을 개념화한 것이다.

컴퓨터가 네트워크를 사용하여 정보를 제공하는 컴퓨터일 경우에는 Server가 되고,
데이터를 전달받는 컴퓨터일 경우에는 Client가 된다.

HTML파일을 웹사이트로 띄울 수 있는 프로그램을 사용하면 일반 PC도 서버가될 수 있다.

이를 Web Server라 한다.

하지만 제대로 운영하기에는 제약이 많다.

2. IDC(데이터 센터)

Internet Data Center의 약어로, 인터넷 데이터를 저장해둔 곳을 말한다.

인터넷 데이터 센터는 대규모의 컴퓨터 시스템과 네트워크 인프라를 보유하고 운영하는 시설로, 다양한 조직이나 기업이 컴퓨터 서버, 스토리지 시스템, 네트워킹 장비 등을 보관하고 운영하기 위해 사용된다.

한다미로 엄청난 수의 서버를 한곳에서 안전하게 관리하는 곳이다.

위의 이미지처럼 수많은 서버용 컴퓨터와 통신서비가 냉각장치와함께 있는 물리적인 공간으로, 얼마전 ㅋㅋㅇ에 화재가났던 곳이기도하다.

인터넷 데이터 센터는 데이터 저장, 처리, 네트워킹, 웹 호스팅, 클라우드 서비스 등 다양한 목적으로 활용된다.

이미지만 봐도 엄청난 가격을 자랑할 거 같은 데이터 센터를 회사마다 가지고있을리가 없다.
이런 데이터 센터를 소유한 기업은 소유하지않은 기업이나 개인에게 서버를 임대해주는데 이를 서버 호스팅이라한다.
서버 호스팅을 하면 hosted server에 원격으로 접속하여 내 PC처럼 사용할 수 있다.
하지만 회사의 민감한 정보들을 호스팅된 서버에 저장할경우 유출될 위험이있으므로 회사에서 자체서버를 갖추고 관리해야한다.
이를 on-premise(온프레미스)라고한다.

서버 호스팅
장점: 비용절감
단점: 정보 유출의 위험성

온 프레미스
장점: 서버의 모든것을 직접 구성및 통제
단점: 서버에대한 높은 이해도 & 서버를 두기위한 물리적공간과 환경 필요

3. 호스팅

1. 서버 호스팅

전통적인 방식으로, 단일 물리적 또는 가상 서버를 구매하거나 임대하여 웹 애플리케이션 또는 웹사이트를 호스팅하는 방법이다.
일반적으로 서버의 하드웨어, 네트워크 연결, 전력 공급 등을 제공하는 호스팅 서비스 제공업체에 의해 관리된다.
이 방식은 고성능, 안정성 및 컨트롤이 필요한 경우에 적합하다.
서버 호스팅은 주로 대규모 비즈니스나 기업에서 사용되며, 서버의 전체 운영과 관리에 대한 책임이 사용자에게 있다.
사용자는 서버의 운영체제, 소프트웨어 설치, 보안 패치 등을 직접 관리해야하기때문에 서버에대한 높은 이해도가 필요하다.
또 사용가능한 요량이 한정적이라는 단점이있다.

이러한 단점을 보완하기위해 클라우드 호스팅 방식이 도입되었다.

2. 클라우드 호스팅

아마존의 AWS, 구글의 GCP, 네이버의 NCP를 클라우드 컴퓨팅이라한다.

클라우드 호스팅은 클라우드 서비스 제공업체가 가상 서버의 인프라를 관리하고 사용자에게 필요한 자원을 제공한다.
인프라관리를 클라우드 제공업체가 담당하여 사용자는 기본 인프라 관리보다는 애플리케이션 및 데이터 관리에 더 집중할 수 있는 장점이있다.

또한 가상화 기술을 사용하여 수많은 컴퓨터를 클라우드 형태로 합친뒤, 분산하여, 웹 애플리케이션 또는 웹사이트를 여러 대의 가상 서버로 분산하여 호스팅한다.
때문에 필요한 자원을 실시간으로 조정할 수 있고(유연성),
여러 곳에 복제하여 사용할 수 있고(가용성),
일정한 비용을 지불하고 필요에 따라 추가지불 후 자원을 확장 또는 축소할 수 있다(확장성).

이러한 장점으로 온프레미스(단순 호스팅)에서 클라우드로 변경하는 추세이다.

클라우드 서비스의 종류

클라우드 업체가 어떤것을 어디까지해주는지는 세가지로 나뉜다.

1. IaaS(인프라)

Infrastructure as a Service, 인프라를 서비스로 제공하는 클라우드 컴퓨팅 모델을 말한다.

인프라(Infrastructure)
인프라는 하드웨어, 네트워크, 저장소, 운영체제 등과 같은 기본적인 컴퓨팅 리소스를 말한다.

IaaS는 단순 호스팅과 비슷하다.
클라우드 서비스 제공업체가 가상화된 컴퓨팅 리소스를 인프라로 제공하고, 사용자는 이를 활용하여 애플리케이션을 개발, 운영하고 관리할 수 있다.

AWS의 EC2가 대표적인 IssS이다.

  • 유연성과 확장성
    필요에 따라 가상 서버, 스토리지 등의 인프라 리소스를 확장하거나 축소할 수 있다.
  • 자율성
    사용자는 인프라 관리에 대한 높은 수준의 제어를 갖고, 운영체제 선택, 네트워크 구성, 보안 설정 등을 직접 관리할 수 있다.
  • 유틸리티 비용
    사용한 인프라 리소스에 대해서만 비용을 지불하므로, 필요한 만큼의 리소스만 사용할 수 있다.

2. PaaS(플랫폼)

Platform as a Service는 개발자가 애플리케이션을 개발, 실행 및 관리하기 위한 플랫폼 환경을 클라우드 상에서 제공하는 클라우드 컴퓨팅 모델을 말한다.
PaaS는 개발 생산성을 향상시키고 애플리케이션의 배포 및 관리를 간소화하는 데 중점을 둔 서비스이다.

IaaS와 달리 인프라 구축과 유지비용을 고려할 필요가 없고 서버관련작업 없이 프로그래밍한 코드만 업로드해서 손쉽게 실행,배포 할 수 있다.

AWS의 Elastic Beanstalk와 Heroku가 있다.

  • 개발 생산성
    PaaS는 개발자가 애플리케이션을 빠르게 개발할 수 있는 도구, 프레임워크, 라이브러리 등을 제공하여 생산성이 향상된다.
  • 확장성
    필요에 따라 애플리케이션의 인스턴스 수를 확장하거나 축소할 수 있다.
  • 배포 및 관리 간소화
    PaaS는 애플리케이션의 배포, 확장, 모니터링, 로깅 등을 자동화하여 개발자가 이에 대한 부담을 덜 수 있다.
  • 다중 테넌시
    PaaS는 여러 개발자나 팀이 동시에 플랫폼을 공유하여 개발할 수 있는 다중 테넌트 환경을 제공합니다.

3. SaaS(소프트웨어)

Software as a Service는 소프트웨어를 인터넷을 통해 제공하는 클라우드 컴퓨팅 모델을 말한다.
SaaS는 소프트웨어 애플리케이션을 클라우드 환경에서 호스팅하고 사용자는 웹 브라우저를 통해 해당 애플리케이션에 접속하여 이용할 수 있다.
별도의 인프라나 개발환경을 만들 필요없이 사용료만 지불하면 만들어진 소프트웨어를 사용할 수 있다.
그래서 Iaas와 PaaS와 달리 초기 비용을 줄일 수 있다.

구글드라이브, 네이버 N클라우드, 드롭박스가 SaaS의 대표적인 예이다.

  • 웹 브라우저를 통한 손쉬운 접근
    사용자는 클라우드 기반의 애플리케이션에 웹 브라우저를 통해 접속하여 애플리케이션을 사용할 수 있어 별도의 소프트웨어 설치나 업데이트가 필요하지 않다.
  • 멀티 테넌시
    다중 테넌트 아키텍처를 통해 여러 사용자 또는 조직이 동시에 애플리케이션을 공유하고 사용할 수 있다.
  • 유지보수와 업그레이드가 쉽다
    SaaS 제공업체는 소프트웨어의 유지보수, 업그레이드, 보안 패치 등을 관리하므로 사용자는 이에 대한 걱정할 필요가 없다.
  • 다양한 이용 모델
    SaaS는 일반적으로 월별 또는 연간 구독 모델로 제공되며, 사용자는 필요한 만큼의 소프트웨어 기능과 용량을 이용하고 비용을 지불합니다.
    하지만 SaaS제공업체가 만들어둔 서비스를 그대로 사용해야해서 불필요한 기능에대한 비용을 지출해야하는 단점이있다.

느낀점

눈에 보이지않으니 데이터가 통신망 어딘가에 저장되어있는 데이터저장소라고 생각했었는데 컴퓨터라는 사실이 나에게는 신선한 충격이였다.

요즘 공고를 보면 AWS를 경험을 많이 요구하는데, 어째서 AWS를 우대사항에 많이 넣었는지 알게되었다.

같이 프로젝트를 하는 프론트분이 면접에서 싸스에대해서 질문받았는데, 나는 css쪽으로 생각하고 질문했었다.
그때 그분이 그싸스가 아니라고 찾아봤지만 못찾았던 기억이있다.
그 싸스가 이 싸쓰구나..부끄럽다..