Cloud Computing Models and Shared Responsibility

김하루·2023년 4월 5일

GCP digital Leader

목록 보기
3/12

Introduction to cloud computing models and shared responsibility

클라우드로 전환할 때 다양한 클라우드 서비스를 관리하고 운영하는 방법에 대해 고민해야 한다.

이러한 것 중 하나는 사용할 클라우드 컴퓨팅 서비스 모델의 유형에 대한 고민이다.

조직은 일반적으로 특정 비즈니스 요구 사항에 따라 서비스 모델 유형을 선택한다.

이 과정에서는 3가지 유형의 컴퓨팅 서비스 모델을 공부한다.

IaaS(Infrastructure as a Service)
PaaS(Platform as a Service)
SaaS(Software as a Service)

해당 세션을 마치고 나면, IaaS, PaaS, SaaS를 정의하고 장단점을 비교할 수 있으며 실제 사례에서 어떤 플랫폼을 선정할지 정할 수 있다.

Cloud Computing service models

클라우드 컴퓨팅 세계에는 고객 요구 사항에 따라 선택할 수 있는 다양한 컴퓨팅 서비스 모델들이 있다.

기존 IT에서 조직은 자체 온프레미스 또는 자체 관리 데이터 센터에서 하드웨어, 소프트웨어 및 개발 도구와 같은 리소스를 구매, 설치, 유지관리하여 리소스를 소비한다.

클라우드 컴퓨팅에서 클라우드 서비스 공급자는 리소스를 소유, 관리 및 유지한다.

고객은 구독을 통해 사용을 하며 인터넷 연결만 가능하면 된다.

클라우드 컴퓨팅을 사용하면 제 3자(Venvor?)가 인프라의 일부를 책임져주며, 이는 조직이 핵심 비즈니스에 더 많은 시간을 집중할 수 있게 함을 의미한다.

대부분의 조직은 다양한 요구 사항을 해결하기 위해 클라우드 컴퓨팅 모델의 조합을 사용한다.

각각의 모델은 사진과 같이 표현이 가능한데, 모델이 점점 위로 갈수록 인프라에 대한 지식과 관리가 덜 필요해진다.
이 개념을 추상화라고 한다.

추상화 인프라의 목표는 불필요한 정보를 제거하고 운영을 단순화하여 복잡성을 줄이는 것이다.

추상화는 클라우드 컴퓨팅의 핵심 개념중 하나이다.
(기술의 세부 사항은 줄이고, 비즈니스 요구 사항에 집중해야 함)

  • 자동차 예시 : 자동차는 목적지에 잘 도달하면 되며, 시동을 걸었을 때 엔진이 어떻게 작동하는지는 크게 궁금해 하지 않아도 됌 이러한 물리적으로 복잡한 내용을 제거하는 것이 추상화

on-prem

자동차로 비유하자면, 자동차를 소유하는 것과 다름이 없다.
자동차를 구입하면 사용 및 유지 관리에 대한 책임이 있다.
업그레이드는 새 자동차를 구입하는 것을 의미하며 시간이 걸리고 비싸다.

IaaS

차를 빌리는 것과 비슷하다.
차를 빌릴 때 차를 선택하고 원하는 곳으로 운전하지만 차는 내 것이 아니며, 차를 변경하기가 쉽다.

PaaS

택시를 타는 것과 비슷하다.
특정 방향을 제공하면 실제 운전은 택시 기사가 하게 된다.
(즉 내가 원하는 것을 설정하면, Google에서 기능 실행을 해주는 것)

SaaS

버스를 타는 것과 비슷하다.
교통 수단을 이용할 수 있지만, 사용자 지정은 어렵다.
정해진 노선(틀) 내에서 활용을 해야 함.

IaaS(Infrastructure as a Service)

IaaS는 인터넷을 통해 컴퓨팅, 네트워킹, 스토리지 및 데이터베이스와 같은 거의 무한 확장 가능한 인프라 리소스의 온디맨드 가용성을 제공하는 컴퓨팅 모델이다.

IaaS를 통해 조직은 하드웨어를 완전히 구입하지 않고 필요한 리소스를 임대 할 수 있으며, 사용한 만큼만 비용을 지불한다.
모든 데이터를 물리적으로 유지하거나 관리할 필요 없이 기존 데이터 센터와 동일한 기술 및 기능을 제공한다.

기업이 IaaS를 선택하는 이유는 자본 지출을 운영 비용으로 전환하려고 하는 것이다.

