Cloud computing, AWS Services, AWS cloud Adoption Framework
AWS Academy Cloud Foundations
This introductory course is intended for students who seek an overall understanding of cloud computing concepts, independent of specific technical roles. It provides a detailed overview of cloud concepts, AWS core services, security, architecture, pricing, and support.
1. Cloud Concepts overview
(1) 클라우드 컴퓨팅 소개
클라우드 컴퓨팅이란?
컴퓨팅 파워, 데이터베이스, 스토리지, 애플리케이션 및 기타 IT 리소스를
온디맨드로 인터넷을 통해 제공하고 사용한 만큼만 비용을 지불하는 것
이러한 리소스는 전 세계의 여러 위치에 있는 대규모 데이터 센터에 구축된 서버 컴퓨터에서 실행됨
AWS와 같은 클라우드 서비스 공급자를 이용하는 경우, 해당 서비스 공급자가 소유한 컴퓨터를 사용하는 것
리소스를 빌딩 블록처럼 함께 사용하여 비즈니스 목표를 충족하고 기술 요구 사항을 지원하는 데 유용한 솔루션 구축 가능
클라우드 컴퓨팅을 사용하면 인프라를 더 이상 하드웨어로 생각하지 않고, 대신 소프트웨어로 생각해도 된다
무슨 말이냐면, 기존 컴퓨팅 모델에서는 인프라를 하드웨어로 간주함
하드웨어형 인프라, 솔루션은 물리적이기 때문에 계획 및 자본 지출이 필요
따라서, 요구 사항을 충족하기에 충분한 리소스 용량이 있는지 확인해야 함
공간, 직원, 물리적 보안, 계획, 자본 지출 필요
상당한 규모의 사전 투자는 물론 온프레미스 인프라의 구매, 프로비저닝 및 유지관리가 수반됨
긴 하드웨어 구매 주기도 한계
이론적으로 최대 피크를 측정하여 용량을 프로비저닝 해야함
실제 사용량이 최대 피크에 미치지 않으면 고가의 리소스에 불필요한 비용을 지불하는 것이고
반대로 초과될 경우, 고객이 정상적인 서비스를 받지 못하게 됨
요구사항이 바뀔 때 새로운 솔루션을 구현하기 위해 추가적인 인력과 비용 투자가 필요
예를 들어, 새로운 웹사이트를 프로비저닝하려면 하드웨어 구매 - 랙 설치 - 스태킹 - 데이터 센터에 설치 등
일련의 과정이 필요하고 비용 시간적 측면에서 비효율적
반면에, 클라우드 컴퓨팅은 소프트웨어 솔루션으로 유연하고 경제적임
요구사항에 가장 적합한 클라우드 서비스를 선택하고 프로비저닝하고, 수요에 따라 사용 종료 가능
고객 수요에 맞춰 계약을 체결하고 배포를 확장하는 수단으로 자동화된 방식이며 리소스를 확장 및 축소 가능
클라우드 컴퓨팅을 사용하면 리소스를 임시의 일회용 소스로 취급 가능
개발자와 IT 부서가 구매, 유지 관리, 용량 계획과 같은 번거로운 작업 안 해도 됨
기업은 매우 저렴한 선결제 요금으로 새로운 솔루션을 신속하게 구현 가능
수요에 따라 사용 종료 가능하며 사용한만큼 비용을 지불하는 점이 특장점
비즈니스 자체 및 비즈니스 개선과 발전에 집중 가능
최근에는 다양한 서비스 모델과 배포 전략이 개발됨
클라우드 서비스 배포 전략은 유형별로 각기 다른 수준의 제어, 유연성 및 관리 제공
<서비스형 인프라 IaaS>
클라우드 정보 기술의 기본 빌딩 블록으로서 일반적으로 네트워크 기능과 가상 또는 전용 컴퓨터에 대한 액세스, 스토리지 공간 제공
IT 리소스에 대한 최고 수준의 유연성과 제어 기능을 제공
현재 많은 IT 부서 및 개발자에게 익숙한 구현 방식과 유사
<서비스형 플랫폼 PaaS>
서비스형 플랫폼은 자동화 기능을 통해 관리되므로 프로비저닝 작업이 아닌, 애플리케이션을 배포하고 관리하는데 집ㅂ중 가능
<서비스형 소프트웨어 SaaS>
서비스 공급자에 의해 실행되고 관리되는 완전한 제품을 고객에게 제공
대부분의 경우 서비스형 소프트웨어는 최종 사용자 애플리케이션을 지칭함
서비스를 유지 관리하는 방법이나 기본 인프라를 관리하는 방법에 대해 생각할 필요가 없음
예) 서버와 이메일 제품을 관리하거나 이메일 시스템의 운영 체제를 유지 관리할 필요없이 이메일을 보내고 받을 수 있는 웹 기반 이메일 애플리케이션
애플리케이션을 배포할 수 있는 클라우드 환경
클라우드 기반 애플리케이션은 모든 구성 요소가 클라우드에서 모든 부분이 실행됨
클라우드 자체에서 실행되거나 기존 인프라에서 클라우드로 migration된 애플리케이션
따라서 클라우드 기반 애플리케이션은 낮은 수준의 인프라에 구축하거나, 주요 인프라를 관리, 설계 및 확장할 필요가 없는 높은 수준의 서비스를 활용하여 클라우드 컴퓨팅의 이점을 실현 가능
하이브리드 구현 모델에서는 기존 인프라와 애플리케이션을 클라우드 기반 리소스에 연결하는 방식으로 배포
즉, 클라우드에 존재하지 않고 물리적 시설에 위치
이 모델의 가장 일반적인 배포 방법은 클라우드와 기존 온프레스미스 사이에 배포하는 것
내부 시스템에 연결하는 동시에 구현 환경이 확장됨
온프레미스는 가상화 및 리소스 관리 도구를 사용하여 온프레미스에 리소스를 배포하는 것이며 private cloud라고도 부름
클라우드 컴퓨팅이 가진 많은 장점은 없으나 전용 리소스를 제공하는 온프레미스 기능이 필요할 때도 존재
대부분의 경우 리소스 활용도를 높이기 위해 애플리케이션 관리 및 가상화 기술을 사용한다는 점에서 legacy IT 인프라와 같음
AWS 보안 그룹과 네트워크 access 제어 목록은 방화벽과 유사함
AWS Identity and Access Management는 사용자 프로비저닝 및 액세스 제어 목록과 유사
Elastic Load Balancing과 Amazon Virtual Private Cloud는 라우터 네트워크 파이프라인 및 스위치에 유사한 클라우드 네트워킹 인프라에 해당함
Amazon Machine Image는 Amazon EC2 인스턴스를 초기화하는 데 사용되며 온프레미스 가상 서버와 비슷함
Amazon Elastic Block Store는 가상 머신에 연결되는 하드 디스크에 해당되며, DAS(Direct Attached Storage)와 동일함
Amazon Elastic File System은 가상 머신에도 연결되지만 전통적인 SAN(Storage Area Network)에 해당됨
Amazon Simple Storage Service 또는 S3은 인터넷을 통해 파일을 저장하는 기능을 제공하며 NAS(Network Attached Storage)와 유사함
Amazon Relational Database Service는 실제 관계형 데이터베이스 관리 시스템과 동일함
(2) 클라우드 컴퓨팅 이점
많은 기업들이 클라우드로 이전하는 데 관심있는 이유는 무엇일까?
<자본 비용을 가변 비용으로 대체>
자본 비용이란?
자산, 산업용 건물 또는 장비와 같은 실제 자산을 획득 업그레이드 및 유지 관리하기 위해 회사에서 사용하는 기금
사용 여부와 관계없이 데이터 센터의 모든 것에 비용을 지불해야 한다
반면에, 가변 비용은 클라우드 컴퓨팅을 사용하여 쉽게 변경하거나 피할 수 있는 비용이다
사용 방법이 결정되기도 전에 데이터 센터와 서버에 대규모로 투자를 하는 대신,
리소스를 사용할 때만 그리고 사용한 만큼의 리소스에 대해서만 비용 지불 -> 기술 비용 절감
또한, 몇 분만에 새로운 어플리케이션에 맞추어 필요한 만큼의 공간 구축 가능
유지 관리 부담이 적어지므로 IT 요구 사항과 비즈니스 요구 사항에 더 집중!
<거대한 규모의 경제>
모든 고객으로부터 모은 사용량 덕분에 AWS는 고객을 대상으로 더 높은 수준의 규모의 경제 실현, 비용 절감 혜택 제공
클라우드 컴퓨팅을 사용하면 인프라를 소유할 때보다 가변 비용이 낮음
수많은 고객의 사용량이 클라우드에 누적되므로 AWS와 같은 공급자는 더 높은 규모의 경제 달성 가능
따라서 사용량에 따라 지불하는 종량제 요금이 더 낮아짐
<용량 추정 불필요>
애플리케이션을 배포하기 전에 용량을 결정하면 고가의 리소스를 구입하여 유휴 상태로 유지하거나,
한정된 용량으로 작업하게 되는 경우가 자주 발생함
그러나 클라우드 컴퓨팅을 사용하면, 필요한 만큼의 리소스에 액세스하고 필요에 따라 확장 및 축소 가능
<속도 및 민첩성 향상>
새로운 IT 리소스를 클릭 한 번으로 확보 가능
실험 및 개발에 드는 비용이 상당히 절감되고 조직의 민첩성 향상도 가능
<데이터 센터 운영 및 유지 관리 비용 절감>
인프라가 아니라 비즈니스를 차별화하는 프로젝트에 집중 가능
<몇 분 만에 전 세계에 배포 가능>
최소 비용으로 간단하게 고객에서 더 짧은 지연 시간과 더 나은 경험을 선사할 수 있음
(3) Amazon Web Service
웹 서비스란 ?
인터넷을 통해 이용할 수 있도록 제공되는 소프트웨어로,
API 상호작용의 요청 및 응답에 대해 XML/JSON과 같은 표준화된 형식을 사용하는 것
인터넷을 통해 프로비저닝되는 애플리케이션으로
사용자는 프로비저닝하는 데이터 세트의 유형에만 신경 쓰면 됨
AWS란?
다양한 global cloud based product를 제공하는 안전한 클라우드 플랫폼
컴퓨팅, 스토리지, 네트워크, 데이터베이스 및 기타 IT 리소스와 관리 도구에 대한 온디맨스 액세스 제공
필요한 개별 서비스에 대해 사용한 만큼만 비용 지불
컴퓨팅 측면에서 AWS 컴퓨팅 리소스와 인프라를 완벽하게 제어하고 싶다
-> Amazon EC2
코드를 실행하면서 서버를 관리하거나 프로비저닝 하지 않는 경우
-> AWS Lambda
서비스를 프로비저닝하여 웹 어플리케이션을 자동으로 배포, 관리 및 확장
-> AWS Elastic Beanstalk
간단한 웹 어플리케이션을 위한 클라우드 플랫폼
-> Amazon Lightsail
수십만 개의 배치 워크로드를 안정적으로 실행할 때
-> AWS Batch
온프레미스 데이터 센터에서 AWS 인프라를 실행할 때
-> AWS Outposts
컨테이너 또는 마이크로서비스 아키텍처 구현
-> Amazon Elastic Container Service, Amazon Elastic Kubernetes Services, AWS Fargate
온프레미스 서버 가상화 플랫폼을 AWS로 마이그레이션 하는 경우
-> VMware Cloud on AWS
AWS와 상호 작용하는 방법은
AWS Management console -> 사용하기 쉬운 그래픽 인터페이스
AWS CLI -> 개별 명령 또는 스크립트를 사용하여 액세스
SDK -> 코드에서 직접 서비스에 액세스
(4) AWS Cloud Adoption Framework
조직이 전사적으로 또는 IT 수명 주기 전반에 걸쳐 클라우드 컴퓨팅에 대한 포괄적인 접근 방식을 구축하여
성공적인 클라우드 도입을 가속화 하는데 도움이 되는 지침과 모범 사례를 제공
비즈니스 역량에 집중
IT가 비즈니스 요구 사항에 부합하는지, IT 투자를 추적하여 비즈니스 성과를 입증할 수 있는지
비즈니스 관리자, 재무 관리자, 예산 소유자 및 전략 이해 관계자
-> business, people, governance
기술 역량에 집중
-> platform, security, operations