2015 oce garuda

38
Modeling based DevOps by Open Cloud Engine 장진영 [email protected] www.opence.org

Upload: uenginesolutions

Post on 17-Jul-2015

378 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: 2015 oce garuda

Modeling based DevOps

by Open Cloud Engine

장진영[email protected]

www.opence.org

Page 2: 2015 oce garuda

Open Source Alliance

2012-2015 오픈 클라우드 엔진

fastcat

cloudine

BusinessExperts

Operators

Social Portal & SaaS Apps

CLOUD INFRA

BPM / BRE / BI

CLOUD IDE / PaaS ALM

End Users

Developers

Page 3: 2015 oce garuda

소프트웨어 딜리버리 하기

1. 아이디어창출2. 예산확보3. 하드웨어구입요청4. 하드웨어취득5. 하드웨어공간확보및정돈6. OS 설치7. OS 패치및패키지설치8. 계정생성9. 프레임워크디플로이10. 미들웨어디플로이11. 테스팅툴디플로이12. 테스팅툴테스트13. 코딩14. 멀티태넌시처리15. 서버환경설정(필요한시추가구

매)

16. 생산완료17. 런칭18. 서버추가구매요청19. 승인응답대기20. 새로운서버디플로이 etc.

1. 아이디어창출2. 예산확보3. VM 요청4. 프레임워크디플로이5. 미들웨어디플로이6. 테스팅툴디플로이7. 테스팅툴테스트8. 코딩9. 멀티태넌시처리10. VM서버환경설정11. 생산완료12. 런칭13. VM서버추가구매요청14. 승인응답대기15. 새로운 VM서버에디플로이 etc.

1. 아이디어창출2. 예산확보3. 코딩4. 테스트5. 런칭

2000 TODO 2010 TODO 2013 TODO

물리적환경.

By IaaS

By PaaS

Page 4: 2015 oce garuda

DevOps ?

• Continuous Operations (Delivery)

Page 5: 2015 oce garuda

DevOps Process

Page 6: 2015 oce garuda

PaaS Functional Landscape

* 출처: IBM

Page 7: 2015 oce garuda

IBM의 클라우드 도입 가이드라인클라우드 도입의 최종목표인 프로세스 기반 클라우드 서비스는 모든 규모에서 공통적인 방향성임

Page 8: 2015 oce garuda

확장된 SaaS 성숙도 모델과 BPaaS• 진보된 SaaS 는 동적인 구성과 다이내믹한 연동이 가능한 수준을 지

원하여야 함. 이는 BPaaS (BPM As A Service)로 구현 가능함

Page 9: 2015 oce garuda

2015 OCE

• Has own OSS – Docker + Apache Mesos+ OSGi

• Tools for Architects and Developers –Provider Portal, Cloud IDE and Modeling Tools

• Multi-tenant support & Subscription management

• Recently, metering / billing module has been added.

Page 10: 2015 oce garuda

Open Cloud Engine

?

Page 11: 2015 oce garuda

Bahamas: 클라우드 프로비저너/오케스트레이터

• 가상서버 증설시 스냅샷을 이용한 가상서버 인스턴스 생성– 스냅샷 이미지의 크기로 인한 가상서버 생성시 시간

과다 소요

• Software 업데이트 및 OS 변경시 다시 소프트웨어를 설치하는 문제

• 다수의 소프트웨어를 복잡한 과정을 통해 구성해야 하는 경우 대응이 어려움– 예) Apache Web Server > Apache Tomcat > MySQL

설치, 설치 후 환경설정, 연동, 서비스 시작, VM 생성

11

Page 12: 2015 oce garuda

Cloud Orchestrator의 중요성

• 클라우드 관리의 관리비용 절감 및 용이성 확보 필요

• Cloud Orchestrator가 제공해야하는 주요 기능

– 클라우드 자원의 관리 자동화

– Software 설치 및 구성 자동화

– 클라우드 자원 관리와 Software 관리의 통합

– 설치 및 구성을 위한 material의 통합관리 (설치 및 구성 스크립

트)

• Cloud Orchestrator는 IaaS에서 PaaS로 가기 위한 징검다리

12

Page 13: 2015 oce garuda

