본문 바로가기

AWS/AWS 기본

AWS란? (feat. Cloud의 종류, 컴퓨팅 서비스 종류)

AWS란?


가볍게 가볍게 시작해보겠습니다 ㅎㅎ

AWS는 뭘까요? Amazon Web Service의 줄임말로 미국의 amazon이라는 회사에서 제공하는 Web Service 입니다.


도대체 어떤 Web Service를 제공하는건데? 라고 생각하실 수 있는데요.

AWS에서는 기본적으로 Public Cloud를 제공합니다. 컴퓨팅의 유형으로 보면 IaaS에 속합니다.


IaaS? Public Cloud? 또 새로운 용어가 등장했네요. 하나하나 보도록 하겠습니다.


IaaS는 컴퓨팅 서비스 유형중 하나입니다.

크게 IaaS, PaaS, SaaS 총 세가지가 있는데요. AWS에서는 간단하게 설명을 잘 해줬습니다.(https://aws.amazon.com/ko/types-of-cloud-computing/)

아래의 사전적 정의는 위키백과에서 가져왔습니다.


IaaS - Infrastructure as a Service(https://ko.wikipedia.org/wiki/IaaS)

서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태이다. IaaS의 예는 다음과 같다. IaaS의 환경이 가상화 일 필요는 없다. 예를 들면 IBM의 베어메탈 클라우드가 그 예이다. 대표적인 기술로는 서버 가상화, 데스크톱 가상화 등이다.


PaaS - Platform as a Service(https://ko.wikipedia.org/wiki/PaaS)

클라우드 컴퓨팅 서비스의 분류의 하나로서, 일반적으로 앱의 개발 및 시작과 관련된 인프라를 만들고 유지보수하는 복잡함 없이 고객이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공한다. SaaS의 개념을 개발 플랫폼에도 확장한 방식으로, 개발을 위한 플랫폼 구축을 할 필요 없이 필요한 개발 요소들을 웹에서 쉽게 빌려쓸 수 있게 하는 모델이다.


구글이나 네이버, 다음 등에서 제공하는 공개 API들이 PaaS의 일종이며, 구글의 '앱 엔진'이나 Bungee Labs 의 '번지커넥트' 등은 직접 온라인 서비스를 개발에서 배포, 관리 까지 가능한 플랫폼을 제공하고 있다.


SaaS - Software as a Service(https://ko.wikipedia.org/wiki/SaaS)

"on-demand software"로도 불리며, 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델이다.


여기까지가 사전적 의미라면 좀 더 풀어서 생각을 해보겠습니다.

클라우드 서비스 모델 비교 <자료: Microsoft, 교보증권 리서치센터>


그림을 가지고 보면 좀 더 쉽습니다.

IDC에서 network을 구축하고 Server를 사고 Storage를 사서 끼우고 그 위에 가상화 또는 OS를 설치한 뒤에 Application을 설치해서 운영하는것이 전통적인 IT입니다.

하지만 여기서 인력을 가지고 보면 너무 많은 인력들이 필요합니다.

Network Engineer, System Engineer, Developer, Database Administrator. 종류별로 각각의 전문가들이 필요합니다.

비니지스를 하기 위해서는 인력에 대한 리소스가 너무 많이 든다는 것이죠. 그럼 사업자의 입장에서는 어느정도 단계까지 누군가 대신 해준다면 편하겠죠?

그래서 이러한 개념들이 나오지 않았을까 생각해봤습니다.


IaaS를 생각해보겠습니다. IaaS는 대표적으로 Amazon에서 제공하는 AWS, Microsoft에서 제공하는 Azure 등 Public Cloud들이 있습니다.

그림을 보면 IaaS는 서버 가상화까지 모두 시켜줍니다. 실제로 AWS는 IDC에 서버를 두고 거기 안에서 가상화 엔진인 Xen을 쓰고 있습니다.

System Engineer와 Network Engineer의 역할을 Cloud 업체들이 해주고 있는 것입니다. IDC를 따로 운영할 필요가 없어지죠. 

대신 물리적인 Server에 문제가 생겼을때 IDC로 가서 바로 확인할 수 없고, 업체를 통해서 확인해야합니다. 그래서 언제든지 Server가 죽을 수 있다는 것을 염두해야합니다.

또한 IaaS의 장점은 빠르게 서버를 투입할 수 있다는 것입니다. 기존 IDC에서는 서버를 사고 들여오고 상면에 꽂고 OS를 설치하는 과정이 너무 오래걸렸습니다.

하지만 가상화 되어 있는 엔진을 올리는 것은 클릭클릭 몇번만으로 가능합니다. 속도와 안정성. 그리고 비용. 어떤 것에 중점을 두느냐에 따라 선택을 할 수 있을 것이라 생각됩니다.

요즘 추세로는 안정성보단 속도와 인적비용절감에 중점을 두고 있다는 생각이 드네요. DBA로썬 음.. 좋다고 보긴 힘들구요 ㅎㅎ 변화에 맞춰가야죠.


이번엔 Cloud의 종류에 대해 간단히 볼까요?

Cloud의 종류도 Public, Private, Hybrid. 세가지로 볼 수 있습니다.


Public Cloud는 말그대로 리소스를 할당받아서 원하는 만큼 클라우드에서 서비스를 운영하는 것을 말합니다. 클라우드 서비스를 해주는 업체가 있다는 것이죠. 누구나 쓸 수 있는 클라우드 서비스. AWS가 여기에 속합니다.


Private Cloud는 자체적으로 IDC에 구축을 한 다음 가상화를 시켜서 클라우드 서비스를 하는 것을 말합니다. 자신의 서비스를 자신이 운영하는 것이기 때문에 종속성을 가지지 않지만 인적자원이 많이 드는 것이 단점이 되겠죠.


Hybrid Cloud는 Public과 Private Cloud 두가지를 섞어서 쓰는건데요. 요새는 Hybrid 방식을 많이 쓰고 있는 것 같습니다. 웹 서비스 등과 같이 비교적 중요하지 않은 것을 Public에 두고 중요한 정보를 가지고 있는 것들을 Private 에 놓는 등 여러가지 방식을 쓸 수 있습니다. 하지만 이럴때 가장 큰 문제는 뭘까요? 제 개인적인 생각으론 Network 비용이 가장 클 것 같네요. Traffic에 대한 비용보단 서로 다른 network들끼리 통신하기 때문에 통신에 대한 비용이 많이 나올 것이라 생각됩니다. latency가 클때 문제가 되는 서비스들은 이 문제점을 어떻게 해결할지 고민을 많이 해봐야 한다고 생각합니다.



어쩌다보니 AWS에 대한 설명보단 컴퓨팅 서비스와 Cloud 종류에 대해 말을 한 것 같은데요.

AWS가 나온 이유를 보기 위해선 이 두가지가 중요하다고 생각했습니다. 기업의 흐름이 자국내의 시장보단 글로벌하게 확장성을 가져가는데, 전통적인 IT에서는 한계가 분명히 있으니까요. 하지만.. 장애나 여러가지 측면을 보다보면 엔지니어로서 AWS가 썩 반가운 것은 아닙니다. 일자리의 문제보단 문제가 너무 많아서.. 근데 원인은 정확하게 파악하기 힘듭니다..ㅠ AWS의 장점을 알지만 AWS의 단점도 분명히 보이는.. 그 사이에서 어떻게 해야할지는 각자가 선택해야할 길이라고 생각합니다ㅎㅎ


다음에는 AWS에서 제공하는 서비스들을 좀 더 디테일하게 다루어 보겠습니다.


'AWS > AWS 기본' 카테고리의 다른 글

AWS 카테고리 열기.  (0) 2017.06.25