📄 Cloud의 등장 배경
데이터 센터나 집을 소유하면 임대료를 내야하며, 전원 공급, 냉각, 유지에 비용을 지불해야 한다.
또한 서버를 추가하거나 대체하려면 주문을 해야하므로 시간이 걸리고, 스케일링이 제한되며,
인프라를 모니터링할 인력이 상시로 필요한데다 재난이 발생할 경우 매우 곤란하다.
이 모든 문제에 대한 대안으로 클라우드라는 개념이 등장하게 되었다.
☁️ Cloud Computing이란?
클라우드 컴퓨팅은 데이터베이스 저장소, 응용프로그램, 그 외의 IT 리소스들의 수요 기반 주문형 서비스다.
pay-as-you-go 가격 정책을 통해 요구한 만큼만 금액을 지불하며 클라우드 서비스 플랫폼을 이용할 수 있다.
정확하게 필요한 만큼의 컴퓨팅 자원의 유형과 크기를 공급받을 수 있고, 필요한 만큼의 자원에 즉시 접근 가능하다.
서버, 저장소, 데이터베이스 등의 서비스에 쉽게 접근할 수 있도록 웹 애플리케이션 인터페이스를 통해 돕는다.
📬 Cloud 배포 모델
Private Cloud : 단일 조직이 이용하는 클라우드 서비스로, 민감한 애플리케이션에 대한 보안을 강화할 수 있다.
Public Cloud : 타사 클라우드 서비스 제공자에 의해 운영되며, 인터넷을 통해 전달된다.
Hybrid Cloud : 일부 서버는 on premises에 두고, 일부 기능은 클라우드로 확장한다.
✅ Cloud Computing의 5가지 특징
- On-demand self service : 서비스 제공자의 개입 없이 스스로 필요한 리소스를 공급받고 사용할 수 있다.
- Broad network access : 네트워크를 통해 리소스를 이용할 수 있으며, 다양한 플랫폼에서 접근이 가능하다.
- Multi-tenancy and resource pooling : 여러 사용자들이 보안과 프라이버시를 유지하며 같은 인프라와 응용 프로그램을 공유할 수 있으며, 여러 고객들이 동일한 물리적 리소스를 통해 서비스 받는다.
- Rapid elasticity and scalability : 필요한 경우 신속하게 자동으로 자원을 획득하거나 처분할 수 있으며, 수요에 따라 쉽고 빠르게 확장할 수 있다.
- Measured service : 사용량을 측정하고, 사용한 양에 대해서 정확하게 지불한다.
✅ Cloud Computing의 6가지 장점
- Trade capital expense(CAPEX) for operational expense(OPEX) : 하드웨어를 직접 소유하지 않고 필요에 따라 지불하기 때문에 운영비가 줄어든다.
- Benefit from massive economies of scale : 큰 규모에서 AWS에 의한 비용 절감이 매우 효율적으로 적용된다.
- Stop guessing capacity : 규모는 실제 사용량을 기반으로 하기 때문에 예측할 필요가 없다.
- Increase speed and agility : 모든게 주문형이므로 속도와 민첩성이 향상된다.
- Stop spending money running and maintaining data centers : 데이터 센터 운영 비용을 줄일 수 있다.
- Go global in minutes : AWS의 글로벌 인프라를 사용해 글로벌 애플리케이션을 쉽게 만들 수 있다.
✅ Cloud를 통해 해결된 문제들
- Flexibility : 필요할 때마다 리소스 유형을 바꿀 수 있다.
- Cost-Effectiveness : 사용한 만큼만 지불하면 된다.
- Scalability : 확장성이 뛰어나다.
- Elasticity : 필요에 따라 탄력적으로 자원을 추가하거나 뺄 수 있다.
- High-availability and fault-tolerance : 하나의 데이터 센터가 아닌, 전 세계 데이터 센터에 의존한다.
- Agility : 빠른 개발이 가능하다.
📚 Cloud Computing의 종류
- Infrastructure as a Service(IaaS) : 클라우드 IT를 위한 building block을 제공한다. 이 IaaS를 이용해 네트워킹과 컴퓨터, 데이터 저장 공간을 제공한다. 이를 이용하면 높은 수준의 유연성이 제공되고, 전통적인 on-premises IT에서 클라우드로의 이관을 쉽게 이해할 수 있다. Amazon EC2, GCP, Azure, Rackspace등이 해당된다.
- Platform as a Service(Paas) : 조직이 기본 인프라들을 관리할 필요성을 없애주며, 응용 프로그램의 배포와 관리에만 집중할 수 있게 해준다. Elastic Beanstlk, Heroku, Google App Engine, Windows Azure등이 해당된다.
- Software as a Service(Saas) : 서비스 제공자에 의해 실행되고 관리되는 완성된 제품이다. Rekognition, Google Apps, Dropbox, Zoom등이 해당된다.
📌 AWS
✅ AWS의 3가지 지불 방법
- Compute : 컴퓨팅 시간만큼 지불한다.
- Storage : 클라우드에 저장된 데이터만큼 지불한다.
- Data transfer OUT of the Cloud : 클라우드에 데이터가 들어오는 것은 무료이지만, 나갈때는 지불한다.
📜 AWS Cloud의 역사
2002년 - 첫 출시
2004년 - 첫 서비스인 SQS 출시
2006년 - 확장된 서비스 SQS, S3 & EC2 출시
2007년 - 유럽에서 출시
🌎 AWS Regions
전 세계에 걸쳐 있는 이름이 있는 데이터 센터의 집합으로, 대부분의 서비스들은 특정 리전에 연결되어 국한된다.
[리전을 선택하는 방법]
- 법률 준수 : 데이터들을 대상 국가 내에 보관하도록 한다.
- 지연 시간 : 대부분의 사용자들과 애플리케이션이 가까이 위치하도록 하여 지연 시간을 줄여야 한다.
- 서비스의 존재 : 애플리케이션에 특정 서비스를 활용 중이라면, 출시하려는 리전에 해당 서비스가 있는지를 확인해야 한다.
- 요금 : 리전마다 요금이 다르므로, 체크해야 한다.
🛜 AWS Availability Zones
각각의 리전은 가용 영역이 있으며, 보통 3~6개이고 대부분은 3개이다.
각 가용영역은 여분의 전원, 네트워킹과 통신 기능을 갖춘 1 ~ 2개의 개별적인 데이터 센터로 이루어져 있다.
각 가용영역은 재난 발생에 대비해 서로 분리되어 있으며,
데이터 센터와 가용 영역들은 높은 대역폭의 초저지연 네트워킹으로 서로 연결되어 리전을 형성한다.
📡 AWS Points of Presence(Edge Locations)
40여 국가의 90개 이상의 도시에 400개가 넘는 전송 지점을 가지고 있다.
이런 점으로 인해 최소 지연 시간으로 최종 사용자에게 컨텐츠를 전달하는데 아주 유용하다.
💻AWS Console
AWS는 IAM, Route 53, CloudFront, WAF등의 글로벌 서비스를 제공하지만,
AmazonEC2, Elastic Beanstalk, Lambda, Rekognition등, 대부분의 AWS 서비스들은 특정 리전에 국한된다.
🔑 Shared Responsibility Model diagram
사용자 : 클라우드 내의 보안을 책임져야 한다. 클라우드에서 무엇을 사용하고 어떻게 구성하든 소비자의 책임이다.
AWS : 클라우드의 보안을 책임져야 한다. 모든 인프라, 하드웨어, 소프트웨어, 내부 보안은 AWS의 책임이다.