45
Open Source PaaS, OPENSHIFT 이준영 [email protected]

Cloud life seminar open shift,이준영(배포용)

Embed Size (px)

DESCRIPTION

이준영 (현 소프트웨어인라이프 연구원) OpenShfit와 CSB.IO 인프라 비용을 절감하고 애플리케이션 개발속도를 향상 시킬 수 있는 방안으로 PaaS와 레드햇의 오픈 소스 솔루션인 OpenShift에 대하여 설명한다. 그리고, CSB.IO와 OpenShift의 미래 모습에 대해서도 소개한다. - The Cloud Life Seminar 2014 발표 내용

Citation preview

Page 1: Cloud life seminar   open shift,이준영(배포용)

Open Source PaaS,

OPENSHIFT

이준영[email protected]

Page 2: Cloud life seminar   open shift,이준영(배포용)

AgendaPlatform as a ServiceOpenShiftCSB.IO with OpenShift

Page 3: Cloud life seminar   open shift,이준영(배포용)

Platform as a Service

Page 4: Cloud life seminar   open shift,이준영(배포용)

“클라우드 공급자에 의해 지원되는 프로그래밍 언어, 라이브러리,

서비스, 툴들을 이용하여 생성된 애플리케이션이나 인프라 사용자

에 의해 생성된 애플리케이션을 배포할 수 있는 기술로써 사용자

는 네트워크, 서버, OS 같은 클라우드 인프라스트럭처를 관리하

거나 컨트롤하지 않고 배포 제어 가능”

- NIST(National Institue of Standards and Technology)

PaaS:

Page 5: Cloud life seminar   open shift,이준영(배포용)

왜 PaaS를 사용할까요?

생짜로����������� ������������������  서버����������� ������������������  환경����������� ������������������  구축하기!

Server

NetworkPower

< Operating System

< Runtimes

< Middlewares

< Libraries, etc..

Page 6: Cloud life seminar   open shift,이준영(배포용)

빌드 서버 세팅 좀

테스트 서버 세팅 해주세요~

스테이징 서버 좀

운영 서버 세팅 좀

서버 다중화도 해야..

이것도! 저것도!

CI용 서버도 필요한데..?

JIRA…

Git 서버..

개발은 언제…?

Page 7: Cloud life seminar   open shift,이준영(배포용)

데이터

애플리케이션

네트워크

스토리지

서버

운영체제 Managed by

IaaS

미들웨어

런타임 Managed by

PaaS

Page 8: Cloud life seminar   open shift,이준영(배포용)

PaaS Market Forecast, 2011-2016

Source: Market Trends Platform as a Service, Worldwide, 2011-2016, 2H12 Update

$900 million,2011

$2,900 million,2016

Page 9: Cloud life seminar   open shift,이준영(배포용)

PaaS Providers

OPENSHIFT GoogleApp Engine

IBMBluemix

Page 10: Cloud life seminar   open shift,이준영(배포용)

OpenShift

Page 11: Cloud life seminar   open shift,이준영(배포용)

OPENSHIFT?

•Apache����������� ������������������  2.0����������� ������������������  License����������� ������������������  

•오픈����������� ������������������  소스����������� ������������������  기반의����������� ������������������  PaaS����������� ������������������  

•애플리케이션의����������� ������������������  개발,����������� ������������������  배포,����������� ������������������  관리����������� ������������������  용이성����������� ������������������  제공����������� ������������������  

•다중����������� ������������������  언어����������� ������������������  및����������� ������������������  애플리케이션����������� ������������������  프레임워크,����������� ������������������  툴����������� ������������������  제공����������� ������������������  

•Origin����������� ������������������  /����������� ������������������  Online����������� ������������������  /����������� ������������������  Enterprise����������� ������������������  버전����������� ������������������  제공

Page 12: Cloud life seminar   open shift,이준영(배포용)
Page 13: Cloud life seminar   open shift,이준영(배포용)

13

Online Enterprise

Origin

Apps

Portability

Innov

ation

Stab

ilizati

onInnovation

Stabilization

Open SourceCommunity Project

On-demand ServiceOperated by Red Hat

Commercial Software to RunYour Own Private PaaS on theInfrastructure of Your Choice

