on
클라우드 서비스 모델 정리
클라우드 서비스 모델을 공부한 내용을 기록해봅니다.
아래는 가장 이해하는 데에 도움이 되었던 이미지.
IAAS ( Infrastructure as A Service )
-
흔히 우리가 아는 클라우드 서비스의 기본적인 형태.
-
Storage 와 Process(CPU), Memory 의 영역을 할당해주는 개념.
-
물리적인 대형 서버를 N 대의 VM(Virtual Machine) 의 영역을 나누어서 대여해주는 개념.
-
대표적으로 Amazon EC2 (Amazon Elastic Compute Cloud )
-
국내에는 SKT KT, LGU+ 도 2012년부터 시작했고, 후발주자들도 대부분 하고 있는 형태.
-
대부분 기업에서 IAAS 를 사용, 마이그레이션도 쉽고 기존 환경과 큰 차이가 없기 때문.
PAAS ( Platform as A Service )
-
개발자들이 선호하는 형태로 어플리케이션 운영 플랫폼(넌 개발만해, 라이브러리나 환경 구성은 내가 다 준비해줄게)을 준비(프로비저닝)하여 어플리케이션 개발 후 배포 만 해주면 되는 형태.
-
개발자들은 Program (app) 개발만 마치고 배포를 하면 끝난다. 부가적인 플랫폼 및 서드파티 라이브러리 등은 모두 클라우드 벤더에서 환경 셋팅해준다.
-
대표적으로 Appfog, C9, heroku 등이 있다.
SAAS ( Software as A Service )
-
소비자(consumer) 들을 위한 서비스라고 한다. 모듈 구성 된 완성 어플리케이션 들을 하나의 서비스로 묶어서 고객이 바로 비지니스를 시작할 수 있게 탬플릿화 해놓은 것이 SAAS 이다.
-
PAAS 와 가장 큰 차이는 어플리케이션 개발이 필요하지 않다. 완성 된 어플리케이션이 내장 되어 있고, 필요한 경우 Database 나 서드 파티 어플리케이션 들도 다 묶여서 service run 만 하면 비지니스가 시작될 수 있게 구성 된 완제품이다.
-
보통 기업에서 기본적으로 갖추어야할 메일서버, erp, 그룹웨어 등의 어플리케이션 들이 SAAS 에 많이 포진하고 있다.
-
아마존 (마켓플레이스) 에서 먹고 살아요 란 말을 할 때, 이 SAAS market place 에 자신이 개발한 App 들을 SAAS 형태로 판매하는 말을 뜻하기도 한다.
재밌는 건 이 market place에 판매가 성사 되면 마켓 플랫폼 제공자인 아마존이 이익의 ? %를 때어가는 식이다. 클라우드 플랫폼을 개발자에게, 개발자로 하여금 제공 된 클라우드에서 비지니스를 하끔 순환 시키는 구조이다, 뭔가 개발자 입장에서는 사육당하는 기분일듯. 결국 아마존만 누워서 떡먹는 셈인데, 이런 걸 보면 참 머리 좋은 것 같다.
2021.01.17. 추가
CAAS (Container as a service)
리눅스 컨테이너 기반의 PAAS 를 의미한다. 도커 기반의 MSA 구성이 흔해지자 나타난 마케팅 용어이다. 사실 애초에 PAAS 구성을 하다 보면 도커 컨테이너 기반으로도 구성이 가능한 걸 쉽게 볼수 있는데, CAAS 와 겹치는 부분을 생각해보면 말그대로 마케팅 용어이다.
FAAS (Function as a service)
역시 MSA 의 영향으로 서버리스 아키텍처가 널리 전파되자 생겨난 신규 솔루션이다. 서버리스는 비지니스 로직을 제외한 모든 구성을 프리저버닝 해줄테니 당신은 비지니스 로직만 작성해서 주십시오 란 컨셉이다. Azure 에는 함수앱(logic app) 이라는 이름으로, aws 에는 람다 함수라는 이름으로 서비스 되고 있다. 필자는 azure 기반에 자바 한정으로 경험했었다. 특정한 인터페이스의 추상 메소드를 구현하거나 특정 어노테이션을 선언해서 인터페이스를 MS SDK 가 직접 구성 하도록 하게 하면 된다. 그리고 이 코드 블럭(클래스)을 azure 상에 업로드하면 로직 앱 구성이 끝이난다. 기본적으로 웹 서버 기반으로 동작하기 때문에, 로컬 테스트 웹서버를 띄우는 테스트 구성도 가능하다.