클라우드 컴퓨팅에서는 서비스 모델이 서비스 제공자와 사용자 간의 역할 및 책임을 정의한다. 이 서비스 모델에는 IaaS, PaaS, SaaS가 포함되며, 각각이 서로 다른 수준의 서비스를 제공한다.
클라우드 컴퓨팅
: 인터넷을 통해 컴퓨터 시스템의 리소스를 제공하고 관리하는 기술이다.
IaaS는 가장 기본적인 클라우드 서비스 모델로, 가상화된 컴퓨팅 리소스를 제공한다. 이 서비스 모델에서는 사용자가 가상 서버, 스토리지 및 네트워킹과 같은 기본 인프라를 제어한다. 이해하기 쉽게 설명하면, IaaS는 클라우드 컴퓨팅의 임대 서버
와 같은 개념이다.
AWS의 Amazon EC2, Microsoft Azure의 Azure Virtual Machines
EX
: 회사가 물리적 서버를 구입하는 대신에, 클라우드 공급자에서 가상 서버를 임대하여 필요한 애플리케이션을 호스팅한다.
가상 서버 (Virtual Machines)
: 가상화된 컴퓨팅 리소스를 제공한다. 사용자는 필요에 따라 가상 서버를 생성하고 관리할 수 있다.
스토리지 (Storage)
: 다양한 유형의 스토리지를 제공합니다. 이는 파일 저장소, 객체 저장소, 블록 스토리지 등을 포함한다.
네트워킹 (Networking)
: 사용자는 가상 네트워크를 생성하고 관리하여 가상 서버 간의 통신을 구성할 수 있다. 라우팅, 보안 그룹, 로드 밸런싱 등의 기능이 포함될 수 있다.
데이터베이스 (Database)
: 관계형 및 NoSQL 데이터베이스를 호스팅하는 서비스를 제공한다. 이를 통해 개발자는 데이터베이스 관리에 대한 부담을 줄일 수 있다.
PaaS는 개발자가 애플리케이션을 개발, 테스트, 배포 및 관리할 수 있는 플랫폼을 제공한다. 이 서비스 모델에서는 인프라 관리에 대한 걱정이 없으며, 개발자는 애플리케이션 코드에 집중할 수 있다. PaaS는 개발자가 개발할 때 필요한 모든 도구와 서비스를 제공한다.
Google App Engine, Heroku
EX
: 개발팀이 새로운 웹 애플리케이션을 만들 때, 클라우드 서비스를 사용하여 애플리케이션을 만들고 배포하는 데 필요한 모든 것을 제공받는다. 그들은 애플리케이션 코드를 작성하고 나머지는 서비스 제공자에게 맡긴다.
웹 애플리케이션 호스팅 (Web Application Hosting)
: 웹 애플리케이션을 호스팅하고 배포하는 기능을 제공한다. 개발자는 인프라 구성에 대해 걱정할 필요 없이 애플리케이션 코드에 집중할 수 있다.
데이터베이스 및 스토리지 관리 (Database and Storage Management)
: 관리형 데이터베이스 서비스와 스토리지 서비스를 제공하여 데이터 관리를 간소화한다.
개발 도구 및 SDK (Development Tools and SDKs)
: 다양한 개발 도구와 SDK를 제공하여 개발자가 애플리케이션을 빠르게 개발하고 테스트할 수 있도록 지원한다.
자동화된 배포 및 스케일링 (Automated Deployment and Scaling)
: 애플리케이션의 배포 및 스케일링을 자동화하여 개발자가 애플리케이션을 쉽게 관리할 수 있도록 한다.
SaaS는 완전히 호스팅되고 관리되는 애플리케이션을 제공한다. 사용자는 애플리케이션을 사용하기 위해 클라우드를 통해 해당 서비스에 접속한다. 사용자는 애플리케이션을 사용하는 데 필요한 모든 것을 제공받으며, 인프라나 플랫폼에 대해 걱정할 필요가 없다.
Google Workspace (구글 드라이브, Gmail), Microsoft Office 365
EX
: 회사 직원들이 업무용 이메일, 문서 편집, 회의 일정 관리 등을 위해 구글 드라이브나 마이크로소프트의 오피스 365와 같은 클라우드 기반의 애플리케이션을 사용한다. 그들은 소프트웨어를 설치하거나 관리할 필요가 없다.
완전히 호스팅된 소프트웨어 (Hosted Software)
: 완전히 호스팅되고 관리되는 소프트웨어 애플리케이션을 제공한다. 이는 이메일, 문서 편집, 고객 관리, 프로젝트 관리 등의 서비스를 포함한다.
사용자 인터페이스 (User Interface)
: 사용자는 클라우드를 통해 소프트웨어에 접속하고 사용할 수 있는 사용자 인터페이스를 제공받는다.
보안 및 업데이트 관리 (Security and Update Management)
: 제공업체가 소프트웨어의 보안 및 업데이트를 관리한다. 사용자는 소프트웨어를 최신 상태로 유지하고 보안에 대한 걱정을 줄일 수 있다.