MSA Development Platform

업무 시스템을 Cloud Native로 전환할 수 있도록 자동화된 환경과 Architecture 기능 제공

업무 시스템을 MSA로 전환할 수 있도록 최적의 개발 플랫폼을 제공합니다.

MSA 기반의 Cloud Native Application 개발 시 러닝 커브를 최소화하면서 업무 시스템을 Cloud Native로 전환할 수 있도록 자동화된 환경과 아키텍처 기능을 제공하고 있습니다.

MSA Development Platform

  • 업무 중심의 개발 및 배포 환경 구성

    Kubernetes, Microservice, MSA 구조 등에 대한 이해가 없더라도 간단하게 사용방법만 알면 Cloud Native 업무 서비스를 개발할 수 있습니다. 프로젝트생성, Application 배포 환경을 쉽고 빠르게 구성합니다.

    이 과정은 업무 중심의 사고와 절차를 이해하고 있다면 Cloud Friendly, Cloud Resilient, Cloud Native를 선언적으로 구성하고 자동화할 수 있습니다.

  • MSA를 위한 아키텍처 패턴 제공

    Microservice로 전환하기 위해서는Kubernetes의 특성, 다양한 Backend 서비스와 아키텍처 기술 패턴 특성을 이해하고 이를 조합하여 가장 효과적인 아키텍처를 구성할 수 있어야 합니다.

    MSA Development Platform은 이러한 다양한 기술 요소들을 Application 중심으로 쉽고 빠르게 구성하고 적용할 수 있는 기능을 제공하여 사용자 중심으로 빠르게 MSA를 구성할 수 있습니다.

  • 다양한 오픈소스 기반의 개발 환경 구성 제공

    MSA를 구성, 개발, 빌드/배포 환경 구성, 그리고 배포된 결과를 실시간으로 모니터링 및 검증하기 위해서는 많은 다양한 오픈소스들을 통합하여 구성하여야 합니다.

    MSA Development Platform은 업무 중심의 선언적 결정에 따라 이러한 오픈 소스에 대한 깊은 이해도 없이도 이들을 구성하고 통합 할 수 있는 환경을 제공하고 있습니다.

Learning Curve 최소화

업무 시스템 개발 경험을 보유하고 있는 개발자 및 아키텍트라면 짧은 시간 동안의 개념 및 사용방법 이해만으로 Cloud Native Application을 개발, 빌드, 배포할 수 있습니다.

Container PaaS, CICD, 다양한 OSS, MSA Pattern 등에 대한 이해가 부족하더라도 쉽고 빠르게 최적화된 Cloud Native Application 개발이 가능합니다.

쉽고 빠른 MSA 개발 지원

Cloud Friendly, Cloud Resilient, Cloud Native Application을 위한 다양한 형태의 기술 패턴을 제공하여 짧은 기간 내에 구성할 수 있습니다.

환경 구성, Pipeline, 아키텍처, Application 개발 구성 등을 각각 관리하여 역할 별 작업이 용이합니다.

개발, 빌드, 배포 프로세스와 경험 내재화

Cloud에서의 개발 및 빌드, 배포 프로세스를 점진적으로 개선할 수 있는 체계를 제공하여 MSA 개발 프로세스의 내재화 및 시스템화가 가능합니다.

다양한 유형의 프로젝트를 Boilerplate화 하여 향후 다른 프로젝트에서 쉽고 빠르게 재 사용 가능하도록 지원합니다.

Application 개발 및 배포 환경 구성

