microservice의관점에서바라본 paas...(부하분산, ha) k-cloud (k paas-ta)란 (2/2)...

18
Microservice 관점에서 바라본 PaaS www.k-cloud.kr

Upload: others

Post on 26-Dec-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

Microservice의관점에서바라본 PaaSwww.k-cloud.kr

Page 2: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

Microservice와 PaaS (Cloudfoundry)

K-Cloud(K PaaS-TA)의특징

목 차

Page 3: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

2

이미지 출처 : AWS

Microservice의구조

서비스가 많아질수록 빌드/배포, 운영관리의 중요도가 증가

복잡한Microservice의구조

Page 4: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

3

빌드ㆍ테스트ㆍ배포의 자동화

빌드/배포의자동화 _ PaaS의장점①

자동 빌드ㆍ테스트ㆍ배포를 위한 Pipeline 기능을 제공

자동화된 Pipeline

Commit Build Test Stage Deploy

K PaaS-TA Pipeline

AWS Pipeline

Page 5: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

4

손쉬운스케일아웃및부하분산 _ PaaS의장점②

매우 편리한 스케일 아웃 및 부하분산 기능을 제공

IaaS PaaS

Scale out절차

VM이미지생성

VM이미지복제

로드밸런서추가

로드밸런서에VM등록

Scale out 및 loadbalancing

LB

③Load balancer생성

VM 1

VM 2

VM 3

①인스턴스이미지생성

②인스턴스이미지복제

④VM 추가

Scale out절차

인스턴스개수변경

재시작

라우터

컨테이너1

컨테이너2

컨테이너3

컨테이너생성

라우터

Scale out 및 loadbalancing

어플리케이션저장소

어플리케이션자동복제

Page 6: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

5

수 분내 구축 완료

팀별독립공간부여및신속한개발/운영환경구성 _ PaaS의장점③

팀별로 독립된 공간에서 신속하게 개발/운영환경을 구축

편리한조직관리및독립적배포 신속한개발/운영환경구축

APP

용량 할당 용량 할당

APP APPAPI API

독립적배포

통합 관리

용량 할당

독립적배포

독립적배포

런타임선택

Language

Application Server

Framework

DBMS

KEY/Value

Messaging

서비스선택

Page 7: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

6

자원의효율적활용 _ PaaS의장점④

어플리케이션의 크기에 맞는 인스턴스 용량 설계가 용이

Server

Host OS

Hypervisor

Guest OS

Bins/Libs

App A

VM 1

Guest OS

Bins/Libs

App A

VM 1

Guest OS

Bins/Libs

App A

VM 1

Guest OS

Bins/Libs

App A

VM 1

Overhead

Server

Host OS

Container Engine

Bins/Libs

App A

Container 1

Bins/Libs

App A

Container 1

Bins/Libs

App A

Container 1

Bins/Libs

App A

Container 1

IaaS PaaS

Page 8: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

7

PaaS vs. IaaS for Microservices Architectures (1/2)

Capabilities of microservicessolutions

IaaS implementationPaaS implementation (Cloud

Foundry)

1. One service for one job

Every service is deployed on an IaaS instance (a physical or virtual machine) by a QA/DevOps team. DevOps are responsible for configuring valid communication interfaces. Scalability is provided by the DevOps team.

A service (or an application) is deployed by a developer. Scalability can be controlled by a developer. Communication endpoints are served by the PaaS. You just need to assign a unique name to the service in the root PaaS domain. You do not have to think about IaaS. Instead, you will be able to focus on implementing business logic for each of the services.

2. Using different tools to implement different services

The DevOps team needs to configure an application runtime on IaaS instances.

An application runtime is automatically deployed in a PaaScontainer.

3. Loose couplingThe DevOps team manages IaaSinstances used for service deployment.

PaaS containers are isolated elements for application deployment. Container life cycle is managed by the PaaS.

Page 9: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

8

PaaS vs. IaaS for Microservices Architectures (2/2)

Capabilities of microservicessolutions

IaaS implementationPaaS implementation (Cloud

Foundry)

4. Independency of developersDevOps may need to create multiple IaaS environments for each of the development groups.

When a PaaS is used, development groups can be managed as “organization” units. Deployments for development and testing can be arranged as “spaces”. You can have multiple “organizations” and “spaces” in a single PaaSdeployment.

5. Continuous delivery

DevOps engineers need to install and configure build-automation tools and integrate them with a project repository to provide continuous delivery.

Build-automation solution can be deployed in Cloud Foundry as a regular application. This reduces the time necessary to provide continuous delivery for a project—compared to IaaS.

6. Integration with external servicesThe DevOps team deploys external services. Applications connect to external services using properties.

