데이터 엔지니어링/클라우드

[클라우드] 클라우드의 정의 및 구성요소

pythaac 2022. 4. 7. 20:43

출처 : http://blog.creation.net/506

클라우드 컴퓨팅

  • 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)
      - 이벤트 기반 실행 모델, 개발자가 인프라를 유지관리하지 않고도 애플리케이션 패키지를 기능으로 구축, 실행 및 관리를 할 수 있도록 지원
  • 컴퓨터, 네트워크, 클라우드 서비스에 액세스하기 위한 운영체제 등만 있으면 이용할 수 있음

-> 인터넷을 통해 제공하는 인프라, 플랫폼, 소프트웨어

 

클라우드

  • 클라우드는 네트워크 전체에서 확장 가능한 리소스를 추상화, 풀링 및 공유하는 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

 

클라우드 서비스(Cloud Service)란 - 개념, 종류, 비교 및 추천

클라우드 서비스란 다양한 공급업체가 호스팅하고 인터넷을 통해 사용자에게 제공되는 인프라, 플랫폼 또는 소프트웨어를 뜻합니다.

www.redhat.com

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=choigohot&logNo=40201620611 

 

[Cloud Computing] 클라우드 컴퓨팅의 이해

클라우드 컴퓨팅의 이해 1. 클라우드 컴퓨팅의 정의 인터넷 기술을 활용하여 다양한 외부고객들에게 고도의...

blog.naver.com