클라우드 컴퓨팅은 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어 등 IT 자원을 인터넷을 통해 필요한 만큼 빌려 쓰는 방식입니다. AWS, Azure, GCP 같은 클라우드 공급자가 물리적 인프라를 소유하고 운영하며, 사용자는 사용한 만큼 비용을 지불합니다.
On-Premise(온프레미스)란 기업이 자체 데이터센터에 서버를 직접 구매하고 설치하여 운영하는 방식입니다.
두 방식의 핵심 차이는 다음과 같습니다.
+------------------+-------------------------+-------------------------+
| | On-Premise | Cloud |
+------------------+-------------------------+-------------------------+
| 초기 비용 | 높음 (서버 구매) | 낮음 (종량제) |
| 확장성 | 느림 (장비 구매 필요) | 빠름 (수분 내 확장) |
| 유지보수 | 직접 관리 | 공급자 관리 |
| 가용성 보장 | 직접 구성 | SLA 기반 보장 |
| 보안 책임 | 전적으로 기업 | 공동 책임 모델 |
+------------------+-------------------------+-------------------------+
On-Premise는 데이터를 외부로 내보낼 수 없는 금융·의료 규제 환경이나, 매우 예측 가능한 워크로드에 유리합니다. 반면 Cloud는 트래픽 변동이 크거나, 초기 자본 지출을 줄이고 싶거나, 빠른 출시가 필요한 경우에 적합합니다.
클라우드의 핵심 특성은 세 가지입니다. 첫째, 온디맨드 셀프 서비스로 사람의 개입 없이 즉시 자원을 프로비저닝할 수 있습니다. 둘째, 탄력성으로 수요에 따라 자원을 자동으로 늘리거나 줄입니다. 셋째, 종량제 과금으로 사용한 만큼만 비용을 냅니다.
클라우드 서비스는 제공 범위에 따라 세 가지 모델로 나뉩니다.
책임 범위 (위로 갈수록 공급자가 더 많이 관리)
+------------------------------------------+
SaaS | Application, Data, Runtime, OS, HW 전부 |
+------------------------------------------+
PaaS | Runtime, OS, HW (App, Data는 사용자) |
+------------------------------------------+
IaaS | HW만 (OS, Runtime, App 모두 사용자) |
+------------------------------------------+
On-Premise | 모두 사용자 책임 |
+------------------------------------------+
IaaS는 가상 서버, 스토리지, 네트워크 같은 인프라만 제공합니다. OS 설치부터 미들웨어, 런타임, 애플리케이션까지 모두 사용자가 직접 관리합니다.
PaaS는 인프라와 런타임 환경까지 공급자가 관리합니다. 개발자는 코드와 데이터만 신경 쓰면 됩니다.
SaaS는 완성된 소프트웨어를 구독 방식으로 사용합니다. 사용자는 브라우저나 앱에서 서비스를 이용할 뿐, 아무것도 관리하지 않습니다.
AWS는 IaaS부터 SaaS에 이르는 전 계층의 서비스를 제공합니다. EC2는 IaaS, Elastic Beanstalk는 PaaS, Amazon WorkMail은 SaaS에 해당합니다. 대부분의 AWS 사용자는 IaaS와 PaaS 서비스를 조합하여 아키텍처를 구성합니다.
클라우드로 전환할 때는 모든 것을 한 번에 이전하지 않고, 새로운 서비스는 Cloud Native로 개발하고 기존 시스템은 점진적으로 마이그레이션하는 방식이 일반적입니다.