K-PaaS 로고

  • github
    K-PaaS github
    수백만명의 개발자가 Github을 사용하여 개인 프로젝트를 구축하고 비즈니스를 지원하며 오픈 소스 기술을 함께 사용합니다.
  • K-PaaS incubator
    K-PaaS Incubator
    기업들이 K-PaaS를 활용할 수 있도록 지원 하고 있습니다.
  • cloudfoundry
    Cloud Foundry
    Cloud Foundry는 기업이 애플리케이션을 쉽고 빠르게 개발하고 배포하는데 필요한 속도, 단순성 및 제어 기능을 제공합니다.
  • youtube
    Youtube
    개방형 클라우드 플랫폼 K-PaaS 관련 동영상을 지원하고 있습니다.
닫기
  1. K-PaaS 소개
  2. 아키텍처
  3. 어플리케이션 플랫폼
  4. 서비스

어플리케이션 플랫폼 - 서비스

개방형 클라우드 플랫폼 K-PaaS의 어플리케이션 플랫폼 구성도 입니다.
서비스 및 서비스 브로커 API 아키텍처를 보여줍니다.

서비스

1.어플리케이션 플랫폼:Cloud Controller에서 set VCAP_SERVICES를 통해 App A(App environment VCAP_SERVICES:-inst0 : url, credentials에 연결 후 binding하여 Service의 service back-end(service Instance 0)에 연결
					
						2.어플리케이션 플랫폼:Cloud Controller에서 set VCAP_SERVICES를 통해 App B(App environment VCAP_SERVICES : -inst0 : url, credentials, inst-0 : url,credentials)에 연결 후 binding하여 Service의 service back-end(service Instance 0과 service Instance 1)에 연결
											
						3.어플리케이션 플랫폼:Cloud Controller에서 Service broker API(catalog, Provision, Updateprovision, Bind, Unbind, Deprovision)로 연결 그 다음 Service(Service broker)로 연결 후 service back-end(service Instance 0과 service Instance 1)에 연결

구성 요소의 기능 및 역할

K-PaaS 서비스 API는 Cloud Controller와 서비스 브로커 사이의규약(catalog, provision, unprovision, updateprovision, bind, unbind)을 정의합니다.
브로커는 HTTP (or HTTPS) endpoints URI 형식의 RESTful API로 구현됩니다. 하나 이상의 서비스가 하나의 브로커에 의해 제공 될 수 있고, 로드 밸런싱이 가능한 수평적 확장이 제공 될 수 있습니다.
또한 여러 실행환경의 서비스 인스턴스는 다른 URL접두사 및 자격 증명(credentials)을 사용하여하나의 브로커에 의해 지원 될 수 있습니다.
서비스는 서비스 브로커 API라고 불리우는 cloud controller클라이언트 API를 구현하여 실행환경에서 사용됩니다.
서비스 API는 독립적인 cloud controllerAPI의 버전입니다.
이는 플랫폼에서 외부 application을 이용 가능하게 합니다.(database, message queue, rest endpoint, etc)

서비스 브로커 API 아키텍처

1.목록 중 cf create-service-broker를 router로 2.Cloud Controller로 보낸 후 3.Service API(Fetch catalog(GET/v2/catalog))로 4.MySQL Broker(previously Gateway)와 상호작용, 
						1.목록 중 cf marketplace는 router없음, 
						1.목록 중 cf create-service는 2.Cloud Controller로 보낸 후 3.Service API(Provision Instance(PUT/v2/service Instance/:id))로, 
						1.목록 중 cf update-service는 2.Cloud Controller로 보낸 후 3.Service API(Update Provision Plan(PATCH/v2/service Instance/:id))로, 
						1.목록 중 cf unbind-service는 2.Cloud Controller로 보낸 후 3.Service API(Create Binding(PUT/v2/service Instance/:instance id/service_bindings/:id))로, 
						1.목록 중 cf unbind-service는 2.Cloud Controller로 보낸 후 3.Service API(Remove Binding(DELETE/v2/service Instance/:instance id/service_bindings/:id))로, 
						1.목록 중 cf delete service는 2.Cloud Controller로 보낸 후 3.Service API(Remove Instance(DELETE/v2/service Instance/:id))로 4.MySQL Broker(previously Gateway)와 상호작용

오픈소스 목록

오픈소스 목록
서비스 그룹 서비스 명 오픈소스 명 라이선스 비고
DBMS Mysql k-paas-mysql GPLv2 자체개발
k-paas-mysql-java-broker Apache 2.0 자체개발
NOSQL MongoDB k-paas-mongodb-shard AGPL-3.0 자체개발
mongodb_broker Apache 2.0 자체개발
Redis k-paas-on-demand-redis-release BSD 자체개발
k-paas-on-demand-broker Apache 2.0 자체개발
Stroage Glusterfs k-paas-glusterfs GPLv2 자체개발
k-paas-glusterfs-broker Apache 2.0 자체개발
MessageQueue RabbitMQ k-paas-rabbitmq MPL 1.1 자체개발
k-paas-rmq-broker Apache 2.0 자체개발
Applicatoin Gateway Service Application Gateway Service k-paas-api-gateway-service-release Apache 2.0 자체개발
api-gateway-service-broker Apache 2.0 자체개발
APM Pinpoint k-paas-pinpoint-release Apache 2.0 자체개발
pinpoint-service-brokere Apache 2.0 자체개발
WEB-IDE eclipse-che k-paas-webide-release Apache 2.0 자체개발
webide-broker Apache 2.0 자체개발
Container as a service CaaS k-paas-container-service-projects-release Apache 2.0 자체개발
k-paas-container-service Apache 2.0 자체개발
container-service-broker Apache 2.0 자체개발
통합 개발 도구 Deployment Pipeline k-paas-delivery-pipeline-release Apache 2.0 자체개발
delivery-pipeline-service-broker Apache 2.0 자체개발
형상관리 k-paas-sourcecontrol-release Apache 2.0 자체개발
sourcecontrol-broker Apache 2.0 자체개발
Lifecycle Management k-paas-app-lifecycle-service-release Apache 2.0 자체개발
app-lifecycle-service-broker Apache 2.0 자체개발
대화