- 클라우드 컴퓨팅이란?
- 그럼 왜 클라우드 컴퓨팅이 필요할까?
1) 비용 절감
2) 속도 향상
3) 확장성
4) 생산성
- 주요 클라우드 서비스 모델
1) IaaS (Infrastructure as a Service)
: Networking/Storage/Servers/Virtualization까지 제공
: AWS EC2, GCP Compute Engine, Azure VM
2) PaaS (Platform as a Service)
: Networking/Storage/Servers/Virtualization/OS/Middleware/Runtime까지 제공
: AWS Elastic Beanstalk, Google App Engine
3) SaaS (Software as a Service)
: Networking/Storage/Servers/Virtualization/OS/Middleware/Runtime/Data/Applications까지 제공
: Gmail, Dropbox, Slack
- 클라우드 컴퓨팅 형태
1) Private Cloud
: 단일 조직에서 사용할 수 있도록 전용된 모든 클라우드 솔루션
: 클라우드 컴퓨팅 리소스를 다른 조직과 공유하지 않음
: 사용처 -> 규제가 심한 산업 및 정부 기관, 민감한 데이터가 있는 서비스 등
2) Public Cloud
: IT 서비스가 인터넷을 통해 전달되는 클라우드 컴퓨팅 모델
: 대표적인 퍼블릭 클라우드 제공업체 -> Alibaba Cloud, AWS, Google Cloud, IMB Cloud, Microsoft Azure 등
3) Hybrid Cloud
: 기업의 중요한 데이터는 보안에 제일 보장된 Private Cloud에 저장하고, 제한없이 클라우드의 인프라를 필요로 하는 기술들은 퍼블릭 클라우드와 함께 사용
- 클라우드 도입효과 사례 및 Google Trends
Neflix, Coupang, 배틀그라운드
클라우드 Google Trends: https://trends.google.com/trends/explore?date=today%205-y&geo=KR&q=aws,gcp,azure
- 업체별 퍼블릭 클라우드 시장
- 애플리케이션 배포 역사
초기 조직은 애플리케이션을 물리 서버에서 실행
단일 물리 서버의 CPU에서 여러 가상 시스템(VM)을 실행할 수 있게 함
컨테이너는 VM과 유사하지만 격리 속성을 완화하여 애플리케이션 간에 운영체제(OS)를 공유함
- Docker 개념
1) Docker란 무엇일까?
: 컨테이너 기술을 활용하여 애플리케이션을 실행하는 플랫폼
: OS를 공유하기 때문에 가상 머신과 비교하여 가볍고 빠름
2) Docker 핵심 개념
: 이미지 (실행 가능한 애플리케이션 패키지)
: 컨테이너 (실행 중인 독립된 환경)
: Dockerfile (컨테이너를 정의하는 설정 파일)
: Docker Hub (공개된 Docker 이미지를 저장하는 레포지토리)
3) Docker 아키텍처