서버는 일종의 데이터로 트래픽이 많아지면 서버 과부하가 걸리거나 다운되어 버린다.
그를 방지하기 위해 대표적으로는 2가지 방식으로 서버를 보완하는데, 하나는 Scale-up(스케일 업)이라는 컴퓨터 사양을 올려버리는 방식과 Scale-Out(스케일 아웃)이라는 서버를 추가하는 방식이 있다.
하지만 이러한 서버 보완 방법은 집에서 관리하기에도 한계가 있고, 회사의 서버실도 결국 물리적인 한계가 있어서 Data center에서 빌리는 방법이 생겼다.
하지만 결국 Datacenter도 비용적 측면에서 문제가 생긴다. 보통 monthly나 yearly 계약으로 중간에 계약 변경이 힘들었던 탓에 새로운 시스템을 원하는 소비층이 생겨났다.
서버, 네트워크, OS, 스토리지와 같은 IT 리소스를 가상화해서 제공하는 서비스이다.
가상 서버와 스토리지 그리고 가상 네트워크 등의 리소스를 서비스 형태로 제공하며, 자유도가 높은 만큼 개발자가 할 일이 많아서 경험도가 낮은 개발자가 사용하기엔 다소 어려움이 있다.
애플리케이션 서버 같은 미들웨어를 제공하며, 주로 개발 환경과 관련한 서비스(OS, DB, WAS, JDK)를 제공한다.
하드웨어, OS, 미들웨어에 대한 관리를 할 필요 없이 애플리케이션을 실행할 수 있게 해준다. 인프라가 제공되어 자유도는 낮지만 관리적인 측면에서는 효율적이다.
완성된 형태의 소프트웨어 또는 애플리케이션의 기능만 제공한다.
모든 것을 다 제공하기에 사용만 하면 되고, 자유도가 낮다. 또한 제공하는 모든 서비스를 사용한다는 가정하에 구독료를 책정해서 불필요한 지출이 생긴다.