Cloud Native 기반의 업무 시스템 개발 및 배포 환경을 구성하기 위한 소스, 프로젝트, DB와 MQ Backend, Storage, Microservice 배포에 대한 형상 등을 프로젝트와 프로파일(Dev, Stage, Production 환경) 단위로 구성 및 관리할 수 있습니다.

  • Multi-Tenancy 지원을 위한 프로젝트 및 프로파일 관리 기능

  • MSA Outer 아키텍처 및 배포 정책 자동 생성 기능

  • Application 배포 Target Cluster 관리

  • Ingress & PVC 자동 연결 관리

  • MSA 위한 Backend 서비스 등록 관리
    MariaDB, PostgreSQL, MongoDB, Kafka, Rabbit MQ 등

  • 프로젝트 별 개발/배포 정책 과 파이프라인 최적화 지원

  • 배포 현황 상태 및 상세 모니터링 관리

MSA 자동 구성 관리

Microservice Outer Architecture 구성을 위한 다양한 아키텍처 기술 패턴을 Kubernetes, Backend Service, Spring boot, 오픈소스 등을 기반으로 최적화하여 필요 아키텍처 패턴 선택 시 배포 환경 구성 및 연결 설정 관리를 자동으로 할 수 있습니다.

  • Spring boot 기반의 Microservice 개발 환경 구성

  • 프로젝트 및 마이크로서비스 중심 운영 상태 관리 지원

  • 기본 설정 기반 베이직 아키텍처 구성 및 배포 환경 구성

  • Vue, React 기반 SPA 마이크로서비스 개발 환경 구성

  • 전문가 설정을 통해 아키텍처 구성 및 배포 환경 최적화 가능

  • 따라하기 가능한 Boilerplate 지원 (쇼핑몰)

  • Transactional Message 자동 구성
    (2021.4Q 지원 예정)

  • Command and Query Responsibility Segregation (CQRS) 구성
    (2021.4Q 지원 예정)

Microservice 별 CICD Pipeline 구성

프로젝트 환경 구성에 따라 각 Microservice의 컴파일, 빌드, Container Image Release 수행하고 배포 프로세스에 따라 Target Cluster(profile)로 자동 배포할 수 있도록 지원합니다.

  • 프로젝트 CI/CD Pipeline 자동 구성

  • Jenkins, ArgoCD 지원(Tekton은 2021.3Q 지원 예정)

  • 개별 Microservice 별 CI/CD Pipeline 자동 구성

  • 배포 현황 모니터링 및 롤백 지원

  • Topology Domain 별 분산 배포를 통한 고 가용성 구조 지원

도입배경

다양한 오픈소스 기반의 Kubernetes 환경을 이용한 Cloud Native Application 개발을 위해 긴 Learning Curve, 시간, 노력과 인력이 필요했습니다.

인프라, 플랫폼, 오픈소스, MSA 등 관련 전문 인력 협업을 통한 Application 개발이 필요하나, 실제로는 관점과 이해 부족으로 협업이 용이하지 않았습니다.(Application 개발을 위해서는 통합된 이해가 필요)

반복적인 시행 착오와 개발 및 운영 시 발생하는 다양한 프로세스와 환경의 경험이 내재화, 시스템화되고 있지 않았습니다.

활용사례

Kubernetes 기반 MSA와 Cloud Native Application에 대한 내부 구성원 역량 강화 코칭 과정에 적용하였습니다.

MSA와 Cloud Native Application 개발 프로젝트 Incubation을 위한 Pilot 환경 구성 및 개발 과정에 적용하였습니다.

고객사 Kubernetes 기반 내부 표준 개발 플랫폼 구성을 위한 서비스로 적용하였습니다.

적용결과

개발 투입 인력의 Learning Curve 기간을 획기적으로 단축하여 개발 효율성이 증대되었습니다.

고객사의 내부 표준 개발 플랫폼을 구성함으로써 개발 플랫폼과 표준 프로세스를 통한 점진적인 개선 경험을 내재화할 수 있게 되었습니다.

업무 중심의 개발 및 관리 체계를 제공하여 Application 기반의 수평적/수직적 운영 체계 지원이 용이하게 되었습니다.

Application과 플랫폼/인프라 간 개발 시 책임이 명확하지 않는 그레이 영역을 시스템화하여 자동화를 지원할 수 있게 되었습니다.