앞으로 AWS의 다양한 기능들을 살펴볼 예정입니다. 그전에 AWS가 무엇인지 전반적인 소개를 해 보려고 합니다.
AWS란
Amazon Web Services
AWS는 회사 아마존에서 제공하고 있는 클라우드 컴퓨팅 서비스입니다. 즉, 전 세계적으로 분포한 다른 웹 사이트나 클라이언트 측 응용 프로그램에 대해 온라인 서비스를 제공하는 서비스라고 할 수 있습니다.
이러한 구조를 Client-Server model 이라고 합니다. AWS에서 Client-Server라 함은, 다음과 같습니다.
- Client: 서버에 요청을 보내는 웹 브라우저나 데스크톱 애플리케이션 등
- Server: AWS의 가상 서버인 EC2와 같은 서비스
AWS에 대해서 본격적으로 들어가기 전에 클라우드 컴퓨팅 서비스의 클라우드가 무엇인지 알아보겠습니다.
Cloud
클라우드란, IT 자원(리소스)을 인터넷을 통해 on-demand로 제공하며, 사용한 만큼만 비용을 요구하는 컴퓨팅 서비스입니다.
위 정의를 하나씩 살펴보겠습니다.
먼저, On-demand로 제공한다는 말은, AWS와 같은 클라우드 컴퓨팅 서비스가 사용자에게 필요한 리소스를 필요한 순간에 전달할 수 있다는 것을 뜻합니다.
여기서의 IT 리소스란, 기업 전체에 공통적이고 대부분의 경우 반복되면서 무엇보다 시간이 오래 걸리는 IT 관련 작업들입니다. 이러한 리소스를 클라우드가 제공해 줌으로써 기업들은 다른 핵심 기능 개발에 더 집중을 할 수 있게 되는 것이죠.
마지막으로, 인터넷을 통한다는 말은, 안전한 웹 페이지 콘솔을 이용하거나 프로그래밍 방식으로 리소스에 접근할 수 있다는 것을 의미합니다.
Cloud에는 크게 3가지의 배포 모델이 있습니다. 각 모델들의 특징이 무엇인지 잘 숙지하여서, 클라우드 서비스를 이용할 때 현재 개발하고자 하는 애플리케이션의 구성 요소나 선호하는 리소스 관리 도구 및 레거시 IT 인프라 요구 사항과 같은 요소를 따져보았을 때 적절한 모델을 선택할 수 있어야 합니다.
Cloud Computing 배포 모델
- 클라우드 기반 배포
이 모델을 사용하면 애플리케이션의 모든 부분을 클라우드에서 실행하게 됩니다.
즉, 기존에 애플리케이션이 있었다면 그 애플리케이션을 클라우드로 마이그레이션하고, 만약 새 애플리케이션을 개발한다면 클라우드에서 새 애플리케이션을 설계하고 빌드합니다. 이를 통해 완전히 클라우드에 기반한 가상 서버, 데이터베이스, 네트워킹 구성 요소로 구성된 애플리케이션을 개발할 수 있습니다.
2. 온프레미스 배포 (프라이빗 클라우드 배포)
온프레미스 배포는 클라우드 서비스와 정반대의 개념입니다. IT 서비스를 운영하는 기업이 자체적으로 IT 인프라를 구축하여 IT 서비스를 운영하는 방식입니다. 즉, 애플리케이션에 필요한 기술의 모든 요소가 온프레미스 데이터 센터 및 서버실과 같은 환경에 저장되는 경우입니다.
3. 하이브리드
1번 모델과 같이 클라우드 기반으로 애플리케이션을 배포하면, 서비스에서 제공되는 옵션을 이용하여 시스템 스케일을 실시간으로 수정하여 사용할 수 있어 비용적인 측면에서 매우 뛰어납니다. 또한 시스템의 유지 보수 측면에서도 온프레미스보다 뛰어나다고 할 수 있습니다. 온프레미스는 인프라를 직접 운영하고 관리하기 때문에 점점 복잡해지는 환경에서 유지보수가 까다로운데, 클라우드 시스템을 이용하면 항상 인프라 전문가들이 문제를 항시 해결하여 주고, 어떤 이슈가 발생해도 빠른 시간 내에 서버를 증설할 수 있어 유지보수가 용이하기 때문이죠.
하지만 무조건 클라우드 기반 애플리케이션을 개발하는 것이 좋은 것만은 아닙니다. 예를 들어, 온프레미스에서 더 잘 유지관리되는 레거시 애플리케이션이 있거나, 정부 규정에 따라 비즈니스에서 특정 레코드를 온프레미스에 보관해야 하는 경우 등이 있을 수도 있습니다. 이런 경우들을 고려하여 3번째 모델인 하이브리드 모델이 탄생하였습니다.
즉, 하이브리드 모델은 1번 모델과 2번 모델을 혼합하여 사용하는 경우입니다. 클라우드 기반 리소스를 온프레미스 인프라에 연결하여 통합하는 것인데, 하이브리드 배포를 통해 레거시 애플리케이션을 온프레미스로 유지하면서 클라우드에서 실행되는 데이터 및 서비스의 이점을 활용할 수 있습니다.
클라우드에 대해서 아주 아주 간단하게 살펴보았습니다. 이제부터 AWS에 관한 다양한 기능들을 알아보며 더 자세히 AWS에 대해서 공부해 보겠습니다.