1. 서버란?
흔히 “서버에 배포한다”, “서버에 올린다”, “서버가 터졌다” 이런 말들을 많이 들어봤을 것입니다.
서버는 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템으로 컴퓨터 프로그램 또는 장치를 의미한다
서버는 "무언가를 제공해주는 컴퓨터"를 의미합니다. 이는 정보나 서비스를 다른 컴퓨터나 디바이스에 제공하거나 저장하고 관리하는 역할을 합니다. IT 분야에서 서버는 웹사이트, 애플리케이션, 데이터, 서비스 등을 제공하는 중요한 역할을 합니다.
우리는 흔히 인터넷으로 특정한 웹사이트나, 리소스에 접근합니다. 하지만 정확히 말하자면 우리가 접근하는 대상은 웹사이트, 리소스 자체가 아니라 해당 웹사이트와 리소스를 응답해주는 컴퓨터에 접속하는 것입니다.
- 서비스 운영 : 서비스를 제공하기 위해 특정한 컴퓨터를 가동합니다.
- 프로그램 실행 : 이 컴퓨터에서 특정 프로그램을 실행하여 원하는 작업을 수행합니다.
- 네트워크 응답 : 컴퓨터는 네트워크를 통해 접근 요청을 받아들이고, 해당 요청에 따라 특정한 리소스를 제공해줍니다.
이렇게 설정된 컴퓨터가 바로 '서버'입니다. 서버는 인터넷을 통해서 이 컴퓨터를 외부에서 접근 가능하도록 설정되어 있습니다.
서버는 물리적인 실체가 있는 컴퓨터로, CPU, GPU, RAM 등의 하드웨어 구성 요소를 가지고 있습니다. 이러한 하드웨어는 각기 다른 사양을 가지며, 서버의 처리 능력을 결정합니다. “서버가 터졌다"라는 표현은 주로 서버가 처리 가능한 요청의 수를 초과하는 경우에 사용됩니다.
예를 들어 CPU가 동시에 처리할 수 있는 요청이 10개인데 20개의 요청이 들어오면, 10개의 요청은 대기 상태가 됩니다. 만약 이 대기 상태에서 추가적으로 더 많은 요청이 계속해서 들어온다면 대기 큐가 증가하게 되고, 이는 서비스 지연을 초래하게 됩니다. 우리가 흔히 티켓팅에서 볼수있는 당신의 대기번호는 ..번입니다가 여기서 뜨게 되는것입니다. 대기 큐 자체도 일정 용량을 가지고 있으며, 이 용량까지 넘치게 되면 서버는 응답하지 못하게 됩니다. 심각한 경우에는 실행 중이던 프로그램이 의도치 않게 종료되거나 인터넷 접근 자체가 불능해질 수 있습니다. 이런 상황들을 통틀어 "서버가 터졌다"라고 표현합니다.
요약하면,
- 컴퓨터가 제대로 모든 계산들을 처리해내지 못하는 상황
- 서버 컴퓨터에서 실행중이던 프로그램이 의도치 않게 종료되어서 더이상 운영이 안되는 상황
- 인터넷을 통해서 서버 컴퓨터에 접근을 할 수 없는 상황등을 의미합니다.
2. 서버를 운영하는 두가지 방법
서버가 터진다는건 사용자가 많을때 터진다는 이야기인데 여기서 1초,2초만 터져도 그만 큼의 중요한 결제건을 놓치게 되고 회사에 막심한 손해를 끼치게 됩니다. 이러한 서버 컴퓨터를 안정적으로 운영하기 위해서는 어떻게 해야할까요?
서버 컴퓨터를 운영하는 방법은 크게 두가지로 나뉩니다.
- 기존의 전통적인 서버 운영 방식인 온 프레미스방식
- 현재 개발 업계에서 주류를 차지한 클라우드 컴퓨팅방식
🔅 온 프레미스(On-Premise)
온 프레미스는 서버를 운영하는측에서 서버에 필요한 물리적인 공간, 컴퓨터, 제반 시설등을 직접 구축해서 활용하는 방식을 의미합니다. 온 프레미스 방식은 직접 물리적인 서버를 구축하고 관리할 수 있는 전문 인력이 하드웨어를 구입해서 서버실을 구성하고 설계합니다.
온 프레미스 방식은 서버를 운영하는 가장 기본적인 방식이지만 서버에 필요한 하드웨어를 직접 구매해서 사용하므로 추후 필요한 하드웨어 사양이 변경되었을 경우 그에 맞춰서 하드웨어를 다시 판매 및 구축하기 어렵다는 점, 컴퓨터를 제외하고도 서버에 필요한 물리적인 제반 시설을 모두 갖추고 문제가 생기진 않는지 모니터링을 해야한다는 점 등 급변하는 소프트웨어에 맞춰서 유지보수하기가 어렵다는 단점으로 인해 많은 기업들이 현재는 온 프레미스 방식을 벗어나서 클라우드 컴퓨팅 기반의 환경으로 변경하고 있습니다. 다만 서버를 물리적인 부분까지 온전히 통제할 수 있다는 장점으로 인해서 보안이 중요한 환경에서는 여전히 온 프레미스 방식을 활용하기도 합니다.
온 프레미스(On-Premises) 방식은 서버를 운영하는측에서 서버에 필요한 물리적인 공간, 컴퓨터, 제반 시설등을 직접 구축해서 활용하는 방식입니다. 이 방식은 서버 운영을 위한 모든 요소를 직접 소유하고 관리하며, 서버실을 구성하고 하드웨어를 구매하여 직접 설치합니다.
- 온 프레미스 방식의 장점
- 보안과 데이터 소유권을 완전히 통제할 수 있습니다.
- 민감한 데이터 또는 규제 준수가 필요한 경우에 적합합니다.
- 하드웨어를 직접 소유하므로 장기적으로 경제적일 수 있습니다.
- 온 프레미스 방식의 단점
- 하드웨어를 변경하거나 업그레이드하기 어렵고 비용이 높을 수 있습니다.
- 유지보수와 모니터링에 높은 인력과 시간이 필요합니다.
- 빠르게 변화하는 IT 환경에 대응하기 어려울 수 있습니다.
이러한 단점 때문에 많은 기업이 클라우드 컴퓨팅으로 이동하고 있으며, 클라우드의 유연성과 확장성을 활용하여 비용을 절감하고 더 효율적으로 IT 리소스를 관리하는 경향이 있습니다. 그러나 보안이 중요한 환경에서는 여전히 온 프레미스 방식을 선택하는 경우가 있습니다.
클라우드 컴퓨팅(Cloud Computing)
클라우드 컴퓨팅은 컴퓨터를 인터넷을 이용한 클라우드 서비스를 통해서 사용하는 것을 의미합니다. 이 방식은 물리적인 서버를 직접 구매하거나 관리하지 않고, 클라우드 서비스 제공 업체로부터 필요한 리소스를 렌탈(대여)하여 사용합니다. 클라우드 서비스 제공 업체는 전세계적으로 분산된 데이터 센터와 서버 인프라를 보유하며, 이를 기반으로 가상화 기술을 사용하여 사용자에게 필요한 컴퓨팅 환경을 제공합니다. 이로써 사용자는 자신의 요구에 따라 가상 서버를 생성하고 관리할 수 있습니다.
- 클라우드 컴퓨팅의 주요 이점
- 비용 효율성 : 필요한 리소스만을 사용하고, 필요한 시간만큼만 대여하기 때문에 비용을 절감할 수 있습니다.
- 확장성 : 서비스가 성장할 때 쉽게 리소스를 확장하고 축소할 수 있습니다.
- 안정성 및 가용성 : 클라우드 제공 업체는 데이터 센터 및 보안 조치에 대한 전문 지식을 보유하므로 안정성이 높습니다.
- 관리 편의성 : 물리적 하드웨어 관리에 대한 부담이 없으며, 클릭 몇 번으로 리소스를 확장하거나 축소할 수 있어 관리가 용이합니다.
클라우드 컴퓨팅은 현대 비즈니스 및 IT 환경에서 매우 중요한 역할을 하며, 기업들은 이를 통해 민첩하게 리소스를 활용하고 경쟁력을 유지하는 데 도움을 받고 있습니다.
'원티드 프리온보딩' 카테고리의 다른 글
[원티드 프리온보딩] AWS와 S3서비스를 통해서 배포 과정 (0) | 2023.08.28 |
---|---|
[원티드 프리온보딩] 클라우드 컴퓨팅의 구분 (0) | 2023.08.27 |
[원티드 프리온보딩] husky로 git hook 관리 (0) | 2023.08.22 |