본문 바로가기

Cloud/CloudFoundry

PaaS-TA 실행환경 아키텍처

출처 : https://www.cccr-edu.or.kr/classroom/index.jsp?cuid=500289

 

구분 기능 및 역할
실행환경 아키텍처
Router

- 사용자 요청 트래픽을 목적지로 라우트하는 역할을 수행

- 주 목적지는 Cloud Controller이나 응용 애플리케이션을 실행하고 있는 Garden Container

Cloud Controller

- 애플리케이션 스테이징과 실행을 위한 API 제공

- 빌드팩 선정, 서비스와 바인딩, 접근 인가처리와 같은 애플리케이션의 전반적인 관리를 담당

- 개발자가 CLI를 통해 애플리케이션을 Cloud Foundry로 전송하면 Cloud Controller가 수신

Garden

- 컨테이너 관리를 위한 플랫폼 독립적인 서버 및 클라이언트 인터페이스를 제공

- 컨테이너의 생성 및 삭제

- 컨테이너의 리소스 제약 적용

- 현재 Garden 인터페이스를 구현한 Linux 구현체로 Garden-linux가 제공

Service Broker

- 메시지큐, 데이터베이스와 같은 애플리케이션 실행 시 연동되어 사용되는 서비스를 위해 서비스 인스턴스를 생성

- SaaS 형태로 서비스를 제공하는 업체는 애플리케이션에 서비스 제공을 위해 Service Brokers를 구현하고 서버로 제공

Build Pack

- 언어 및 프레임워크를 감지하고 필요한 라이브러리를 다운받아 소스코드를 실행 파일로 컴파일 후 런타임환경과 함께 빌드팩을 제공

- Java, Ruby, Node.js, PHP, Go, Python 

- 서비스 아키텍처

Paas-Ta 서비스 API는 Cloud Controller와 서비스 브로커 사이의 규약(catalog, provision, unprivision, undateprovision, bind, unbind)을 정의

브로커는 TTTP(or HTTPS) endpoints URI 형식의 RESTful API로 구현

하나 이상의 서비스가 하나의 브로커에 의해 제공될 수 있음

- 개발 환경 아키텍처

이클립스 통합개발환경 플러그인으로 제공

GUI 환경의 PaaS-TA 애플리케이션 개발 및 배포 관리

이클립스 프로젝트를 PaaS-TA 실행환경에 배포할 수 있는 환경 제공

애플리케이션의 자원 설정, 서비스팩 바인딩, 라우트 설정 등 애플리케이션 관리 기능 제공

기존 EGovFrame 개발 환경에 통합하여 사용 가능

인증정보 관리 PaaS-Ta 실행환경 인증 정보 등록/관리 조직 및 목표 스페이스 연결
어플리케이션 배포 관리

- 이클립스 프로젝트 패키징

- 어플리케이션을 PaaS-TA 실행환경에 배포

어플리케이션 관리

- 어플리케이션 메모리 관리

- 어플리케이션 인스턴스 관리(수평확장)

- 어플리케이션 상태 제어

- 어플리케이션 삭제

서비스팩 인스턴스 관리

- 서비스팩 인스턴스 생성/삭제

- 서비스팩 인스턴스 바인딩 관리

라우트 관리

- 어플리케이션 라우트 관리

환경변수 관리

- 런타임 어플리케이션 환경변수 관리

인스턴스 로그 관리

- 어플리케이션 로그 스트리밍

- 운영환경 아키텍처

웹 사용자 인터페이스 환경에서 플랫폼 관리

관리자 대시보드는 CCDB, UAADB로부터 데이터를 조회하고 PaaS-TA 실행환경에서 제공하는 REST API 호출을 통해 상호작용

- BOSH

대규모 분산 시스템을 대상으로 한 배포 및 서비스의 생명주기를 관리하기 위한 오픈 소스 소프트웨어

복수의 IaaS 환경에 맞게 VM을 생성하고 소프트웨어를 설치할 수 있는 기능을 제공

Director

- VM 생성과 배포뿐만 아니라 소프트웨어와 서비스의 생명주기를 제어함

- BOSH에서 가장 핵심적인 컴포넌트

Database

Director가 사용하는 Postage 데이터베이스로 Deployment시에 필요로 하는 Stemcell / Release / Deployment의 메타 정보들을 저장

NATS

NAT(Message Bus)는 Director와 Agent간 통신을 위한 publish-subscribe 방식의 Message System

'Cloud > CloudFoundry' 카테고리의 다른 글

BOSH Component에 대해 정리  (0) 2019.11.14
Diego 작동원리 (How it works Diego)  (0) 2019.11.13
Cloud Foundry VS Kubernetes  (0) 2019.10.31
paas-ta 사용해보기(2)  (0) 2019.10.22
PaaS-TA 사용해보기  (0) 2019.10.17