모듈 1 : 클라우드 개념 개요
섹션 1 : 클라우드 컴퓨팅 소개
클라우드 컴퓨팅의 정의
- 클라우드 컴퓨팅은 컴퓨팅 파워, 데이터 베이스, 스토리지, 애플리케이션 및 기타 IT 리소스를 온디맨드로 인터넷을 통해 제공하고 사용한 만큼만 비용을 지불하는 것
- 리소스는 전 세계의 여러 위치에 있는 대규모 데이터 센터에 구축된 서버 컴퓨터에서 실행된다.
- AWS와 같은 클라우드 서비스 공급자를 이용하는 경우, 해당 서비스 공급자가 소유한 컴퓨터를 사용하게 된다.
- 이와 같은 리소스를 빌딩 블록처럼 함께 사용하여 비즈니스 목표를 충족하고 기술 요구 사항을 지원하는데 유용한 솔루션을 구축할 수 있다.
- 클라우드 컴퓨팅을 이용하면 인프라를 더 이상 하드웨어로 취급하지 않아도 되며, 대신 소프트웨어라고 생각할 수 있음
- 기존 컴퓨팅 모델에서는 인프라를 하드웨어로 간주함.
- 하드웨어 솔루션은 물리적이므로 유지 관리하려면 공간, 직원, 물리적 보안, 계획 및 자본 지출이 필요함
- 상당한 규모의 사전 투자는 물론, 온프레미스 인프라의 구매, 프로비저닝 및 유지 관리가 수반되는 긴 하드웨어 구매 주기도 기존 컴퓨팅 방식의 한계라고 할 수 있음
- 하드웨어 솔루션을 사용하면 요구 사항을 충족하기에 충분한 리소스 용량이 있는지 또는 충분한 스토리지가 있는지 파악하고 이론적인 최대 피크를 추정하여 용량을 프로비저닝해야 함.
- 실제 사용량이 예상 최대 피크에 미치지 않으면 유휴 상태로 유지되는 고가의 리소스에 불필요하게 비용을 지불하게 되고 아무런 이점이 없음.
- 실제 사용량이 예상 최대 피크를 초과하면 용량이 부족하여 요구 사항을 충족하지 못하게 되고 고객이 정상적인 서비스를 제공받지 못함.
- 요구 사항이 바뀔 경우 새로운 솔루션을 구현하는데 필요한 시간, 인력 및 비용을 투자해야 함.
- 예를 들어 새 웹 사이트를 프로비저닝하려면 하드웨어를 구매하고 랙에 설치하고 스태킹해야 함.
- 그리고 데이터 센터에 설치한 다음 관리하거나 다른 사람이 관리하도록 해야 함.
- 이 접근 방식은 비용과 시간이 많이 소요 됨.
- 하지만 클라우드 컴퓨팅을 이용하면 인프라를 소프트웨어로 간주할 수 있음.
- 소프트웨어 솔루션은 유연함.
- 즉, 요구 사항에 가장 적합한 클라우드 서비스를 선택하고 프로비저닝하고, 수요에 따라 사용을 종료할 수 있음.
- 또한 사용한 만큼만 비용을 지불하면 됨
- 고객 수요에 맞추어 계약을 체결하고 배포를 확장하는 수단으로서, 자동화된 방식으로 리소스를 확장 및 축소할 수 있다.
- 클라우드 컴퓨팅 모델을 사용하면 리소스를 임시의 일회용 리소스로 취급할 수 있음
- 클라우드 컴퓨팅이 제공하는 유연성 덕분에 기업은 매우 저렴한 선결제 요금으로 새로운 솔루션을 신속하게 구현할 수 있음
- 하드웨어 솔루션에 비해 소프트웨어 솔루션은 훨씬 더 쉽고 빠르게 그리고 경제적으로 변경할 수 있음
- 클라우드 컴퓨팅을 사용하면 개발자와 IT 부서가 구매, 유지 관리, 용량 계획과 같은 획일적이고 번거로운 작업을 피할 수 있음
- 또한 가장 중요한 문제. 즉, 비즈니스 자체 및 비즈니스의 개선과 발전에 집중할 수 있음
- 클라우드 컴퓨팅의 인기가 높아지면서 다양한 서비스 모델 및 배포 전략이 생겨남
- 덕분에 다양한 사용자의 구체적인 요구 사항을 충족할 수 있게 됨.
- 클라우드 서비스 모델과 배포 전략은 유형별로 각기 다른 수준의 제어, 유연성 및 관리를 제공함.
- 이러한 여러 클라우드 서비스 모델 및 배포 전략의 차이점을 이해하면 요구 사항에 적합한 서비스 세트를 결정하는 데 도움이 될 수 있음
- 클라우드 서비스 모델은 서비스형 인프라, 서비스형 플랫폼, 서비스형 소프트웨어의 세 가지 유형이 있음
- 각 모델은 클라우드 컴퓨팅 스택의 각각 다른 부분에 해당하며 IT 리소스에 대한 다양한 수준의 제어를 제공함.
- 첫째, 서비스형 인프라는 클라우드 정보 기술의 기본 빌딩 블록으로서 일반적으로 네트워크 기능과 가상 또는 전용 컴퓨터에 대한 액세스를 제공하고 스토리지 공간도 제공함.
- 서비스형 인프라는 IT 리소스에 대한 최고 수준의 유연성과 제어 기능을 제공함
- 이는 현재 많은 IT 부서 및 개발자에게 익숙한 기존 구현 방식과 가장 유사함
- 서비스형 플랫폼을 사용하면 기반 인프라를 관리할 필요가 없음
- 일반적으로 이는 하드웨어 및 운영체제와 관련이 있음
- 자동화 기능을 통해 관리되므로 프로비저닝 작업이 아니라 애플리케이션을 배포하고 관리하는 데 집중할 수 있음
- 서비스형 소프트웨어는 서비스 공급자에 의해 실행되고 관리되는 완전한 제품을 고객에게 제공함
- 대부분의 경우 서비스형 소프트웨어는 최종 사용자 애플리케이션을 지칭함
- 서비스형 소프트웨어의 경우 서비스를 유지 관리하는 방법이나 기본 인프라를 관리하는 방법에 대해 생각할 필요가 없음
- 특정 소프트웨어를 어떻게 사용할지만 생각하면 됨
- 서비스형 소프트웨어의 일반적인 예로는 서버와 이메일 제품을 관리하거나 이메일 시스템의 운영 체제를 유지 관리할 필요 없이 이메일을 보내고 받을 수 있는 웹 기반 이메일 애플리케이션이 있음
- 세 가지 주요 클라우드 컴퓨팅 배포 모델이 있음.
- 각 모델은 애플리케이션을 배포할 수 있는 클라우드 환경을 나타냄
- 클라우드 기반 애플리케이션은 모든 구성 요소가 클라우드에 배포되는 구현 유형으로 클라우드에 완전히 배포됨
- 애플리케이션의 모든 부분이 클라우드에서 구현됨
- 클라우드의 애플리케이션은 클라우드에서 생성되거나 기존 인프라에서 클라우드로 마이그레이션된 애플리케이션임
- 따라서 클라우드 기반 애플리케이션은 낮은 수준의 인프라에 구축하거나 주요 인프라를 관리, 설계 및 확장할 필요가 없는 높은 수준의 서비스를 활용하여 클라우드 컴퓨팅의 이점을 실현할 수 있음
- 하이브리드 구현 모델에서는 기존 인프라와 애플리케이션을 클라우드 기반 리소스에 연결하는 방식으로 배포됨
- 즉, 클라우드에 존재하지 않고 물리적 시설에 위치함
- 이 하이브리드 모델의 가장 일반적인 배포 방법은 클라우드와 기존 온프레미스 사이에 배포하는 것임
- 이렇게 하면 클라우드 리소스를 내부 시스템에 연결하는 동시에 구현 환경이 확장 됨
- 마지막은 온프레미스 배포 모델임
- 가상화 및 리소스 관리 도구를 사용하여 온프레미스에 리소스를 배포하는 것을 프라이빗 클라우드라고 부르기도 함
- 온프레미스 배포는 클라우드 컴퓨팅이 가진 많은 장점을 제공하지는 않지만 전용 리소스를 제공하는 온프레미스 기능이 필요할 때가 있음
- 대부분의 경우 온프레미스 배포 모델은 리소스 활용도를 높이기 위해 애플리케이션 관리 및 가상화 기술을 사용한다는 점에서 레거시 IT 인프라와 같음.
- AWS와 기존 IT 구현 방식은 서로 유사점이 많음
- 첫째, AWS 보안 그룹과 네트워크 액세스 제어 목록은 방화벽과 유사함
- AWS Identitiy 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는 실제의 관계형 데이터베이스 관리 시스템과 동일함
- 따라서 AWS를 통해 기존 데이터 센터에서 기대하는 기능을 대부분 사용할 수 있음
섹션2 - 클라우드 컴퓨팅의 이점
1. 자본 비용을 가변 비용으로 대체
- 예측을 근거로 한 데이터 센터 투자
- 사용한 양에 대해서만 지불
2. 거대한 규모의 경제
3. 용량 추정 불필요
- 과대/과소 추정된 서버 용량을 온디맨드 조정
4. 속도 및 민첩성 향상
- 필요한 리소스와 리소스 보유 시점 간의 시간 간격(주 -> 분)
5. 데이터 센서 운영 및 유지 관리에 비용 투자 불필요
6. 몇 분 만에 전 세계에 배포
섹션3 - Amazon Web Services(AWS) 소개
- 웹 서비스란?
: 인터넷을 통해 프로비저닝되는 애플리케이션
: API(애플리케이션 프로그래밍 인터페이스) 상호 작용의 요청 및 응답에 대해 XML(Extensible Markup Language) 또는 JSON(JavaScript Object Notation)과 같은 표준화된 형식을 사용함
-> 운영체제, 소프트웨어 개발에 사용된 언어와 관련이 없으며 인터페이스 정의 파일을 사용하여 자체적으로 기술됨
-> 검색 가능
- AWS란?
: 다양한 글로벌 클라우드 기반 제품을 제공하는 안전한 클라우드 플랫폼
: 컴퓨팅, 스토리지, 네트워크, 데이터베이스 및 기타 IT 리소스와 관리 도구에 대한 온디맨드 액세스를 제공
: 필요한 개별 서비스에 대해 사용한 만큼 비용을 지불하면 되어 유연성이 있음
: AWS 서비스는 빌딩 블록처럼 서로 유기적으로 작동함
- AWS 서비스는 각각 서로 다른 범주에 속하며 각 범주에는 하나 이상의 서비스가 포함됨
- Amazon EC2 : 컴퓨팅 서비스를 완벽하게 제어
- AWS Lambda : 코드를 실행하면서 서버를 관리하거나 프로비저닝하지 않으려는 경우 사용
- AWS Elastic Beanstalk : 서비스를 프로비저닝하여 웹 애플리케이션을 자동으로 배포, 관리 및 확장
- Amazon Lightsail : 간단한 웹 애플리케이션을 위한 클라우드 플랫폼
- AWS Batch : 수십만 개의 배치 워크로드를 안정적으로 실행해야할 때 사용
- AWS Outposts : 온프레미스 데이터 센터에서 AWS 인프라를 실행하고자 할 때 사용
- Amazon Elastic Container Service, Amazon Elastic Kubernetes Service, AWS Fargate : 컨테이너 또는 마이크로서비스 아키텍처를 구현하려는 경우
- VMware Cloud on AWS : 온프레미스 서버 가상화 플랫폼을 AWS로 마이그레이션하려는 경우
AWS와 상호작용 하는 3가지 방법
1. AWS Management Console : 사용하기 쉬운 그래픽 인터페이스
2. 명령줄 인터페이스 (AWS CLI) : 개별 명령 또는 스크립트를 사용하여 서비스에 액세스
3. SDK(소프트웨어 개발 키트) : 코드(ex: Java Python 등)에서 직접 서비스에 액세스
섹션 4: AWS 클라우드로 전환 - AWS Cloud Adoption Framework(AWS CAF)
AWS CAF 관점
비즈니스 역량에 집중 기술 역량에 집중
- 비즈니스 관점 : IT가 비즈니스 요구 사항에 부합하는지, IT 투자를 추적하여 비즈니스 성과를 입증할 수 있는지 확인해야 함
- 인력 관점 : 민첩한 조직을 구축하기 위해 교육, 인력 배치 및 조직 변화에 중점을 두어야 함
- 거버넌스 관점 : IT 투자의 비즈니스 가치를 극대화하고 비즈니스 위험을 최소화할 수 있도록 IT 전략 및 목표와 비즈니스 전략 및 목표에 맞추어 기술을 확보하고 프로세스를 구축해야 함
- 플랫폼 관점 : IT 시스템의 특성과 그 관계를 이해하고 전달해야하며, 대상 상태 환경의 아키텍처를 자세히 설명할 수 있어야 함
- 보안 관점 : 조직이 보안 목표를 충족하는 지 확인해야 함
- 운영 관점 : 비즈니스 운영과 연계하고 지원하며 일일, 분기별, 연도별로 비즈니스 수행 방식을 정의함
모듈 요약
- 다양한 유형의 클라우드 컴퓨팅 모델 정의
- 클라우드 컴퓨팅의 6가지 이점
- 주요 AWS 서비스 범주 및 핵심 서비스
- AWS Cloud Adoption Framework 검토
'AWS Academy Cloud Foundations' 카테고리의 다른 글
모듈3 : AWS 글로벌 인프라 개요 (0) | 2023.01.13 |
---|---|
모듈 2 : 클라우드 경제성 및 결제 (0) | 2023.01.12 |
댓글