전통적인 IT 방식으로 봤을 때 서버를 확장하려면 몇 달이 걸리는 조달 프로세스를 통해 장비를 구입해야 하며, 물리적 공간을 준비해야 한다.
또한 IT 전문가도 필요하며 수요가 급증할 때 확장하기가 어렵고, 과도하게 구축됐을 때도 문제가 될 수 있다.

반대로 IaaS는 개별 서비스로 제공되므로 조직에서 필요한 것을 선택할 수 있다.
클라우드 공급자는 인프라를 관리하고 기업은 소프트웨어 설치, 구성 및 관리와 데이터 보안 유지에 집중이 가능하다.

Compute Engine 및 Cloud Storage는 IaaS 제품의 예이다.
Compute Engine으로 가상 머신을 만들고, Cloud Storage에 모든 유형의 데이터를 저장할 수 있다.

그럼 IaaS의 이점이 무엇일까?

1) 경제적이다.
사용한 만큼만 비용이 나가고, 비용 예상이 가능하여 예산 수립을 하기가 쉽다.

2) 효율적이다.
필요할 때 정기적으로 사용이 가능하다.
인프라가 확장될 때 지연이 되지 않으며, 과잉 구축으로 인해 리소스가 낭비되지 않는다.
이러한 효율성은 개발 수명 주기를 단축하고 궁극적으로 출시 시간을 단축시켜준다.
(서버 인프라가 제한이 되어 있으면, 사용자에 따라 스펙을 고민해야 하는데 Cloud는 손쉽게 늘렸다 줄였다 할 수 있으니)

3) 생산성을 높여준다.
클라우드 공급자가 물리적 인프라 설정 및 유지 관리를 담당하므로, IT 부서는 시간과 비용을 절약할 수 있다.
리소스를 더 효율적으로 사용할 수 있음

4) 신뢰할 수 있다.(Reliable)
하드웨어 리소스의 한 구성요소가 실패하더라도 서비스는 일반적으로 계속 사용이 가능하다.

5) 유연하다.(Scalable)
비즈니스 요구에 따라 신속하게 확장하거나 축소할 수 있다.

IaaS는 워크로드 양을 예측할 수 없거나, 비즈니스 변동에 따라 신속하게 움직여야 하는 경우 큰 도움이 된다.

PaaS(Platform as a Service)

PaaS는 애플리케이션을 개발, 실행 및 관리하기 위한 클라우드 기반 플랫폼을 제공하는 컴퓨팅 모델이다.

PaaS는 개발자들이 관련 인프라를 구축하고 유지보수할 필요 없이 자신의 맞춤형 앱을 개발, 실행 및 관리할 수 있는 플랫폼을 제공하기 때문에 매력적이다.

또한 내장된 소프트웨어 구성요소를 사용하여 어플리케이션을 구축할 수 있으므로 작성해야 하는 코드의 양이 줄어든다.

Cloud Run 및 BigQuery는 PaaS 제품의 예인데, Cloud Run은 규모에 맞게 어플리케이션을 개발하고 호스팅하기 위한 완전 관리형 서버리스 플랫폼으로 필요에 따라 서버 프로비저닝과 앱 인스턴스 확장을 처리한다.
BigQuery는 데이터를 관리하고 분석하는 완전 관리형 엔터프라이즈 데이터 웨어하우스이며 인프라 관리 없이 빅 데이터 질문에 답하기 위해 쿼리를 날릴 수 있다.

PaaS의 이점은 무엇일까?

1) 개발 시간이 단축된다.
개발자는 개발 환경을 설정하고 유지 관리하는데 시간을 소비하는 대신 코딩을 바로 진행할 수 있으므로 시장 출시 시간이 단축된다.

2) 확장이 가능하다.
PaaS를 통해 조직은 필요할 때마다 어플리케이션을 구축, 테스트, 스테이징 및 실행을 위한 추가 용량을 구입할 수 있다.
또한 클라우드 인프라 고유의 확장성을 활용하도록 응용 프로그램을 설계할 수 있다.

3) 관리가 줄어든다.
IaaS보다 훨신 더 기본 리소스 관리를 추상화함으로써 PaaS는 인프라 관리, 패치, 업데이트 및 기타 관리 작업을 클라우드 서비스 공급자에게 오프로드 한다.(구글에서 해당 작업들을 처리해줌)
이것은 새로운 기능에 집중할 수 있는 비용 효율적인 방법을 제공한다.

4) 유연하다
다양한 프로그래밍 언어를 지원하고 분산된 팀을 위한 손쉬운 협업을 통해 PaaS는 개발자에게 프로토타입에서 엔터프라이즈 솔루션에 이르기까지 다양한 프로젝트를 동일한 플랫폼에서 제공할 수 있는 유연성을 제공한다.

