Ⅰ. 클라우드 컴퓨팅 서비스이란?
인터넷을 통해 사용자가 컴퓨팅 자원을 제공받아 사용하는 IT 서비스 형태입니다. 기존에 조직이 자체적으로 관리하던 물리적 서버, 스토리지, 데이터베이스, 네트워크와 같은 인프라를 클라우드 서비스 제공자가 인터넷을 통해 제공함으로써, 사용자는 그 자원을 유연하게 활용할 수 있게 됩니다. 클라우드 컴퓨팅은 필요에 따라 확장하거나 축소할 수 있으며, 자원 관리의 복잡성을 줄여 비용 절감, 효율성 향상, 신속한 애플리케이션 배포를 가능하게 합니다.
Ⅱ. 클라우드 컴퓨팅의 주요 개념
ⅰ. 클라우드
: 물리적으로 분산된 데이터센터에 구축된 서버와 인프라를 가상화 기술을 통해 사용자에게 제공하는 개념입니다. 사용자는 클라우드에 연결하여 컴퓨팅 자원을 이용할 수 있으며, 자원을 실시간으로 확장하거나 축소할 수 있습니다.
ⅱ. 컴퓨팅 자원
: 서버, 스토리지, 네트워크, 데이터베이스, 애플리케이션 소프트웨어 등을 포함합니다. 사용자는 이 자원들을 필요에 따라 빌려 사용할 수 있으며, 직접 하드웨어를 구매하거나 관리하지 않습니다.
Ⅲ. 클라우드 컴퓨팅 서비스의 특징
ⅰ. 주문형 자원 제공(On-Demand Self-Service)
: 사용자는 필요할 때마다 원하는 자원을 바로 요청하여 사용할 수 있습니다. 리소스는 자동화된 방식으로 제공되며, 사용자가 원하는 만큼 확장하거나 축소할 수 있습니다.
ⅱ. 광범위한 네트워크 접근(Broad Network Access)
: 클라우드 서비스는 인터넷을 통해 언제 어디서나 접근할 수 있습니다. 사용자는 다양한 장치(PC, 태블릿, 스마트폰)를 통해 클라우드 서비스에 접속해 작업할 수 있습니다.
ⅲ. 리소스 풀링(Resource Pooling)
: 클라우드 제공자는 다수의 사용자가 자원을 공유할 수 있도록 물리적 또는 가상 자원을 풀링(pooling)합니다. 각 사용자는 자신만의 독립된 리소스를 사용하는 것처럼 보이지만, 실제로는 리소스를 공유하며 필요에 따라 동적으로 할당받습니다.
ⅳ. 빠른 확장성(Elasticity)
: 클라우드 자원은 유연하게 확장 및 축소될 수 있습니다. 예를 들어, 웹사이트 방문자가 급증할 경우 자원이 자동으로 확장되고, 트래픽이 줄어들면 자원이 축소됩니다.
ⅴ. 측정 서비스(Measured Service)
: 클라우드 컴퓨팅 서비스는 사용자가 사용한 자원을 측정하여 요금이 부과됩니다. 즉, 사용량 기반으로 비용을 지불하는 형태로, 자원을 효율적으로 사용할 수 있는 장점이 있습니다.
Ⅳ. 클라우드 컴퓨팅 서비스의 이점
ⅰ. 비용 절감: 클라우드 컴퓨팅을 사용하면 물리적 하드웨어와 데이터센터 관리에 대한 비용을 절감할 수 있습니다. 초기 투자비용이 거의 없고, 사용한 만큼만 비용을 지불합니다.
ⅱ. 확장성 및 유연성: 사용자 요구에 따라 자원을 즉시 확장하거나 축소할 수 있어 유연한 운영이 가능합니다. 대규모 데이터 처리나 트래픽 급증 상황에서도 신속하게 대응할 수 있습니다.
ⅲ. 운영 효율성: 하드웨어 관리, 유지보수, 소프트웨어 업데이트 등의 작업을 클라우드 제공자가 대신 처리하므로, 사용자는 핵심 비즈니스에만 집중할 수 있습니다.
ⅳ. 신속한 배포: 새로운 애플리케이션을 개발하고 배포하는 과정이 빨라지며, 실험적인 프로젝트도 빠르게 시작하고 수정할 수 있습니다.
ⅴ. 재해 복구 및 데이터 백업: 클라우드는 재해 복구 및 데이터 백업 시스템을 지원하여, 물리적 손실로 인한 데이터 유실을 방지하고 비즈니스 연속성을 보장합니다.
Ⅴ. 클라우드 컴퓨팅의 서비스 모델
클라우드 컴퓨팅 서비스는 초기 서비스 모델에는 IaaS(인프라형 서비스), PaaS(플랫폼형 서비스), SaaS(소프트웨어형 서비스)의 세 가지 모델로 제공되었으며, 최근에는 FaaS (함수형 서비스), DRaaS(재해복구형 서비스), CaaS(컨테이너형 서비스)가 추가 있습니다.
ⅰ. IaaS (Infrastructure as a Service)
컴퓨팅 인프라(서버, 스토리지, 네트워크 등)를 가상화하여 제공하며, 사용자는 서버와 같은 인프라를 대여하고, 운영 체제부터 애플리케이션까지 직접 관리합니다.
ex) AWS EC2, Microsoft Azure Virtual Machines, Google Compute Engine.
ⅱ. PaaS (Platform as a Service)
애플리케이션 개발과 실행을 위한 플랫폼을 제공하며, 사용자는 애플리케이션 개발에만 집중하며, 인프라와 운영체제, 미들웨어 등은 클라우드 제공자가 관리합니다.
ex) Google App Engine, Microsoft Azure App Service, Heroku.
ⅲ. SaaS (Software as a Service)
완성된 소프트웨어를 클라우드를 통해 제공하며, 사용자는 소프트웨어를 설치하거나 관리할 필요 없이, 바로 사용 가능합니다.
ex) Google Workspace(Gmail, Docs), Salesforce, Microsoft 365.
ⅳ. FaaS (Function as a Service)
개발자가 특정 이벤트에 반응하여 실행할 수 있는 코드를 클라우드에서 실행할 수 있게 해주는 서비스입니다. 서버나 인프라를 직접 관리할 필요 없이, 코드를 작은 함수 단위로 나누어 클라우드에 배포하고 이벤트가 발생할 때마다 실행됩니다.
ex) AWS Lambda, Google Cloud Functions, Microsoft Azure Functions
ⅴ. DRaaS(Disaster Recovery as a Service)
클라우드 기반 재해 복구 서비스로, 시스템 장애나 자연재해, 사이버 공격 등으로 인해 데이터가 손실되거나 IT 인프라가 중단되었을 때 이를 빠르게 복구할 수 있는 솔루션을 제공하며, 비즈니스 연속성을 보장하기 위해 기업의 데이터와 애플리케이션을 백업하고, 장애 발생 시 신속하게 복구 환경을 제공하는 서비스입니다.
ex) AWS Elastic Disaster Recovery, Microsoft Azure Site Recovery, Veeam Disaster Recovery as a Service
ⅵ. CaaS (Container as a Service)
컨테이너 기반 애플리케이션을 관리하고 실행할 수 있는 플랫폼을 클라우드를 통해 제공하며, 개발자는 컨테이너를 사용해 애플리케이션을 패키징하고, 배포, 관리, 확장, 모니터링을 클라우드에서 자동화할 수 있습니다.
ex) Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS), Docker
ⅶ. 클라우드 서비스 모델에 대한 비교
서비스 모델 | 주요 제공 내용 | 사용자 관리 범위 | 장점 | 단점 |
IaaS (Infrastructure as a Service) | 가상 서버, 스토리지, 네트워크 등 인프라 자원 제공 | 운영체제, 애플리케이션, 데이터, 미들웨어 관리 | 비용 절감, 유연한 확장성 | 시스템 관리 필요, 초기 설정 복잡 |
PaaS (Platform as a Service) | 애플리케이션 개발 및 배포 플랫폼 제공 | 애플리케이션 및 데이터 관리 | 개발 환경 자동화, 관리 부담 감소 | 제한된 제어권, 특정 언어/프레임워크에 종속 |
SaaS (Software as a Service) | 완성된 소프트웨어 애플리케이션 제공 | 데이터 관리 및 사용자 설정 | 설치 및 유지보수 불필요, 사용 편의성 | 커스터마이징 제한, 벤더 종속성 |
FaaS (Function as a Service) | 이벤트 기반 함수 실행, 서버리스 아키텍처 제공 | 함수 코드 작성 및 이벤트 트리거 설정 | 서버 관리 불필요, 사용한 만큼 과금 | 제한된 실행 시간, 디버깅 복잡성 |
DRaaS (Disaster Recovery as a Service) | 재해 복구 계획, 백업 및 시스템 복구 제공 | 데이터 및 복구 계획 관리 | 재해 발생 시 빠른 복구, 데이터 손실 방지 | 네트워크 의존성, 복잡한 설정 필요 |
CaaS (Container as a Service) | 컨테이너 기반 애플리케이션 배포 및 관리 플랫폼 제공 | 컨테이너 구성 및 관리, 애플리케이션 운영 | 이식성, 경량화된 애플리케이션 운영, 자동 확장성 | 복잡성 증가, 보안 및 네트워크 설정 필요 |
ⅷ. 클라우드 서비스 모델에 대한 비교(책임 소지)
서비스 모델 | 사용자 관리 범위 | 클라우드 제공자 관리 범위 |
IaaS | 운영체제, 애플리케이션, 데이터, 네트워크 | 가상화, 서버, 스토리지, 물리적 보안 |
PaaS | 애플리케이션, 데이터, 코드 | 운영체제, 미들웨어, 인프라 관리 |
SaaS | 데이터 및 사용자 설정 | 애플리케이션, 데이터베이스, 보안, 인프라 |
CaaS | 컨테이너 애플리케이션, 네트워크 설정 | 컨테이너 인프라, 오케스트레이션, 확 |
DRaaS | 데이터 복구 계획, 백업 설정 | 백업 인프라, 데이터 복구, 서버 전환 |
Ⅵ. 클라우드 컴퓨팅의 서비스 모델
ⅰ. 퍼블릭 클라우드 (Public Cloud)
클라우드 제공자가 다수의 사용자에게 서비스를 제공하며, 리소스를 공유합니다.
누구나 인터넷을 통해 접근할 수 있으며, 비용 효율이 높습니다.
ex) Amazon Web Services(AWS), Microsoft Azure, Google Cloud.
ⅱ. 프라이빗 클라우드 (Private Cloud)
특정 조직 또는 기업을 위해 전용으로 구축된 클라우드 환경입니다.
더 높은 수준의 보안과 제어가 가능하며, 자체 데이터센터 또는 호스팅 방식으로 운영됩니다.
ⅲ. 하이브리드 클라우드 (Hybrid Cloud)
퍼블릭 클라우드와 프라이빗 클라우드를 결합하여 사용하는 방식입니다.
민감한 데이터는 프라이빗 클라우드에서 처리하고, 확장 가능한 서비스는 퍼블릭 클라우드에서 운영하는 방식으로 유연성을 제공합니다.
ⅳ. 멀티 클라우드 (Multi-Cloud)
여러 퍼블릭 클라우드 제공자의 서비스를 동시에 사용하는 방식입니다.
특정 서비스에 대해 한 클라우드 제공자에 의존하지 않고, 다양한 클라우드 서비스를 활용합니다.
'클라우드(Cloud)' 카테고리의 다른 글
멀티 테넌트(Multi-Tenant) 에 대해 알아보겠습니다. (0) | 2024.12.17 |
---|---|
멀티클라우드(Multi-Cloud) 에 대해 알아보겠습니다. (0) | 2024.12.15 |
클라우드 서비스에서 사용되는 주요 용어 정리 (1) | 2024.10.18 |
클라우드 컴퓨팅에 대해 알아보겠습니다. (0) | 2023.02.16 |