과거 우리는 컴퓨팅 환경을 구축하기 위해 서비스의 사용량을 예측하여 무거운 서버를 직접 구축하고 설계해야 했습니다. 이로 인해 사용량의 급격한 증가에 대해 대비하기 어려웠고 공간 또한 제약을 받았기 때문에 여러모로 어려웠습니다. 이러한 문제점을 해결하기 위해 나타난 컴퓨팅이 바로 클라우드 컴퓨팅입니다. 클라우드 컴퓨팅에 대해서 아래에서 자세히 알아보겠습니다.
목차
클라우드 컴퓨팅이란?
클라우드 컴퓨팅은 컴퓨팅, 스토리지, 애플리케이션, 데이터베이스 분석 및 기타 IT 리소스를 종량제 과금 모델에 따라 인터넷을 통해 어디서나 편리하게 온디멘드 방식으로 사용할 수 있는 컴퓨팅 환경을 말합니다. 즉 리소스를 원하는 만큼 사용하고 그에 따른 비용을 지불하게 됩니다.
클라우드 컴퓨팅 서비스 종류
IaaS
IaaS (서비스형 인프라)는 사용자가 하드웨어 투자 없이 서버, 네트워크, 스토리지, 운영체제와 같은 컴퓨팅 리소스를 종량제로 임대할 수 있습니다. IaaS 제품의 예로는 Amazon Web Service(AWS), Microsoft Azure, DigitalOcean, Google Compute Engine(GCE)가 있습니다.
PaaS
PaaS (서비스형 플랫폼)는 클라우드 기반의 애플리케이션 개발 환경으로, 개발자는 앱을 구축하고 배포하는 데 필요한 모든 요소를 제공해 줍니다. 또한 애플리케이션의 테스트, 유지관리도 수행합니다. PaaS 서비스의 예로는 AWS Elastic Beanstalk, Windows Azure, Heroku, Google App Engine가 있습니다.
SaaS
SaaS (서비스형 소프트웨어)는 소프트웨어가 원격 서버에 호스팅 되며, 고객은 웹 브라우저를 통해서 언제 어디서나 해당 소프트웨어를 사용할 수 있습니다. 여기서 해당 소프트웨어의 백업, 유지보수 업데이트는 SaaS 제공자가 관리를 합니다. SaaS의 예로는 Google Apps, Dropbox, Salesforce, WhaTap, MS Office 365가 있습니다.
클라우드 컴퓨팅 특징
기존 컴퓨팅 모델에서는 우선적으로 하드웨어와 소프트웨어를 구축해야 하므로 가용성을 고려해서 최대치를 기준으로 용량을 산정해야 합니다. 이로 인해 아래와 같은 3가지 단점이 발생합니다.
- 초기 IT 투자 비용 증가
- 예측 실패 시, 자원 낭비 심화 문제 발생
- IT 환경 변화, 시장 변화에 따른 컴퓨팅 인프라 유연성 확보 어려움
이를 클라우드 컴퓨팅으로 변경하면 아래와 같은 이점을 가질 수 있습니다.
- 인터넷 기술을 기반으로 Seamless 한 접속 및 사용 환경 제공
- On-Demand 기반으로 초기 도입 비용을 줄일 수 있고 유연한 확장이 가능하여 가용성과 신뢰성 증가
- 서버의 하드웨어 및 소프트웨어 인프라를 가상화 기술을 이용하여 통합 관리하고 고객 account를 기반으로 provisioning을 제공
- 소프트웨어 기술 및 웹 기발 서비스를 이용하여 서버(클라우드 인프라)와 로컬(사용자 PC)의 자원을 함께 사용할 수 있음