Page 14: Cloud life seminar   open shift,이준영(배포용)

OpenShift 시스템 구성

Public / Hybrid / Private / Virtualization / Bare Metal

My!App

CG

roup

s SELinux GitRepo

JBossMySQL

Maven

Jenkins

Code

Jenkins Client

Cron

Node

Broker

Gear

REST GIT/SSH HTTP/S

Page 15: Cloud life seminar   open shift,이준영(배포용)

Broker

Broker

Node!

Gear!

Cartridge

•OpenShift의����������� ������������������  모든����������� ������������������  애플리케이션����������� ������������������  관리����������� ������������������  

•사용자����������� ������������������  관리����������� ������������������  

•애플리케이션����������� ������������������  상태����������� ������������������  관리����������� ������������������  

•콘솔����������� ������������������  및����������� ������������������  OpenShift의����������� ������������������  동작����������� ������������������  관리

Page 16: Cloud life seminar   open shift,이준영(배포용)

Cartridge

Broker

Node!

Gear!

Cartridge

•Runtime����������� ������������������  카트리지����������� ������������������  

•미들웨어����������� ������������������  카트리지����������� ������������������  

•데이터베이스����������� ������������������  카트리지����������� ������������������  

•애플리케이션이����������� ������������������  동작하기����������� ������������������  위한

실제����������� ������������������  환경����������� ������������������  제공

Page 17: Cloud life seminar   open shift,이준영(배포용)

Gear

Broker

Node!

Gear!

Cartridge

•하나����������� ������������������  또는����������� ������������������  그����������� ������������������  이상의����������� ������������������  카트리지를

실행하기����������� ������������������  위한����������� ������������������  자원����������� ������������������  컨테이너����������� ������������������  

•하나의����������� ������������������  기어에����������� ������������������  여러����������� ������������������  개의����������� ������������������  카트리지

추가����������� ������������������  가능����������� ������������������  

•SELinux와����������� ������������������  CGroups로����������� ������������������  격리

Page 18: Cloud life seminar   open shift,이준영(배포용)

Node

Broker

Node!

Gear!

Cartridge

•실제����������� ������������������  애플리케이션들이����������� ������������������  위치하는����������� ������������������  곳����������� ������������������  

•Node에����������� ������������������  다수의����������� ������������������  Gear가����������� ������������������  위치����������� ������������������  

•메시지����������� ������������������  큐를����������� ������������������  통해����������� ������������������  Broker와����������� ������������������  통신

Page 19: Cloud life seminar   open shift,이준영(배포용)

Cartridge List

Database! MongoDB! MySQL! PostgreSQL

Web Framework + Runtime! Java! JBoss Application Server! JBoss Enterprise Web Server (Tomcat)! PHP! Zend Server! Ruby! Python! Node.js! Perl! Vert.x

DIY / Custom Cartridge

CI and Tools! Jenkins Server & Jenkins Client! Cron! Switchyard!

Page 20: Cloud life seminar   open shift,이준영(배포용)

DIY & Custom Cartridge

DIY 카트리지 (Do-It-Yourself)! - 사용자(개발자) 정의 카트리지! - 개별 카트리지로 생성! - 생성한 사용자만 사용가능! - 개인별 관리!!Custom Cartridge! - 사용자(개발자) 정의 카트리지! - 공통 카트리지로 생성! - 카트리지 명세 준수! - OpenShift 시스템 관리자가 관리

Page 21: Cloud life seminar   open shift,이준영(배포용)

Quick Start

Cartridges

Node.js

MySQL

Source Code Configurations

+ +

OpenShift Application Package

Page 22: Cloud life seminar   open shift,이준영(배포용)

OpenShift 보안

Broker Node Node

SELinux 정책으로 기어를 안전하게 격리

•SELinux를����������� ������������������  통해����������� ������������������  멀티테넌트간의����������� ������������������  보안����������� ������������������  컨텍스트����������� ������������������  격리����������� ������������������  

•CGroups를����������� ������������������  통한����������� ������������������  멀티테넌트간의����������� ������������������  리소스����������� ������������������  격리����������� ������������������  

•각����������� ������������������  기어는����������� ������������������  SSH로����������� ������������������  접속����������� ������������������  가능����������� ������������������  

