오픈스택데이 오픈소스paas 솔루션 - openshift 소개

45
by 공개SW 기반의 PaaS 솔루션 OPENSHIFT 김호중 Solution Architect

Upload: ho-kim

Post on 13-Dec-2014

1.277 views

Category:

Documents


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

공개SW 기반의 PaaS 솔루션

OPENSHIFT

김호중 Solution Architect

Page 2: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

PaaS

OpenShift

Next Plans

Page 3: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

PaaS 특징 : 클라우드 서비스 모델

PaaS(Platform as a Service)

Page 4: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

• NIST’s Cloud Cube Model

클라우드 공급자에 의해 지원되는 프로그래밍 언어, 라이브러리, 서비스, 툴들 을 이용하여 생성된 애플리케이션이나 인프라 사용자에 의해 생성된 애플리케이션을 배포할 수 있는 능력(기술). 사용자는 네트워크, 서버, OS 같은 클라우드 인프라스트럭처를 관리하거나 컨트롤하지 않으나 배포 제어 가능.

– NIST -

PaaS(Platform as a Service)

PaaS 개념

Page 5: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

PaaS 특장점

개발환경 접근용이 : 클라우드 기반 환경

개발시간 및 비용 절감 : 개발시스템,S/W 구매/도입/설치등의 절차 불필요

개발 편이성 : 손쉬운 애플리케이션 설치 자동화

확장성 : 개발자별 사용 패키지 추가 및 배포 용이

개발 환경 및 개발 프레임워크 표준화 용이 : 표준화 버전 적용

소스 코드 관리 용이

배포 편리 : 빌드, 배포툴 기본 제공

개발자단에서의 제어와 배포를 할 수 있는 DevOPS 가능

멀티테넌시, 공유, 셀프서비스, 유연성, 실시간적인 버저닝, 확장성 등의 기능 제공

PaaS(Platform as a Service)

Page 6: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

PaaS 환경

1.업무 개발 계획 수립 2.예산 산정 3.코드 개발 4.테스트 5.실행 6. 자동 확장

1.업무 개발 계획 수립 2.예산 산정 3.VM 생성 요청 4.대기 5.framework/appserver 설치 6.테스트 툴 설치 7.테스트 툴 시험 8.코드 개발 9.운영 VM 구성 10.코드 업로드 11.실행 12.요구에 따라 운영VM 추가요청 13.대기 14.새로운 VM에 운영환경 구성 15.기타 작업

가상화 환경

1.업무 개발 계획 수립 2.예산 산정 3.하드웨어 구매 요청 4.대기 5.하드웨어 구매 6.하드웨어 설치 7.OS 설치 8.OS 패치 적용 9.사용자 계정 생성 10.framework/appserver 설치 11.테스트 툴 설치 12.테스트 툴 시험 13.코드 개발 14.운영 서버 구성 15.코드 업로드 16.실행 17.요구에 따라 새로운 서버 구매 18.대기 19.새로운 서버 구성 20.기타 작업

물리적인 환경

PaaS : 개발단계 간소화

PaaS(Platform as a Service)

Page 7: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

DevOps

PaaS(Platform as a Service)

DevOps는 소프트웨어 개발자들과 IT 종사자들 사이의 의사소통, 협업, 융합을 강조한 소프트웨어 개발 방법론이며, 소프트웨어 개발과 IT 운영간의 상호 의존관계에 대한 산물이다. DevOps 는 조직에서 소프트웨어 상품과 서비스를 신속히 생산하는 것에 도움이 되는 것을 목적으로 한다.

- Wikipedia –

자동화된 빌드와 릴리즈

자동화된 인프라스트럭처와 시스템 프로비저닝

DevOps 팀간의 일관된 도구 사용

설정과 같은 코드는 어플리케이션 코드와 분리

공유가 가능한 버전 관리 도구 보유

감사시 릴리스 추적 가능(요구사항에서 운영까지)

모델화된 수명주기 (예로 버전관리되는 SDLC)

Bes Practice

Page 8: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

PaaS

OpenShift

Next Plans

Page 9: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Apache 2.0 License

오픈소스 기반의 PaaS(Platform-as-a-Service)

온디맨드 방식의 셀프서비스 포털 제공

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

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

Public/Private 서비스 제공

탄력성과 확장성을 지원하는 Auto-Scaling 지원

RHEL(RedHat Enterprise Linux) 기반위에서 구성 지원

OpenShift Enterprise 소개

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 10: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 종류

OpenSource 기반의 커뮤니티 프로젝트 2012 ~ http://openshift.github.io/

Amazon기반의 Public PaaS 서비스 2011 ~ http://www.openshift.com

