IaaS는 클라우드 컴퓨팅의 가장 기본적인 형태로서, 인프라를 구축하기 위해 필요한 컴퓨터를 대여해주는 것을 의미합니다. IaaS는 대여받은 컴퓨터의 대부분의 리소스에 접근해서 서비스를 구성하고 관리할 수 있으므로 가장 많은 제어권을 가지고 있지만 반대로 가장 많은 부분을 사용자가 일일이 구성하고 관리해줘야 한다는 단점이 있습니다.
e.g., AWS EC2
PaaS는 IaaS에 더불어 소프트웨어를 개발하고 운영하기 위해 필요한 구성요소들을 플랫폼화해서 제공해주는 서비스입니다. PaaS를 사용하면 개발자들은 소프트웨어의 운영에 대한 관리를 PaaS에 위임할 수 있기 때문에 효율적인 개발이 가능합니다. 다만, 플랫폼의 형태로 제공된다는 점으로 인해 특정 플랫폼에 종속적이 될 수 있다는 점, 해당 플랫폼에서 접근을 허용하지 않는 부분은 제어할 수 없다는 점, IaaS에 비해 더 높은 비용을 지불해야 할 수도 있다는 점 단점들도 있습니다.
e.g., AWS Elastic BeanStalk, Heroku, Github Pages
SaaS는 클라우드 서비스에 더불어, 고객이 이를 사용할 수 있는 소프트웨어가 함께 제공되는 형태를 의미합니다. 클라우드 서비스를 통해서 제공받기에 명시적으로 애플리케이션을 PC에 설치할 필요가 없으며, 서비스를 활용하기 위해 만들어진 소프트웨어가 제공되기에 이를 통해 편리하게 여러 기능등을 제공받고 활용할 수 있는 형태입니다.
e.g., DropBox, iCloud, Netflix, Google Apps, Slack