그렇다면 PaaS는 어떤 시나리오에 적합할까?

PaaS는 다음과 같은 조직에 적합하다.

소유 및 관리에 많은 투자를 하지 않고 고유한 맞춤형 어플리케이션을 만들려고 한다.
어플리케이션을 빠르게 테스트하고 배포하고 싶다.
레거시 어플리케이션이 많고 운영 비용을 절감하고자 한다.

SaaS(Software as a Service)

SaaS는 웹 브라우저를 통해 클라우드 제공자가 관리하는 전체 애플리케이션을 제공하는 컴퓨팅 모델이다.
클라우드 제공자는 클라우드에서 애플리케이션 소프트웨어를 호스팅하고 브라우저를 통해 제공한다.

SaaS는 소비자로부터 기술을 완전히 추상화하기 때문에 매력적이다.
최종 사용자는 클라우드 공급자가 책임져주는 기본 인프라에 신경쓸 필요가 없다.

조직은 바로 사용할 수 있는 소프트웨어 제품에 액세스하기 위한 가입비만 지불하면 된다.
(Gmail, Google Drive, Meet ...)

SaaS의 이점은 무엇일까?

1) 비용 절감이 된다.
SaaS를 사용하면 IT 직원이 각 개별 컴퓨터에 어플리케이션을 다운로드하고 설치할 필요가 없다.
SaaS를 통해 공급업체는 클라우드의 데이터, 서버, 스토리지 및 업데이트와 같은 잠재적인 기술 문제를 관리한다.
이는 조직의 유지 관리 및 지원을 간소화 하는데 도움이 된다.

2) 비율 효율적이다.
SaaS는 고정적으로 월 / 연간 계정 비용 방식을 책정한다.
예측 가능한 비용과 사용자당 예산 책정을 통해 명확한 재정 관리가 가능하다.

3) 유연하다.
인터넷을 통해 모든 것을 사용할 수 있다.
언제 어디서나 모든 장치에서 소프트웨어에 액세스 할 수 있다.

SaaS는 어떤 조직에 유용할까?

SaaS는 최소한의 사용자 지정이 필요한 표준 소프트웨어 솔루션을 사용하려는 조직에 적합하다.

애플리케이션 또는 인프라를 유지 관리하는 데 시간이나 내부 전문 지식을 투자하고 싶지 않고, IT 팀이 전략적 프로젝트에 집중할 시간이 더 필요한 경우 그리고 다양한 기기와 위치에서 앱에 액세스해야 할 때 유용하다.

Cloud Computing model 선택

그렇다면 조직은 자신에게 가장 적합한 클라우드 컴퓨팅 모델을 어떻게 결정을 할까?

비즈니스 요구사항, 필요한 기능, 사용가능한 전문 인력 여부에 따라 다르다.

매우 유연하고 확장 가능한 서비스를 찾고 있다면 IaaS가 어울린다.
이 모델은 가장 많은 Handling과 사용자 지정 기능을 제공하지만 가장 많은 관리 책임과 전문 기술이 필요하다.

구축을 위해 설계된 플랫폼이 필요한 경우 PaaS가 비즈니스에 즉시 도움이 될 것이다.
응용 프로그램을 구축하는 비용 효율적인 방법을 제공하지만 여전히 약간의 기술 전문 지식과 약간의 관리는 필요하다.

번거로운 설치 없이 즉시 사용 할 수 있는 기능을 원하는 경우 SaaS가 어울린다.
최소한의 관리 책임과 기술 전문성을 필요로 하지만, 사용자 지정 기능을 활용하기는 어렵다.

다만, Computing Model은 상호 배타적이지 않다.
사용 사례에 따라 조직은 세가지를 모두 활용하여 다양한 비즈니스 요구 사항을 해결할 수 있다.

조직은 관리 레벨(management level), 제어(control), 책임(responsibility), 유연성(flexibility), 전문성(expertise needed)과 같은 변수를 기반으로 옵션을 비교해야 한다.

예를 들어 대규모 조직에서 새로운 재고 관리 시스템을 구현해야 한다고 생각할 때, IT전문 지식을 갖고 있고 인프라를 관리하려는 의지가 있다면 IaaS 리소스를 사용할 수 있다.
조직의 IT팀은 서버 구성을 완벽하게 제어할 수 있지만 서버 구성을 관리하고 유지하는 부담도 가진다.