A service broker of the PaaS can be used to deploy and publish some external services. Service binding makes it easier to connect an application instance to external services.

Page 10: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

Microservice와 PaaS

K-Cloud(K PaaS-TA)의특징

목 차

Page 11: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

10

K-Cloud(K PaaS-TA)란 (1/2)

접속 URL : www.k-cloud.kr l portal.k-cloud.kr

여러분의 아이디어를 SW로 실현할 수 있도록 무료로 지원하는 PaaS 서비스

Page 12: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

11

PaaS-TA기반Cloudfoundry 기반

PaaS Xpert 기반SW의 높은 가용성 제공(부하분산, HA)

K-Cloud(K PaaS-TA)란 (2/2)

다양한 배포방식 지원(WAR, Zip 및 Docker 컨테이너)

다양한 WEB/WAS, DBMS, Framwork 지원

“ 가장 많이 사용하는오픈소스 PaaS솔루션 “

“ 국내 환경에 맞도록기술검증 및 안정화된PaaS솔루션 “

“ Pipeline, 모니터링, 웹포털등의 다양한 기능이추가된 솔루션 “

PaaS-TA기반, 다양한 서버환경 지원, 어플리케이션의 높은 가용성 제공

K-Cloud

Page 13: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

12

빌드팩 & 서비스

language ver server Framwork

JAVA OpenJDK-1.8.0_91 Tomcat

Spring Boot

eGovFramework-v2.5

eGovFramework-v3.5

Ruby ruby-2.3.1 Rails

NODE.JS node-6.2.1

Go go-1.6.2

python python-3.5.0

php php-7.0.7 httpd

Static NginX

인터페이스

구분 ver 비고

Mariadb 10.0.23 Mysql로 표기

mongodb 2.6

redis 2.8 InMemory DB

rabbitmq 3.3

cubrid 하반기 서비스예정

postgresql 하반기 서비스예정

CLI

Windows 버전(32, 64bit)

Mac OS 버전(32, 64bit)

Linux 버전(32, 64bit)

IDE

eGovFrame

Eclipse

IntelliJ

etc

JAVA, PHP, Nodejs, Python 등 다양한 개발언어와 DBMS, 프레임워크를 지원

K-Cloud의 특징 (1/4)

Page 14: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

13

압축파일 형태의 어플리케이션 배포절차 도커이미지 형태의 어플리케이션 배포절차

런타임환경및

버전 선택

환경 설정및

소스코드업로드

서비스선택 및바인딩

• 개발언어 선택

• 버전 선택

• 프레임워크 선택

• 서비스 URL 입력

• 소스코드 파일 지정 (ZIP, WAR)

• 컨테이너 용량 설정

• 연결 서비스 선택

• 바인딩할 어플리케이션 선택

도커이미지URL 입력

환경 설정

서비스선택 및바인딩

• Docker hub , Git hub URL 입력

• 서비스 URL 입력

• 컨테이너 용량 설정

• 연결 서비스 선택

• 바인딩할 어플리케이션 선택

K-Cloud의 특징 (2/4)

압축파일 형태 및 도커이미지 형태의 다양한 어플리케이션 배포방식 지원

Page 15: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

14

K-Cloud의 특징 (3/4)

전자정부 표준프레임워크 탑재

Page 16: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

15

K-Cloud의 특징 (4/4)

개발에서 운영까지 이어질 수 있는 퍼블릭 PaaS서비스

Page 17: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

16

조직생성및영역추가절차조직, 영역의개념

조직 생성, 영역 용량계획 추가, 영역 추가 방법

사용자 A

조직 (부서 or 회사)

영역1 (팀)

영역2 (팀)

APPAPP

APP

APPAPP

APP

조직생성영역 용량계획 추가영역추가

조직 생성

영역의 용량계획 추가

영역추가

1. 조직(부서or 회사)의 명칭과 조직에서

사용할 최대 자원 용량을 선택

2. 조직(부서)내영역(팀)에할당할최대용량을 미리설정

-영역용량은조직용량을초과할수없음

3. 영역(팀)의명칭과팀에서사용할최대자원용량을

미리설정해놓은용량계획에따라할당

관리자승인필요

※ 조직내 1개 영역만 둘 경우 조직용량과 영역용량을동일하게 설정

MAX10G

MAX 20G

용량계획 1

용량계획 2

용량 할당

용량 할당

Page 18: Microservice의관점에서바라본 PaaS...(부하분산, HA) K-Cloud (K PaaS-TA)란 (2/2) 다양한배포방식지원 (WAR, Zip 및Docker 컨테이너) 다양한WEB/WAS, DBMS, Framwork

17

감사합니다.