아마존 닷컴에서 개발한 클라우드 컴퓨팅 플랫폼이다.
네트워킹을 기반으로 가상 컴퓨터, 스토리지, 네트워크 인프라 등 다양한 서비스를 제공하고 있다.
: 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 것
-> 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술
클라우드 서비스의 종류는 기존의 전통적인 관리 영역에서 사용자에게 얼마만큼의 서비스를 제공하는지에 따라 나뉜다.
IaaS는 고객에게 서버, 네트워크, OS, 스토리지를 가상화하여 제공하고 관리한다.
IaaS의 고객들은 서버와 스토리지를 접근할 수 있지만 사실상 클라우드에 있는 가상 데이터 센터를 통해 리소스를 전달받는 형태이다. IaaS는 기존의 데이터센터에서 제공받던 물리적인 자산을 완벽하게 가상화하여 제공하기 때문에 서버 사양의 변경 등 물리적 자산의 수정이 필요한 경우 기존의 방식에 비해 훨씬 빠른 대응이 가능하다.
IaaS는 단순히 서버 등의 자원을 제공해주면서 사용자가 디바이스에 제약없이 데이터에 접근할 수 있도록 해준다.
대표적인 IasS의 예로 AWS-EC2, VM웨어 등이있다.
PasS는 고객에게 OS, 미들웨어, 런타임과 같은 소프트웨어 작성을 위한 플랫폼을 가상화하여 제공하고 관리한다. 이 가상화된 플랫폼은 웹을 통해 제공되며 응용 프로그램 개발자는 운영체제, 소프트에어 업데이트, 저장소 또는 인프라에 관리없이 하는 비용이나 복잡성없이 소프트웨어 개발에 집중할 수 있다.
PaaS를 사용하면 기업에서는 특수 소프트웨어 구성 요소를 사용하여 PaaS에 내장된 응용 프로스램을 설계하고 만들 수 있다. 이러한 응용 프로그램 또는 미들웨어는 특정 클라우드 특성을 채택할 때 확장 가능하고 가용성이 높다.
단, PasS는 특정 플랫폼 서비스에 종속될 수 있다는 단점이 있다.
대표적인 PasS의 예로 구글-APP엔진, Heroku, AWS- CodeDeploy, amplify,ECS 등이 있다.
SaaS는 고객을 대신하여 소프트웨어와 데이터를 제공하고 관리한다. 패키지 또는 On-premise 방식인 기존의 소프트웨어 전달 방식과 다르게 SaaS는 개별 컴퓨터에 응용 프로그램을 다운로드하고 설치할 필요가 없다. SaaS를 통해 서비스를 공급하는 업체는 데이터, 미들웨어, 서버 및 스토리지와 같은 모든 잠재적인 기술적 문제를 관리하기 때문에 고객은 유지 보수 및 자원을 간소화하면서 비즈니스에 집중할 수 있다.
다른 목표를 충족하기 위해 비즈니스가 하드웨어/소프트웨어 및 인력에 드는 IT 운용 비용을 재할당할 수 있게 한다. 게다가 중앙 관리되는 애플리케이션들을 통해 사용자가 새로운 소프트웨어를 설치하지 않고도 업데이트를 출시할 수 있다.
SaaS의 단점은 사용자 데이터를 클라우드 제공자의 서버에 저장하는 점에서 비롯된다. 그 결과 데이터에 대해 인증되지 않은 접근이 있을 가능성이 있다.
대표적인 SasS의 예로 네이버-네이버 클라우드, 드롭박스, 구글-구글 문서 등이 있다.
서버리스 컴퓨팅은 클라우드 컴퓨팅 코드 실행 모델의 하나로, 클라우드 제공자가 서비스 요청의 필요에 따라 가상 머신을 시작하고 중단하는 일을 온전히 관리하며 시간 당, 가상 머신 당 개념이 아닌 요청 충족에 필요한 자원의 추상적인 측정에 의해 과금된다. "서버리스 컴퓨팅"이라는 이름에도 불구하고 실제로 서버 없는 코드의 실행은 수반되지 않는다. 서버리스 컴퓨팅이라는 이름이 붙여진 이유는 시스템을 소유하는 사업체나 사람이 백엔드 코드를 실행하기 위해 서버나 가상 머신을 구매, 임대, 예비할 필요가 없기 때문이다.
서버리스 컴퓨팅에는 두 가지 주요 방법은 있다.
대표적인 서버리스 컴퓨팅의 예로 AWS-lamda 등이 있다.
참고로 이러한 클라우드 컴퓨팅을 지원해주는 플랫폼은 대표적으로 3사가 있다.
AWS에서는 위와 같은 클라우드 컴퓨팅들을 모두 지원하고, 사용자에게 알맞는 컴퓨팅 서비스를 사용할 수 있도록 제공하고 있다.
: 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스
: 애플리케이션 가용성을 유지하는데 도움을 준다. 사용자가 정의한 조건에 따라 자동적으로 EC2 용량을 급격하게 확장 또는 축소할 수 있다. 서비스의 수요가 급증할 때는 인스턴스 수를 자동으로 늘려 성능을 유지하고, 잠잠해지면 용량을 줄여 비용을 절감 할 수 있다.
Run code without thinking about servers. Pay for only the compute time you consume.
AWS Lambda를 사용하면 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있다. 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되지 않는다.
Lambda에서는 사실상 모든 유형의 애플리케이션이나 백엔드 서비스에 대한 코드를 별도의 관리 없이 실행할 수 있다.
: 사용자가 정의하는 가상의 네트워크
VPC를 통해 인스턴스가 속하는 네트워크를 구분하여 각 네트워크에 맞는 설정 부여 가능
:확장성,데이터 가용성 및 보안과 성능을 제공하는 객체 스토리지 서비스.
즉, 파일 서버의 역할을 한다.
: EC2 instance 에 직접 붙혀서 사용하는 볼륨형 스토리지. (일종의 하드디스크)
Root EBS볼륨은 OS가 포함되어 있기 때문에 각 OS 마다 최소 용량이 정해져 있다.
: 관리형 관계형 데이터베이스 서비스로서, 고객이 선택할 수 있도록 Amazon Aurora, MySQL, MariaDB, Oracle, Microsoft SQL Server, PostgreSQL과 같은 6개의 익숙한 데이터베이스 엔진 제공
: 규모와 관계없이 10밀리초 미만의 지연 시간이 일관되게 요구되는 모든 애플리케이션을 위한 빠르고 유연한 NoSQL 데이터베이스 서비스
: PostgreSQL 기반 속도가 빠른 완전관리형 데이터 웨어하우스.
: MySQL 및 PostgreSQL 호환 관계형 데이터베이스 엔진
MySQL보다 5배 뛰어난 성능과 상용 데이터베이스의 보안성, 가용성 및 안정성을 1/10의 비용으로 제공. (비용은 RDS보다 약 20% 비쌈)
성능 향상
짧은 복제 지연
향상된 스토리지
스토리지 보안 강화
: AWS 클라우드 리소스와 AWS에서 실행되는 애플리케이션을 위한 모니터링 서비스
지표를 수집 및 추적하고, 로그 파일을 수집 및 모니터링하며, 경보를 설정하고, AWS 리소스 변경에 자동으로 대응 가능
: 실시간 스트리밍 데이터를 손쉽게 수집, 처리 및 분석
비디오/데이터 스트림 캡처,처리 및 저장
-> 데이터 스트림을 AWS 데이터 스토어로 로드
-> SQL로 데이터 스트림 분석
예시 : 앰버 경고 시스템
여기까지 오면 아키텍처를 조금이나마 읽을 수 있게 되었다. 아래 예시를 살펴보자!
AWS는 생각하는 것 이상으로 많은 서비스들을 제공하고 있다. 여러가지 서비스에 대해 알아보면서 본인에 서비스에 맞는 활용 방향을 알아보고, 더 나아가 AWS라는 대기업이 신기술이 접목된 여러가지 서비스를 빠르게 제공하면서 만드는 IT의 트렌드와 방향성에 대해서도 생각해보면 좋을 것 같다.