클라우드 컴퓨팅
- IT 자원을 구매하여 소유하지 않고 필요시 on-demand 서비스로 제공하는 컴퓨팅
- IT 자원은 확장성/유연성이 확보된 서버, 스토리지, SW 등을 포함
-> 스토리지, 소프트웨어 등 IT 리소스를 직접 구매하지 않고 필요할 때 서비스를 제공받는 컴퓨팅 환경
클라우드 서비스
- 제공업체가 호스팅하여 인터넷을 통해 제공하는 인프라, 플랫폼 또는 소프트웨어
- 클라우드 서비스 유형
- 서비스로서의 인프라 (IaaS, Infrasructure-as-a-Service)
- 사용자에게 컴퓨팅, 네트워킹, 스토리지 리소스를 제공 - 서비스로서의 플랫폼 (PaaS, Platform-as-a-Service)
- 애플리케이션을 실행할 수 있는 플랫폼과 플랫폼 실행에 필요한 IT 인프라를 제공 - 서비스로서의 소프트웨어 (SaaS, Software-as-a-Service)
- 클라우드 애플리케이션과 해당 애플리케이션을 실행하는 플랫폼, 플랫폼의 기반 인프라를 제공 - 서비스로서의 기능 (FaaS, Function-as-a-Service)
- 이벤트 기반 실행 모델, 개발자가 인프라를 유지관리하지 않고도 애플리케이션 패키지를 기능으로 구축, 실행 및 관리를 할 수 있도록 지원
- 서비스로서의 인프라 (IaaS, Infrasructure-as-a-Service)
- 컴퓨터, 네트워크, 클라우드 서비스에 액세스하기 위한 운영체제 등만 있으면 이용할 수 있음
-> 인터넷을 통해 제공하는 인프라, 플랫폼, 소프트웨어
클라우드
- 클라우드는 네트워크 전체에서 확장 가능한 리소스를 추상화, 풀링 및 공유하는 IT 환경
- 클라우드는 클라우드 환경 내에서 워크로드를 실행하는 동작인 클라우드 컴퓨팅을 지원
- 클라우드는 일종의 PaaS
- 사용자가 아닌 사람이 웹 기반 플랫폼이 제공되는 기반 인프라를 공급하기 때문 - 클라우드 종류
- 퍼블릭 클라우드
- 최종 사용자가 소유하지 않은 리소스에서 생성되어 다른 테넌트에 재배포될 수 있는 클라우드 환경
- Azure, Google Cloud, AWS, IBM Cloud가 모두 퍼블릭 클라우드에 속함 - 프라이빗 클라우드
- 최종 사용자 전용 클라우드 환경으로, 대개 사용자의 방화벽 내에 있으며 온프레미스에 있기도 함 - 하이브리드 클라우드
- 워크로드 이식성, 오케스트레이션 및 관리 기능을 갖춘 멀티플 클라우드 환경 - 멀티 클라우드
- 네트워크 연결에 상관없이 2개 이상의 클라우드(퍼블릭 또는 프라이빗)를 포함한 IT 시스템
- 퍼블릭 클라우드
-> 네트워크에서 확장 가능한 리소스를 추상화하고 공유하는 환경
클라우드 인프라
- 정의
- 하드웨어, 추상화된 리소스, 스토리지 및 네트워크 리소스를 포함하는 클라우드 컴퓨팅에 필요한 구성 요소 - 하드웨어 구성 요소에서 다음과 같이 컴퓨팅 기능을 분리
- CPU에서 처리 기능 분리
- RAM에서 활성 메모리 분리
- GPU에서 그래픽 처리 분리
- 데이터 센터 또는 하드 드라이브에서 데이터 스토리지 가용성 분리
- 이와 같은 추상화는 가상화/가상머신을 통해 실현
- 분리되면 스토리지, 컴퓨팅, 네트워킹 구성 요소가 인터넷을 통해 사용자에게 인프라 또는 IaaS로 제공
-> 사용자에게 제공되는 가상화된 하드웨어 리소스
클라우드 플랫폼
- 사용자가 코드를 개발하거나 애플리케이션을 실행할 수 있는 온라인 환경
- 클라우드 인프라의 가상화 이상의 작업이 필요
- 컨테이너화
- 오케스트레이션
- API
- 라우팅
- 보안
- 관리
- 자동화
클라우드 소프트웨어
- SaaS로 알려진 정식 버전의 웹 애플리케이션
- 클라우드 소프트웨어는 탄력적으로 결합된 소규모의 독립형 마이크로서비스를 결합하는 애플리케이션 아키텍처인 클라우드 네이티브 접근 방식을 사용하여 제공
- 여러 마이크로서비스를 컨테이너 오케스트레이션 엔진(쿠버네티스 또는 Red Hat OpenShift)으로 관리되는 개별 LInux 컨테이너에 패키징할 수 있음
- 최종 제품은 클라우드 애플리케이션으로, 결합하여 전체 애플리케이션을 구성하는 다른 마이크로 서비스에 영향을 미치지 않고 마이크로서비스를 최적화할 수 있음
- 온라인 애플리케이션, 모바일 애플리케이션 및 SaaS 제품 개발에 널리 사용되는 프로그래밍 언어는 HTML5
https://www.redhat.com/ko/topics/cloud-computing/what-are-cloud-services
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=choigohot&logNo=40201620611
'데이터 엔지니어링 > 클라우드' 카테고리의 다른 글
[클라우드] Service Discovery (0) | 2022.05.10 |
---|---|
[클라우드] 마이크로서비스 아키텍처 (0) | 2022.05.10 |
[클라우드] 클라우드 컴퓨팅 구분 (0) | 2022.05.08 |
[클라우드] 컨테이너 기술이란 (0) | 2022.05.08 |
[클라우드] 클라우드 인프라 (0) | 2022.04.07 |