Private/Hybrid PaaS 위한 솔루션 2014. 5. OSE2.1 http://www.redhat.com/products/cloud-

computing/openshift-enterprise/

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 11: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 구조

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 12: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Node

Gear

OpenShift 주요 구성 요소

오픈쉬프트 기반의 모든 어플리케이션 관리 시스템 사용자 로그인, 어플리케이션 상태, 콘솔 등 오픈쉬프트 동작 관리 DNS 인증 및 다중 Node 제어 관리

Broker

Perl, PHP, Python, Ruby, MySQL, Spring같은 어플리케이션 Default/Custom(DIY) 카트리지 제공 어플리케이션 위한 실질 기능 제공

Catridge

하나 또는 그 이상의 카트리지를 실행하기 위한 자원 컨테이너 내부에 안전한 컨테이너 제공 하나의 기어노드에 여러 개의 카트리지 포함 가능

단일 물리 머신 또는 가상 머신 기준 사용자 Gear들이 실제 배치 되는 곳

RHEL RHEL

Node Node Node

Gear

MySQL

AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal

Catridge

Etc.

Ruby

Python

PHP

Java

Postgres

MySQL

Broker

RHEL

DNS MongoDB

1

2

3

4

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 13: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Platform

Amazon, Google compute등 Public Cloud Service기반에서 구축 가능

RHEV, Vmware, HyperV 등 다양한 가상화 기반에서 구축 가능

물리서버에 베어메탈 방식으로 구축 가능

OpenShift Enterprise 플랫폼

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 14: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Catridge

JBoss EAP 6.1.0

Jenkins Server

Node.js 0.10

Perl 5.10

PHP 5.3

Python 2.6

Python 2.7

Ruby 1.8

Ruby 1.9

Tomcat 6 / 7

(JBoss EWS 1.0/2.0)

Cron 1.4

Jenkins Client

MySQL 5.1

PostgreSQL 8.4

PostgreSQL 9.2

HA Proxy 1.4

Do-It-Yourself 0.1

OpenShift Enterprise 카트리지

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 15: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

DIY Catridge

OpenShift Enterprise 카트리지 (cont.)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Custom Catridge

사용자(개발자) 정의 카트리지

공통 카트리지로 생성

카트리지 생성 규칙 준수

Admin에 의한 관리 필요

사용자(개발자) 정의 카트리지

개별 카트리지로 생성

생성자만 사용 가능한 카트리지

개인별 관리

Page 16: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 보안

Security

RHEL RHEL

SELinux 정책들은 노드의 인스턴스들을 안전하게 분리

Broker Node Node Node

RHEL

• CC 인증 EAL4+ 를 취득한 RHEL6 기반

• SELinux를 통한 멀티테넌트간의 리소스 독립적인 할당 및

영역(District)간의 격리 제공

• 개발자들의 접근에 대해 SSH key 인증를 통한 접근 제어 제공

• 사용자 계정 및 도메인 등의 인증관리를 하는 관리 노드와

사용자 노드간 분리를 통해 사용자의 접근 제어

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 17: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 상호 작용

REST APIs

커맨드라인

개발통합IDE

웹브라우저 콘솔

지원 사항

• IDE : Eclipse, Jboss Developer Studio 등 지원

•Ruby와 Git를 이용한 개발과 소스 동기화 지원

•브라우저 기반에서의 콘솔 지원

•REST API를 통한 사용자용 개발툴 또는 IDE 지원

OpenShfit 클라이언트 툴

•로컬 인증 : ruby(rubygem), git, SSH key 필요

•지원 OS : Windows, Max OS X, Linux

(Ubuntu/Debian ,openSUSE, Fedora, RHEL등)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 18: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

오픈쉬프트 파트너 생태계 시스템

•http://www.openshift.com/partners

• 시스템 통합업체들은 오픈쉬프트를 기반으로 고객들에게 컨설팅과 설계 서비스를 제공.

• 오픈쉬프트를 이용해서 자체 애플리케이션들이나 SaaS 솔루션들을 개발하고자 하는 개발 파트너

• 자체 사설 PaaS나 오픈쉬프트를 통한 클라우드 서비스를 공급하는 업체들

• 개발자들이나 관리자들을 위해 오픈쉬프트에 기능을 추가하거나 보완적인 기술들을 제공하는 ISV

OpenShift Enterprise 에코 시스템

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 19: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 워크 플로우

GEAR생성

개발자가 새로운 App 생성 -> OpenShift가 GEAR 생성

Web Console Eclipse IDE Cmd Line

OpenShift Gear

RHEL

Broker Node Node

RHEL

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 20: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 워크 플로우(계속)

Catridge 설치

