회사 교육이 드디어 끝나면서 (내일까지) 공부하고 발표한 내용을 다시 한 번 정리해보며, 기록한다.
먼저
클라우드 서비스 모델은 총 3개로, IaaS, PaaS, SaaS가 있다.
그리고 클라우드 서비스 이전에 "온프레미스"에 대해 한 번 짚고 넘어가보자.
온-프레미스 (On-premise)
기업의 서버를 클라우드와 같이 '가상의 공간'이 아니라, 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식
다음 이미지에서 'On-site'가 '온-프레미스' 방식으로 보면 되고, IaaS, PaaS, SaaS 는 '오프-프레미스' 방식이다.
IaaS(Infra as a Service)
- 클라우드를 통해 기업 및 개인에게 컴퓨팅, 스토리지, 네트워킹, 가상화 같은 주문형 인프라 리소스를 제공하는 것
- 비유로 집을 구했을 때 방만 있고 텅 비어있는 것
특징
- 기업 및 개인에게 컴퓨팅, 스토리지, 네트워킹, 가상화 등 주문형 리소스를 제공한다.
- 사용자는 운영체제 및 데이터, 애플리케이션, 미들웨어 및 런타임을 담당하고, 클라우드 제공업체가 사용자에게 필요한 네트워크, 서버, 가상화, 스토리지 관리와 액세스를 담당한다.
- 필요한 구성 요소만 구매하고 자유롭게 확장하거나 축소할 수 있는 유연함을 가지고 있다.
- 여러 지역에 걸친 글로벌 네트워크로 가용성과 복원력 향상
- 제공업체의 보안 문제 가능성
PaaS(Platform as a Service)
- 개발자가 서버, 운영체제부터 모든 네트워킹, 스토리지, 미들웨어, 도구 등에 이르기까지 애플리케이션을 빌드, 실행, 관리하는 데 필요한 모든 것을 포함한 완전한 클라우드 환경
- 비유로 집을 구했을 때 꼭 필요한 가구들이 빌트인 되어 있는 방인 것
특징
- IaaS 형태의 가상화 클라우드 위에 애플리케이션 개발 환경(Platform)을 미리 구축해서, 서비스 형태로 제공하는 것이다.
- 1번째 특징에 나온 것처럼, 개발 환경이 이미 구축되어 있기 때문에 개발 팀의 애플리케이션 개발 속도를 높이고 새로운 소프트웨어를 배포하는 데 걸리는 시간을 단축할 수 있다.
- 하드웨어 및 소프트웨어, 인프라 관리에 드는 비용을 절감할 수 있다.
- 운영체제, 미들웨어, 런타임을 구축된 상태로 제공되기 때문에 비교적 낮은 자유도를 가지게 된다.
- 사전에 구축된 개발 환경 위에서 개발 하여 해당 PaaS 플랫폼에 종속되거나 제한적이게 된다.
SaaS(Software as as Service)
- 사용자가 애플리케이션을 구매한 후에 설치하는 것이 아닌, 애플리케이션에 가입하여 편리하게 이용하는 것
특징
- 클라우드 애플리케이션과 기본 IT 인프라 및 플랫폼을 인터넷 브라우저를 통해 최종 사용자에게 제공되는 것이다.
- 사용자는 웹에 접속하여 이용하기 때문에 사용이 쉽고, 최신 SW 업데이트를 빠르게 제공한다.
- 서비스 성능은 인터넷 연결 속도에 따라 달라지므로 SaaS 고객은 고속 네트워크와 하드웨어에 지속적인 투자가 필요하다.
- SaaS를 사용하면, 애플리케이션 공급자에게 과도하게 의존하게 된다.
- 외부에 데이터가 노출되는 위험성을 지니고 있다.
- 참고자료
https://www.redhat.com/ko/topics/cloud-computing/iaas-vs-paas-vs-saas
https://cloud.google.com/learn/what-is-iaas?hl=ko
https://cloud.google.com/learn/what-is-paas?hl=ko
발표를 마치고 나서, QA팀에서 앞에서 발표한 내용들의 장점들이 이 회사에서는 단점이고,
단점들이 장점으로 다가온다는 말이 인상 깊었다.