Bahamas Cloud Orchestrator

13

Page 14: 2015 oce garuda

Bahamas에서 Chef 연동

• Bahamas는 개발자의 역할을 시스템화 하는 것이 목표– Chef Workstation의 주요 기능의 온라인화– Chef Server 관리 통합– Chef Supermart 연동– 다양한 클라우드 지원

14

Cookbook다운로드

Chef Supermarket* Chef Supermarket은 설치 및 구성 스크립트가 공개되어 있는 커뮤니티입

니다.

관리 프로비저닝

CookbookRepository

Page 15: 2015 oce garuda

역할 정의

• 가상/물리서버에 역할(예; MySQL Server)을 배정

15

새로운 역할 정의

하나의 서버는 다수의

역할을 수행할 수 있음

– MySQL, Apache

UI를 통해 이미 정의한

역할을 결합하여 새로

운 역할 작업 가능

생성한 역할을 부트스

트랩시 서버에 적용

이미 정의되어 있는역할 목록

Page 16: 2015 oce garuda

Bootstrap

• 가상서버 및 물리서버에 설치 스크립트를 적용하는 과정(역할 배정)

16

MySQL 설치 자동화

Page 17: 2015 oce garuda

Bootstrap

• KT ucloud와 연계한 bootstrap

17

KT ucloud API 연계를 통한서비스 목록 생성

Page 18: 2015 oce garuda

Chef Supermartet 연동

• 무료로 공개되어 있는 설치 스크립트를 다운로드하여 자산화

18

Chef Supermarket

Chef Supermarket API

연동

Supermarket의 Chef

Cookbook 다운로드

Cookbook 조회

다운로드한 Cookbook

을 자체 관리용

Repository 업로드 및

관리 가능

Page 19: 2015 oce garuda

Chef Supermartet 연동

• 무료로 공개되어 있는 설치 스크립트를 다운로드하여 자산화

19

Supermarket을 통한

Cookbook 다운로드

압축해제

의존성 다운로드의존성

다운로드한

Cookbook

Cookbook

편집기

Page 20: 2015 oce garuda

워크플로우 관리

• 워크플로우 디자이너를 통해 복잡한 처리지원

20

복잡한 처리 과정의단순화

정의한 역할(Role)연계

변수 정의

병렬처리 지원

스크립트를 이용한다양한 작업 가능

Page 21: 2015 oce garuda

essencia: Model-driven SaaS ALM

제공자-운영자-소비자가 참여하여 모델링~개발~앱스토어까지의 생태계사이클을 참여자가 IaaS의 직접적인 핸들링 없이 지원

마이그래

이션 / 모

델링

개발 /

테스트

(이미지)

빌드

가격모형

결정 & 게

가입 & 취

커스터마

이징

개발자

비즈니스분석가

운영자

소비자

개발커뮤니티

앱스토어

표준프레임워크

셀프서비스

웹에서 개발 모델링

Page 22: 2015 oce garuda

essencia: 방법론 및 ALM 프로세스 정의

Page 23: 2015 oce garuda

essencia:클라우드 ALM 프로세스

Page 24: 2015 oce garuda

essencia: method execution &

monitoring

Page 25: 2015 oce garuda

Tools

garuda-portal: Cloud IDE

Code GeneratorEclipse CheShell

Page 26: 2015 oce garuda

uengine-uml:UML기반 Software Modeling

* 하기 모두 로드맵입니다

웹기반 UML 모델링

XMI 표준 준수(eCore 사용)

자바 클래스 생성, 리버스

클래스 인스턴스 입출력 생성

ERD 모델로의 전환

JPA 모델 생성

Page 27: 2015 oce garuda

uengine-bpm:비즈니스 프로세스 관리

업무 전문가를 위한실행가능 프로세스언어 – BPMN

GUI기반 비즈니스 룰정의

웹서비스 통합 (*CSB)

비즈니스 폼

데이터 매핑• DB 쿼리 자동화• SQL 툴

Page 28: 2015 oce garuda

garuda-portal/bss-monetization:가격 모형 관리 / 시뮬레이션

Plan Settings

Page 29: 2015 oce garuda

garuda: OSS support core

Garuda master