오픈쉬프트는 카트리지를 통해 개발언어와 미들웨어설치

RHEL

Broker Node Node

RHEL

JBoss MySQL

Web Console Eclipse IDE Cmd Line

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 21: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 워크 플로우(계속)

Code 동기화

개발자는 application 개발 후 Git를 통해 코드 푸쉬(push)

RHEL

Broker Node Node

RHEL

JBoss

Code

Git Repo

MySQL

Web Console Eclipse IDE Cmd Line

Git Protocol / ssh

Push

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 22: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 워크 플로우(계속)

빌드 및 배포

코드에 대한 빌드 및 테스트, 배포 자동화

RHEL

Broker Node Node

RHEL

Jenkins (CI)

Maven (Builds) Apache

(HTTP)

JBoss Code

Git Repo MySQL

배포

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 23: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 워크 플로우(계속)

애플리케이션 확장

HA Proxy를 이용한 애플리케이션 서비스 확장

트래픽 가중치에 의한 확장 지원

Web, WAS, DB등의 애플리케이션 해당

Broker Node Node Node

Java

Code

Java

Code

Java

Code

RHEL

HA-Proxy MySQL

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 24: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 데모– 웹콘솔 기반

로그인

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 25: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 데모– 웹콘솔 기반(계속)

애플리케이션 생성

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 26: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

도메인 지정 Scaling 지정

OpenShift Enterprise 데모– 웹콘솔 기반(계속)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 27: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

정보 확인

OpenShift Enterprise 데모– 웹콘솔 기반(계속)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 28: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

애플리케이션 추가시

OpenShift Enterprise 데모– 웹콘솔 기반(계속)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 29: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

애플리케이션 생성 완료

OpenShift Enterprise 데모– 웹콘솔 기반(계속)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 30: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

SSH 키 등록

OpenShift Enterprise 데모– 웹콘솔 기반(계속)

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 31: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

애플리케이션 갤러리

기타

https://www.openshift.com/application-gallery

Page 32: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by 32

OpenShift 적용 사례 : 국내

Open PaaS - http://openpaas.cloudsc.kr

Reference

Page 33: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by 33

OpenShift 적용 사례 : 국내

해외 진행 사례

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

신뢰가능한 파트너 Feature-set 유연성/커스터마이징

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

다중 언어 지원

오픈소스 기반

유연성, 커스터마이징

요구사항 적합

Red Hat Tech Stack

5,000 개발자

15,000 JVM 환경

- 이에 대한 관리와 생산성 향상 검토

표준화된 개발 워크플로우 제공

표준화된 스택 지원

고급 기술 지원 가능

보다 빠른 애플리케이션 생성

표준화된 엔터프라이즈 서비스 제공

표준화된 개발 워크플로우

신뢰가능한 대형 벤더

개발자들을 위한 셀프 서비스

스택들에 대한 표준화

Reference

Page 34: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

PaaS

OpenShift

Next Plans

Page 35: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

xPaaS

Next Plans

2014.하반기 지원 예정 - https://www.openshift.com/xpaas

Page 36: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

xPaaS (cont.)

Next Plans

aPaaS (Application)

iPaaS (Integration)

• Fuse

• Data Virtualization

• JBoss EAP6

bpmPaaS (Business Process)

• Busines Process

Management

• Business Activity

Monitoring

• Unified Push Server

- AeroGear

mPaaS (mobile)

Page 37: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Mobile

Next Plans

모바일 개발 애플리케이션

• Android

• iOS(Beta)

• Windows Phone

OpenShift Online 적용 상태

OpenShift Enterprise

- 2014.하반기 적용 예정

Page 38: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Mobile (cont.)

Next Plans

기술 스택

PhoneGap (Apache Cordova)

PhoneGap Builld

JQuery Mobile

OpenShift Rest API

Page 39: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Next Plans

Project Atomic - http://www.projectatomic.io/docs/

Docker와의 통합

• 컨테이너 형 가상화에 최적화 된 가벼운 호스트 OS를 개발하는 프로젝트

Page 40: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Next Plans

OpenShift Integration

Docker와의 통합 (cont.)

Page 41: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Heat를 통해 OpenStack에 openshift 자동 배치(https://wiki.openstack.org/wiki/Heat/Running-openshift)

OpenShift on OpenStack

Next Plans

Page 42: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

Deploying a Highly Available OpenShift Enterprise 2.0 Environment on RHEL OSP 4 Using Heat Templates

OpenShift on OpenStack (cont.)

Next Plans

Page 43: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

OpenShift Enterprise 플랫폼

공개 SW기반 PaaS 솔루션 OPENSHIFT

Page 44: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by

감사합니다

Page 45: 오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개

by