1.1 클라우드 컴퓨팅
- 클라우드 컴퓨팅의 본질은 물리적, 기술적 시스템 구조나 전산 장비가 아닌
API
에 있다.
- 공용 클라우드 vs 사설 클라우드 :
사용자 관점
- 공용 : 여러 기업의 사용자가 함께 사용 가능.
멀티 테넌트
기능을 갖춰, 겉으로는 자신만 사용하는 클라우드로 보이지만 실제로는 여러 다른 사용자도 자신만의 격리된 공간에서 같은 클라우드 환경을 사용할 수 있다.
- 멀티 테넌트 (Multi Tenant) :
- 사설 : 특정 기업 내부에서 사용되는 기업 자체의 전용 클라우드 환경
- IaaS, PasS, SaaS의 차이점 :
판매 상품 관점
- SaaS : 사용자가 직접 사용하는 애플리케이션 환경을 클라우드의 형태로 서비스
- PaaS : 애플리케이션 개발 환경이나 OS 환경 등을 제공하는 서비스
- 특정 클라우드 서비스에서만 제공하는 고유 프레임워크나 데이터 저장소
- ex) AWS의 Mysql, MariaDB, Amazon Aurora etc
- IaaS : 서버, 네트워크, 스토리지 등 IT 인프라에 필요한 구성 요소를 제공하는 서비스 (이 책의 주제)
- 셋의 차이는 사용자에게 제공하는 IT 자원의 차이로 볼 수 있다.
1.2 클라우드가 실현하는 인프라의 표준화
- IaaS 형 클라우드에서는 각종 인프라 리소스가 가상화를 통해 물리적 환경과 독립적
- 시스템 도입시 복잡, 어려운 과정을 거쳤던 과거와 달리, 클라우드 환경에서는 물리적 장비의 설정 방법이나 기능 차이를 의식하지 않아도 괜찮다.
- 가상 네트워크 장비의 경우, 실제 물리 네트워크 장비가 있고, 그 위에 네트워크를 가상화하기 위한 소프트웨어가 동작하는 방식으로 구성돼 있다.
- 클라우드 인프라를 구성하는 물리적 장비가 업그레이드에 따라 교체되더라도, 클라우드의 사용 방법은 변하지 않는다 → 성능 좋은 클라우드 시스템으로 옮겨 넣는 시스템 마이그레이션도 과거보다 수월.
- 클라우드의 장점인 API 를 사용한 제어 방식으로 시스템을 구축하기 위한 작업을 자동화 할 수 있다.
- 서버 생성 하는 과정도 cli로 할 수 있나? t2.micro 선택 과정 cli로 가능?
- ☑️ 클라우드 환경에서는 시스템을 구성하는 컴포넌트가
추상화 돼 있어
사용자가 원하는 기능을 원하는 시기에 바로 사용할 수 있다.
- 최근에는 API 를 제어하는 클라이언트 툴의 기능이 좋아져서 굳이 API 를 호출하는 프로그램을 직접 개발할 필요가 없어졌다.
1.3 클라우드 컴퓨팅의 활용
- Cloud API 는 클라우드의 단위 기능들과 연결된다.
- 클라우드 API 목록이 곧 클라우드의 기능 목록이라고 말할 수 있다.
- 클라우드 환경이라고 해서 물리적 환경을 전혀 고려하지 않아도 된다는 뜻은 아니다.
- 데이터 센터가 재난이나 화재로 피해를 입는 경우를 대비해서라도, 지리적으로 일정 거리 떨어진 곳의 서로 다른 데이터 센터에 가상머신을 분산 배치하여 위험에 대비할 수 있어야 한다 : DR
- What is Open Stack?
- A. 나사에서 개발한 IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트