'Microservice Architecture'에 해당되는 글 1건

  1. 2017.04.03 PaaS (Platform as a Service)에 대한 이해 및 장점
IT Pro2017. 4. 3. 13:44

SK주식회사 CloudZ에서는 PaaS 서비스를 제공하고 있습니다.

 

PaaS (Platform as a Service)란 Cloud 애플리케이션을 쉽고 빠르게 개발하기 위한 SW 개발환경을 서비스로 제공하는 것을 의미합니다.

 

IaaS가 서버, 네트웍, 스토리지를 서비스로 제공한다고 하면

PaaS는 운영체제, 데이터베이스, 애플리케이션 서버 (WAS), JDK(Jave Development Kit) or .NET 등을 서비스로 제공하는 것을 의미합니다.

 

고객이 IaaS만을 사용하는 경우에는 고객이 운영체제, 데이터베이스, WAS, JDK / 개발 Framework을 직접 설치하고 운영해야 합니다. 이를 위해 별도의 운영 인력을 보유하거나, MSP (Managed Service Provider)를 통해 서비스를 제공받아야 합니다.

 

시스템 구축/운영, 미들웨어 구축/운영, 데이터베이스 구축/운영 등 여전히 운영을 위한 인력이 많이 필요하게 되고, 실제 애플리케이션 자체의 운영인력까지 필요하므로 클라우드 도입으로 인한 비용효과를 보기 어렵습니다.

 

PaaS 서비스는 오픈소스 Cloud Foundry, IBM Bluemix, Pivotal CF 등 3개사가 대표적인데

CloudZ에서는 오픈소스 Cloud Foundry를 통해 미래부가 개발한 PaaS-TA, IBM Bluemix를 PaaS로 사용하고 있습니다. Cloud Foundry는 자동차 엔진에 해당되는 역할을 하는데, 자동차를 이루기 위해서는 기어, 핸들, 속도계 등의 다양한 부가 서비스가 필요합니다. Microservice Architecture로 개발하여 운영되기 위해서는 Database as a Service, API Gateway, Circuit Breaker, Discover 서비스 등이 필요하게 되는데, 이런 다양한 서비스들을 오픈소스 기반으로 개발하여 제공하고 있습니다.

 

PaaS 도입으로 인한 효과

첫째, 실행환경 설정 자동화를 통한 서버 구성시간 단축 (Provisioning), 즉 개발환경 구축보다 서비스 개발에 집중

둘째, 빌드/테스트/배포 자동화를 통해 개발 시간 단축, 신속한 배포

셋째, 모듈별 부하량 증감에 따라 자동화된 Auto-scaling 가능, 예) 급여명세 조회 microservice의 부하 증가시 해당 microservice만 늘어나도록 하는 방식

넷째, 기존 서비스 중단 없이 신규 서비스의 무중단 배포 가능, 접속 경로 변경을 통한 신규서비스의 무중단 배포

를 가능하도록 합니다.

 

Microservice 아키텍처의 개념은, 클라우드 애플리케이션을 기능별로 독립된 모듈화 구조로 설계하는 것을 의미합니다. MSA의 장점은, 전통적인 크고 복잡한 구조를 가진 하나의 서비스 (monolithic architecture)가 아닌, 기능별로 분리하여 여러개의 독립적인 모듈로 구성하여 개발 속도면에서 빠르게 개발 가능하고, 신속하고 빈번한 업데이트와 배포가 가능하다는 장점이 있습니다. (Rapid, frequent, reliable deployment)

또한, 보안성을 높일 수 있다는 장점이 있는데, 보안 취약점에 대한 빠른 대응이 가능하기 때문입니다.

 

Amazon과 Netflix가 DevOps 기반의 MSA 구조로 되어 있는 대표적인 사례 입니다.

 

하지만, 모든 애플리케이션이 MSA에 적합한 것은 아닙니다.

1) On-premise/IaaS 상의 애플리케이션

   - 안정적인 백오피스 업무

   - 기록/통계/보고서 중심 업무

   - ERP, 지급관리, 세무관리, 재고관리, 마스터데이터 관리, 회계 시스템 등

 

2) Cloud Friendly (Container 기반 서비스)

   - 확장 가능한 백오피스 업무
   - 대부분의 기존 Application
     . 빠른 환경 구성 및 표준화

     . 자원부족에 따른 장애 최소화
     . 서비스변경 영향도 최소화

   - Seasonal Effect 존재
   - MIS, CRM, SCM, 웹/커머스, 마케팅, 조달, 분석시스템, 워크포스 관리


3) Cloud Native (MSA)

   - 고객 접점 업무
   - B2C 애플리케이션 (빈번한 배포 필요)

   - 시장반응 분석 및 빠른 수정/배포 (A/B 테스팅 등)
   - 모바일 앱, 소셜커머스, 인터넷 서비스, 위치기반서비스, IoT, 빅데이터, 머신러닝/분석 기반

Posted by 조이트리