Master Node

DockerRegistry

DB

Garuda console

Load balancer

ProxyDMZ

REST API

Web UI

Firewall

Internet

Master

Slave

Master Master

Slave Slave ...

Cluster

ZK

Internal Firewall

Admin

http://<appId>.mydomain.com

* 색이 칠해진 박스는 하나의 VM Instance를 나타낸다.

Page 30: 2015 oce garuda

Developer Portal Zone

BPM Server

Operation Time Support (Integration via MSA / CSB)

Application Instance Zone

Router (HA Proxy

Provisioning

Agent

Docker 1(Tomca

t)

App-A.war

Docker 2(Tomca

t)

AppB.war

Provisioning

Agent

Docker 1(Tomca

t)

App-A.war

Docker 2(Tomca

t)

AppB.war

Provisioning

Agent

Docker 1(Tomca

t)

App-A.war

Docker 2(Tomca

t)

AppB.war

Provisioning

Agent

Docker 1(Tomca

t)

App-A.war

Docker 2(Tomca

t)

AppB.war

MQ

Cloud Controller

External Cloud Services

REST Service of AppA

SOA ServiceOf AppB

REST/SOA ServiceOf External Apps

Cloud IDE’s BPMN

Modeler

Page 31: 2015 oce garuda

Multi-tenancy Support

Developer Portal Zone

Metadata Server

Application Instance Zone

Router (HA Proxy

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

MQ

Cloud Controller

Brand for TID

Self Service Portal

Client

(Web Browser

TID.service.com

Logic for TID

Metadata per tenant

TID in ThreadLocal

Page 32: 2015 oce garuda

Business Supporting Service: Metering / Billing

Developer Portal Zone

Billing / Metering Server

Application Instance Zone

Router (HA Proxy

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

Provisioning Agent

Docker 1

(Tomcat)App-A.war

Docker 2

(Tomcat)AppB.war

MQ

Cloud Controller

Application Log

Plan Menagment /

Self Service

Client

(Web Browser

TID.service.com

serviceAserviceAserviceB….

Billing data per tenant

Aggregate and filter out Billing Logs

Page 33: 2015 oce garuda

Supporting Full Lifecycle of Model-driven, DevOps

클라우드

마이그래이

모델링/개

발/테스트

가격모형

관리 정산

클라우드

운영

멀티태넌트

가입 운영

Page 34: 2015 oce garuda

Case: KIAT’s R&D Cloud

IT 개발 부서

표준 프레임워크 개발 환

샌드박스

개발자 포탈

운영자 포탈

프로세스 엔진 (uEngine BPM)(개발, 배포, VM생성, Scale-out, 소멸 프로세스)

Apache DeltaCloud /JCloud (IaaS 접근 추상화)

형상관리서버(SVN/Git)

빌드서버(Jenkins)

개발기 인스턴스 운영기 인스턴스

다종 IaaS : 엔키아 / 오픈스택*

모델서버(메타데이터 서

버)

템플릿

마켓플레이스

가입자 포탈

(임차)사용기관

IT 운영

R&D Cloud PaaS엔진부

Page 35: 2015 oce garuda

OCE Umbrella

Developers Operators

Page 36: 2015 oce garuda

Differentiators

SaaS 성숙도 Level 3

• 멀티태넌시-싱글인스

턴스 프레임워크와

동적 확장 기능

• 셀프서비스 포탈을

통한 가입자 별 커스

터마이징

클라우드 IDE

• 공통서비스(오픈 API)

들을 웹상에서 직접

테스트

• 모델링 플랫폼을 통

한 프로세스, 룰, 브

랜드 관리 기능

프로세스 기반

• BPM기반의 가입, 자

원요청, 앱 등록 프로

세스 지원

• 웹 2.0 기반 소셜 개

발자 협업 환경 제공

• 어플리케이션 개발

운영 프로세스 변경

용이

표준 기반

• IaaS표준

인터페이스로 아파치

델타클라우드 및

JCloud를 기반하여

이기종 IaaS를

사용가능

Page 37: 2015 oce garuda

피드백을 주십시오!

• http://github.com/TheOpenCloudEngine

Page 38: 2015 oce garuda

Thank you