: 운영 서버는 개발이나 테스트 목적이 아닌 실제 사용자들을 대상으로 서비스하는 서버를 말합니다. 테스트 목적의 서버라면 많은 요청이 발생할 일도 없고 장애가 발생하더라도 큰 문제가 없지만 운영 서버는 이와 다르게 트래픽 대응도 해야하고 요청에 대한 빠른 응답 속도와 가용성을 보장해야 합니다.
: 운영 서버 관리는 크게 '환경 구축', '코드 배포', '모니터링'으로 나뉩니다. 첫 번째 '환경 구성'은 서비스할 코드를 구동시킬 수 있는 서버 인프라를 구축하는 것입니다. 두번째 '코드 배포'는 첫번째 단계에서 구성한 환경에서 최신 버전의 코드를 빠르고 안전하게 배포하는 것입니다.
마지막 단계인 '모니터링'은 안정적인 서비스 운영을 위해 서버와 코드에 이상이 없는지 바로 파악하고 대응할 수 있게 도와주는 것입니다.
: AWS(Amazon Web Service)는 미국 기업인 아마존에서 만든 클라우드 서비스 플랫폼입니다. 아마존이 클라우드 서비스 플랫폼을 만들게된 배경은 2000년도 쯤 인터넷 쇼핑몰을 운영하던 아마존은 늘어난 트래픽과 주문량을 감당하다 보니 자연스럽게 이런 내부 인프라(컴퓨팅, 스토리지, 데이터베이스등 운영 서버에 필요한 인프라)를 구축하게 되었다고 합니다.
이러한 인프라 구축 능력(안정적이고, 규모를 키울 수 있으며, 저렴하게 운영할 수 있는 능력)을 아마존 쇼핑몰 하나에만 제공하기 보다는 전 세계 모든 회사를 대상으로 제공하자는 생각을 하게 되었으며 누구나 쉽게 사용할 수 있게 만들어 다른회사에 돈을 받고 서비스하며 AWS가 탄생하게 되었습니다.
*클라우드 : 광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경을 의미합니다. 클라우드를 이용하면 필요한 컴퓨팅 자원을 인터넷으로 쉽게 이용할 수 있습니다.
-출처 클라우드(Cloud)란? | 클라우드 용어집 | 삼성SDS
: AWS와 같은 클라우드 서비스를 이용하지 않는다면 직접 서버를 구매하고 MySQL과 같은 RDB를 설치및 관리해야 하지만 AWS를 이용하면 AWS의 DB 서비스인 RDS를 이용하면 클릭 몇번으로 RDB를 생성하고 안정적으로 관리할 수 있습니다.
이처럼 AWS에서는 단순한 컴퓨팅 서버만 제공하는 것이 아닌 DB, 배포 자동화, 모니터링, 이메일, 보안, 테스트, 도메인 등 100가지가 넘는 서비스 등을 제공하고 있으며 이 서비스들은 대부분 아마존 내부에서 운영 서버를 편하게 운영하기위해 만들어서 사용하다 어느 정도 완성도가 높아지면 다른 사용자들이 사용가능하게 서비스로 제공한 것들입니다.
: 꼭 AWS가 아니더라도 클라우드 서비스 플랫폼 사용을 권장하는 이유는 예전에는 서버를 직접 구매한 후 회사나 IDC(인터넷 데이터 센터)에 설치해서 관리해야 했으며, 이 서버들을 작동시키고 관리하기 위한 전문 인력들도 필요했습니다. 또한 서버에 설치될 수많은 인프라(DB, 캐시, 보안 등)에 대해서도 전문 인력들이 필요했습니다.
또한 필요에 따라 유연하게 서버를 늘리거나 줄이는것이 힘들어 서버를 넉넉하게 구매해놓고 사용하지 않는등의 자원 낭비도 많았습니다.
하지만 클라우드 서비스를 이용할 경우 필요한 사양의 서버를 몇 번의 클릭만으로 추가하거나 제거 가능하며 비용또한 사용한 시간만큼만 지불하면 됩니다. 그뿐만 아니라 전문 인력또한 클라우드 서비스를 제공하는 업체에 이미 최고 수준에 인력들이 있어 개개인이 안정성이나 성능 등에 대해서도 고민을 덜 할수있습니다. 이러한 적은 비용, 시간, 인력등의 이점들이 있기에 클라우드 서비스 사용이 권장되고 있습니다.
참고 도서
서비스 운영이 쉬워지는 AWS 인프라 구축가이드 (저자 김담형)