•브로커와����������� ������������������  노드가����������� ������������������  분리되어����������� ������������������  사용자����������� ������������������  정보와����������� ������������������  애플리케이션����������� ������������������  정보����������� ������������������  분리

Page 23: Cloud life seminar   open shift,이준영(배포용)

개발 지원 사항

REST API

Web ConsoleCLI Tool (RHC)

IDE

Page 24: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

1 2 3 4 5Develop

MyApp

Page 25: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

1 2 3 4 5Develop

Page 26: Cloud life seminar   open shift,이준영(배포용)

1

Developer Workflow

3 4 5Configure

JAVA

MySQL

Python

Ruby

etc..

JBoss

2

Page 27: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

JAVA

MySQL

Python

Ruby

etc..

JBoss

1 3 4 5Configure2

Page 28: Cloud life seminar   open shift,이준영(배포용)

3

Developer Workflow

{CODE}

GIT / SSH

1 4 5Push2

Page 29: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

GIT / SSH

31 4 5Push2

{CODE}

GIT!REPO

Page 30: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

41 3 5Build2

{CODE}

GIT!REPOMAVEN

JENKINS

APACHE

Page 31: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

41 3 5Build2

{CODE}

GIT!REPO

MAVEN

JENKINS

APACHE

Page 32: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

51 3 4 Scale2

{CODE}

GIT!REPO JAVAMySQL

Page 33: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

51 3 4 Scale2

{CODE}

GIT! JAVAMySQL

HAProxy{CODE}

GIT! JAVA

Page 34: Cloud life seminar   open shift,이준영(배포용)

Developer Workflow

51 3 4 Scale2

JAVA

MySQL

{CODE}

GIT!REPO

JAVAJAVA

{CODE}

GIT!

JAVA

Page 35: Cloud life seminar   open shift,이준영(배포용)

활용 사례 (국내)

클라우드 지원센터 Open PaaS

Page 36: Cloud life seminar   open shift,이준영(배포용)

활용 사례 (해외)

클라우드 지원센터 Open PaaS

- 개발자 5000- JVM 15000 환경- 관리 및 생산성 향상 검토

- 보다 빠른 애플리케이션 생성- 표준화된 엔터프라이즈 서비스- 표준화된 개발 워크플로우

- 최적화된 개발을 위한PaaS 구축계획

- 다중 언어 지원

- 내부 애플리케이션 개발 플랫폼- 클라이언트를 위한 PaaS 서비스 제공- PaaS Lab 환경

Page 37: Cloud life seminar   open shift,이준영(배포용)

2015 OpenShift Road Map

xPaaS!

- aPaaS (Application)! - iPaaS (Integration)! - bpmPaaS (Business Process)! - mPaaS (Mobile)

Docker Integration!

- Containerized Light-Weight! Host OS! - GEARD Integration

Service API Management!

- Throttling! - Billing! - Metering

.NET Integration!

- Throttling! - Billing! - Metering

Page 38: Cloud life seminar   open shift,이준영(배포용)

CSB.IO with OpenShift+

Page 39: Cloud life seminar   open shift,이준영(배포용)

CSB.IO?

Cloud Services Brokerage

CloudServices

CloudUsers

Page 40: Cloud life seminar   open shift,이준영(배포용)

CSB.IO를 사용하면 어떤 혜택이 있을까요?

쉬운����������� ������������������  클라우드����������� ������������������  관리

쇼핑몰����������� ������������������  같은����������� ������������������  Cloud����������� ������������������  Service����������� ������������������  선택

사용����������� ������������������  비용����������� ������������������  절감����������� ������������������  및����������� ������������������  Reward����������� ������������������  제공

Page 41: Cloud life seminar   open shift,이준영(배포용)
Page 42: Cloud life seminar   open shift,이준영(배포용)

CSB.IO + OpenShift

?

Page 43: Cloud life seminar   open shift,이준영(배포용)

Infrastructure KT  Ucloud  biz

CSB.IO

Brokerage

Users

Page 44: Cloud life seminar   open shift,이준영(배포용)

Infrastructure KT  Ucloud  biz

CSB.IO

Brokerage

Platform OPENSHIFT

Users

Page 45: Cloud life seminar   open shift,이준영(배포용)