AWS란 무엇인가?

AWS (Amazon Web Services)는 전 세계 곳곳에 IDC (Internet Data Center)를 구축하고 그 위에 구축된 다양한 서비스들을 사용자에게 제공하는 CSP (Cloud Service Provider) 입니다. 또 다른 CSP로는 Azure (Microsoft), GCP (Google Cloud Platform), Ncloud (Naver Cloud Platform), OCI (Oracle Cloud Infrastructure) 와 같은 큰 회사들과 더불어 KT Cloud, Gabia Cloud 등과 같은 특정 지역에 특화된 소규모 CSP들도 존재합니다. 전통적인 IDC 회사들도 사전 구축된 서비스들을 제공함으로써 CSP로 변화하고 있는 추세입니다.

사용자 관점에서는 하드웨어 자원에 대해서 전혀 신경 쓸 필요가 없기 때문에 기존의 IDC와 구분하여 추상화된 하드웨어 환경을 Cloud라고 부르고 있습니다. Cloud 공간에서 사용자는 필요할 때 언제든지 서비스를 사용하거나 중단할 수 있기 때문에 하드웨어 구매와 설치, 유지, 보수 비용이 전혀 발생하지 않는다는 장점이 있습니다. 즉, 하드웨어에 대한 책임을 오롯이 CSP가 감당하는 것입니다.


AWS에서는 수백 가지의 서비스를 제공하기 때문에 이들을 조합하여 사용자가 원하는 애플리케이션을 구축하고, 데이터를 처리하며 컨텐츠를 다양한 방법으로 제공할 수 있게 됩니다. 그렇다면 기존에 제공되던 웹 호스팅 서비스와는 어떻게 다른 것일까요?

웹 호스팅 서비스는 말 그대로 웹 서비스를 제공하는 것에 초점을 맞추고 있습니다.

  • 가상 머신을 할당받고 ftp 등을 사용하여 해당 서버에 접속, 콘텐츠를 업로드 함으로써 웹 서비스를 제공하는 방식
  • 사전 정의된 애플리케이션 (node.js, tomcat, wordpress 등) 형태로 콘텐츠를 업로드 함으로써 서버에 대한 접근 없이 곧바로 웹 서비스를 제공하는 방식
  • 정적 콘텐츠를 더 빠르고 값싸게 제공하기 위한 CDN (Content Delivery Network) 서비스

반면에 AWS는 위의 웹 호스팅에 관련된 서비스들을 포함할 뿐만 아니라 필요에 따라서 사용자가 더 많은 부분을 컨트롤 하거나 덜 컨트롤 할 수 있도록 다양한 서비스를 제공하고 있습니다.

  • IaaS (Infrastructure as a Service) : 하드웨어를 서비스로써 제공하는 단계로 간단하게는 가상 머신을 사용하여 직접 내부 설정, 네트워크 연동 등과 같이 하드웨어에 대한 관리를 CSP가 담당하는 서비스를 의미합니다.
  • PaaS (Platform as a Service) : 하드웨어 뿐만 아니라 서비스 구축에 대한 부분까지 CSP가 담당함으로써 사용자는 일부 설정과 연결만을 통해서 더 많은 부분을 CSP에 위임하는 서비스를 의미합니다. IaaS에서 가상 머신을 이용하여 특정 애플리케이션을 설치하는 과정이 사라지게 됩니다.
  • SaaS (Software as a Service) : 서비스 구축 뿐만 아니라 서비스를 사용하면서 발생하는 관리 요소들까지도 CSP가 담당하여 사용자는 정말로 연결해서 사용만 하면 되는 단계입니다.
AWS는 다양한 영역에 걸쳐서 수백 가지의 서비스를 제공합니다.

예를 들어서 mysql 데이터베이스를 사용해야 한다고 가정해 보겠습니다.

  • IaaS : AWS의 EC2 서비스를 통해서 내부에서 mysql을 직접 설치하여 사용
  • PaaS : AWS의 RDS 서비스를 통해서 서버 크기와 설정 정보를 제공하고 사용
  • SaaS : AWS의 Aurora RDS 서비스를 통해서 Serverless mysql을 사용

이처럼 책임 범위에 따라서 다양한 서비스를 사용할 수 있습니다. 물론 책임 범위가 CSP로 많이 넘어갈 수록 그에 따른 비용은 증가하고, 사용자가 컨트롤할 수 있는 영역이 적어짐에 따라서 다른 서비스와의 연동이 제약된다거나 하는 문제가 발생할 수 있습니다.


너무 많은 서비스를 제공하다 보니, 오히려 사용자 입장에서는 어떤 서비스를 사용해야 하고 서비스를 구축하면서도 뭘 해야하는지 모르는 경우가 상당히 많습니다. 심지어 현직에 있는 IT 개발자들 대부분도 같은 상황입니다. 그렇기 때문에 AWS 서비스를 공부하고 잘 아는 AWS Solutions Architect들을 통해서 AWS 서비스를 잘 이해하고 애플리케이션을 구축해나가는 과정이 몹시 중요합니다. 이러한 자격을 검증하기 위한 자격증 제도도 운영되고 있습니다.

물론, 자격증이 없더라도 이미 AWS 서비스에 대한 문서는 굉장히 많이 존재하고 있습니다. 서비스에 대한 개요부터 차근차근 학습하시면 필요한 서비스에 대한 대부분의 정보를 습득할 수 있으니 이를 참고하시기 바랍니다.

Leave a Reply

Your email address will not be published. Required fields are marked *