3/14 데브옵스 AWS (Cloud Computing)

클라우드 등장 이전에는 흔히 말하는 전산실 등에 컴퓨터를 배치하고 인터넷을 연결하여 서비스를 제공했습니다.

그런데 만약 서버가 요청에 대한 수용 능력이 한계에 도달한다면 어떻게 대처할까요?

같은 공간에 더 많은 컴퓨터를 제공하여 한 대가 해결할 수 있는 요청을 여러 대가 나누는 방식을 사용할 수 있습니다.

혹은 컴퓨터 한 대의 성능을 높이는 방식을 사용할 수도 있습니다.

하지만 이런 방식은 몇 가지 문제점들을 가지고 있었습니다.


기존 방식의 한계

첫째. 주기적인 관리가 필요합니다. 흔히 말하는 서버실에는 종종 고장이 나거나 인터넷과 연결이 되지 않는 컴퓨터가 생기기도 합니다. 이런 상황이 발생한다면 이를 해결하기 위한 인력 및 비용이 투입되어야 했습니다. 그러나 점차 관리해야 하는 컴퓨터 및 다른 전자기기의 수가 많아지는 만큼 투입되어야 하는 인력 및 비용도 증가하기 시작했습니다.

둘째. 공간의 한계가 있습니다. 예전의 방식은 서버실이라는 공간에 컴퓨터를 배치해 두고 필요할 때마다 추가적인 컴퓨터를 추가하는 방식으로 수용 능력을 향상해 왔습니다. 하지만 이런 방식은 공간이 부족하여 컴퓨터를 더는 배치할 수 없는 문제에 직면하게 됩니다. 이런 상황에서 서버의 컴퓨팅 능력을 늘리려는 방법은 컴퓨터의 성능을 높이고 부피를 줄여 좀 더 많은 컴퓨터를 같은 공간에 배치하는 방법이었습니다. 이런 상황에서 추가적인 서버 증설이 어렵게 되자 일부 거대 기업은 데이터 센터라는 거대한 건물을 세우기 시작했습니다. 이때부터 데이터 센터의 유휴 자원을 대여하는 서비스가 등장하기 시작했습니다. 즉 서버의 자원과 공간, 및 네트워크 환경을 제공을 빌려 사용하는 클라우드 컴퓨팅이 시작된 순간입니다.


Cloud

데이터 센터에서는 서버의 자원과 공간, 및 네트워크 환경을 제공합니다. (이러한 환경을 "온프레미스"라고 부릅니다) 현대의 클라우드 컴퓨팅은 앞서 설명한 데이터 센터와 비슷한 역할을 하지만, 물리적인 컴퓨터가 아닌, 가상 컴퓨터를 대여한다는 점이 다릅니다. 이는 가상화(Virtualization) 기술의 발전으로부터 비롯되었습니다.

따라서, 최근의 가상화 기술을 사용하는 클라우드 서비스는 기존의 온프레미스 형식과는 달리 다음과 같은 장점이 있습니다.

1. 필요할 때마다 컴퓨팅 능력을 유연하게 조절할 수 있습니다.

2. 고정적인 비용이 들어가는 온프레미스와는 달리 사용한 만큼의 요금만 지불하면 됩니다.

3. 컴퓨터의 스냅샷("이미지"라고 부릅니다) 을 이용다른 컴퓨터로 즉시 이주(migration)가 가능합니다


클라우드 환경에도 단점이 존재합니다.

간혹 뉴스 등을 통해 아마존 웹 서비스의 장애로 특정 서비스의 서버가 지연되었다는 기사를 보셨을 겁니다.

이처럼 운영 환경 자체가 클라우드 제공자에게 종속되어 버리므로, 클라우드 서비스에 문제가 생기면 내가 배포하고 관리하는 환경에도 영향이 미칩니다.

운영환경이 특정 클라우드 사업자(vendor)에게 종속된다는 얘기는, 백엔드 구성 자체가 특정 회사의 기술로만 구성해야만 하는 경우가 발생할 수도 있다는 이야기입니다.

AWS와 같은 대표적인 클라우드 사업자가 제공하는 기술을 익히는 것도 중요하지만, 그만큼 이 인프라 자체에 대한 이해가 더욱 중요합니다.


이런 클라우드는 모든 것을 서비스화하는 것을 목표로 합니다.

대표적인 클라우드 서비스의 형태는 SaaS, IaaS, PaaS 세 가지입니다. SaaS는 Software as a Service의 약자입니다.

클라우드 제공자가 당장 사용 가능한 소프트웨어를 제공하는 경우 대부분 SaaS에 해당합니다.

PaaS는 Platform as a Service의 약자입니다. 클라우드 제공자가 데이터베이스, 개발 플랫폼까지 제공하는 경우 대부분 PaaS에 해당합니다.

IaaS는 Infrastructure as a Service의 약자입니다. 클라우드 제공자가 가상 컴퓨터까지 제공하는 경우 대부분 IaaS에 해당합니다.


 

예를 들어 여러분이 피자라는 서비스를 제공해 준다고 생각해 봅시다.

서비스의 범위는 여러분이 어떤 식으로 피자를 제공해 주는지에 따라 달려있습니다.

레스토랑과 같이 모든 테이블과 탄산음료 등의 서비스를 전부 제공해 줄 수도 있고, 처음부터 끝까지 내가 모든 피자 조리와 재료, 심지어 서빙까지 스스로 해야 할 수도 있을 것입니다.

클라우드 제공자로부터 얼마만큼의 서비스를 제공받느냐에 따라서, 이러한 서비스의 형태가 구분됩니다.

질문: 여러분이 사용하고 있는 서비스가 어떤 형태에 포함되나요?

AWS는 IaaS에 가깝습니다. GitHub는 어떨까요? Google Drive와 같은 서비스는 어떤 형태로 볼 수 있을까요?

 

JUNE .

20'S LIFE IN SYDNEY and BUSAN

    이미지 맵

    DevOps Bootcamp/Daily Review 다른 글

    이전 글

    다음 글