## Cloud 기본 개념인 IaaS / PaaS / SaaS 에 대한 정리
(정리글 참조 : https://www.whatap.io/ko/blog/9/)
- IaaS (Infrastructure as a Service)
=> 가상화된 물리적인 자산을 UI 형태의 대시보드 또는 API로 제공받음. 고객 입장에서는 서버와 스토리지를 접근할 수는 있지만, 클라우드의 가상 데이터 센터를 통해 리소스를 전달받는 형태이다. 대신 물리적인 서버를 가상화하여 제공받는 형태이기 때문에, 물리적 자산의 수정(ex> 서버 사양 변경, 서버 대수 증가)이 필요한 경우 빠르게 대응이 가능하다.
고객은 OS, 미들웨어, DB, APP 등의 자원 등을 관리해야 하며, 대신 서버, 하드 드라이브, 네트워킹, 가상화, 스토리지 등의 서비스를 IaaS 업체한테 제공받게 된다.
=> AWS, Microsoft Azure, GCE, OCI, DigitalOcean 등
- PaaS (Platform as a Service)
=> 서버 뿐만 아니라 OS, 미들웨어, 런타임 같은 플랫폼을 같이 가상화하여 제공됨. 개발자는 인프라에 대한 관리 없이 소프트웨어 개발에 집중할 수 있다는 장점을 가지고 있다. 또한 리소스를 비교적 쉽게 확장 또는 축소할 수 있다는 장점이 있으며, 수많은 사용자가 동일한 개발 응용 프로그램에 access할 수 있다. 하지만 특정 플랫폼 서비스에 종속되어 질 수 있다는 단점 또한 가지고 있다.
=> AWS Elastic Beanstalk, Windwos Azure, Google App Engine, Heroku 등
- SaaS (Service as a Service)
=> 고객을 대신하여 소프트웨어와 데이터까지 모두 제공하고 관리하는 방식. 이를 사용하는 고객은 유지 보수 및 자원을 간소화하면서 비즈니스에 집중할 수 있다.
=> Google Apps, Dropbox, WhaTap, Salesforce 등