PaaS 솔루션을 선택하고 맞춤형 CRM 어플리케이션을 구축하는 동시에 인프라 관리를 클라우드 서비스 공급자에게 맡길 수 있다.
이 경우 어플리케이션의 기능에 대한 완전한 제어를 유지하면서 관리 부하를 줄인다.

SaaS는 인프라를 매일 관리하지 않고 소프트웨어의 기능에 대한 모든 제어권도 포기한다.

The shared responsibility model

각 클라우드 컴퓨팅 모델이 가지는 서로 다른 responsibility 영역 중 하나는 보안이다.
조직이 자체 데이터 센터에서 데이터를 관리할 때 해당 조직은 보안의 모든 측면을 책임진다.

그러나 인프라가 클라우드로 이동함에 따라 책임의 일부가 클라우드 공급자에게 이전된다.

이 개념을 공유 책임 모델이라고 한다.

클라우드의 보안은 클라우드 공급자와 고객 간의 공동 책임이다.
클라우드 컴퓨팅 서비스 모델에 따라 직접적인 책임은 다랄지지만, 조직은 항상 데이터 보안을 제어하고 클라우드 공급자는 항상 인프라 보안을 책임진다.

Google Cloud에서는 자체 운영에 사용하는 것과 동일한 인프라 및 보안 서비스를 통해 위협 및 사기 행위로부터 조직의 데이터를 보호한다.

그러나 Security of the cloud와 Security in the cloud은 서로 다르다.
Security of the cloud은 클라우드 공급처에서 보안을 책임지고,
Security in the cloud은 고객이 클라우드 보안을 책임진다.
사용하는 클라우드 컴퓨팅 유형에 따라 구체적인 고객 책임이 어떻게 달라지는지 조직이 이해하는 것이 중요하다.

How the shared responsibility model works

다양한 클라우드 컴퓨팅 모델을 함께 살펴보면 클라우드 제공자의 책임이 어디에서 끝나고 고객의 책임이 어디에서 시작되는지 알 수 있다.
공유 책임에 대한 일반적인 지침은 "구성하거나 저장하는 경우 이를 보호할 책임이 있다" 이다.
이는 일반적으로 클라우드 공급자가 하드웨어, 네트워크 및 물리적 보안과 같이 직접 제어하는 클라우드 부분을 보호할 책임이 있음을 의미한다.
동시에 고객은 구성, 액세스 정책 및 사용자 데이터와 같이 클라우드 내에서 생성하는 모든 것을 보호할 책임이 있다.

어떤 클라우드 공급처를 사용하든 공동 책임이 있다.

아래는 Google Cloud와 고객 책임을 나타내는 것이다.

1) On-Prem
조직이 직접 데이터 센터를 운영하는 경우 인프라 보안은 전적으로 조직의 내부 팀의 책임이다.
그들은 서버와 서버에 저장된 데이터를 보호할 책임이 있다.

2) IaaS
조직이 IaaS 컴퓨팅 모델로 전환하면 일부 책임을 Google에 전가한다.
여기에는 물리적 리소스에 대한 책임과 인프라 및 네트워크 보안에 대한 책임을 고객과 공유하는 것이다.
운영체제의 보안, 응용 프로그램을 실행하는데 필요한 소프트웨어 스택 및 데이터와 같은 나머지는 고객의 책임이다.
해당 방식은 최대한의 자유와 통제를 허용하지만 대부분의 책임을 고객에게 부여한다.

3) PaaS
물리적 인프라, 액세스 및 인증, 네트워크 보안 및 게스트 운영 체제에 대한 전적인 책임을 Google이 갖고 간다.
고객은 플랫폼에서 생성된 코드나 데이터와 같은 모든 콘텐츠의 보안에 대한 책임이 있다.

4) SaaS
기본 인프라에서 실제 어플리케이션에 이르기까지 보안의 거의 모든 측면을 담당한다.
고객은 여전히 애플리케이션 사용, 피싱 공격을 방지하기 위한 인증 설정과 같은 액세스 정책 및 사용자 콘텐츠와 같은 몇 가지 보안 책임이 있다.

공유 책임 모델의 한 가지 중요한 측면은 고객이 사내 데이터 센터를 보유하고 있든, 단일 사용자 라이센스에 대해 월 구독료만 지불하든 상관없이 항상 데이터 보안에 대한 책임을 져야 한다는 것입니다. 고객은 자신의 데이터에 액세스할 수 있는 사용자 또는 사용자를 제어합니다. Google Cloud는 고객의 데이터를 안전하게 유지하기 위해 노력하고 있지만 보안은 공유된 책임이다.

이 챕터에서 배운 내용들

0개의 댓글