INTRODUCTION TO OPENSHIFT -...

43
RED HAT CONFIDENTIAL 1 INTRODUCTION TO OPENSHIFT Martin Sauvé Architecte de solutions 21 janvier 2015

Transcript of INTRODUCTION TO OPENSHIFT -...

RED HAT CONFIDENTIAL1

INTRODUCTION TOOPENSHIFT

Martin SauvéArchitecte de solutions21 janvier 2015

● Provide ubiquitous access to data and services

● Achieve better quality of service

● Rapid innovation and faster time to market

I.T. TRANSFORMATION FOR EVERYONE

4 RED HAT CONFIDENTIAL

THREE PILLARS OF AN I.T. ORGANIZATION

5 RED HAT CONFIDENTIAL

THE PEOPLE

6 RED HAT CONFIDENTIAL

OPERATIONALSTABILITY

RAPID DEVELOPMENT

THE I.T. BALANCING ACT

To meet the growing demands of the business, developers and I.T. operations must find balance...

7 RED HAT CONFIDENTIAL

THE PROCESS AND THE TECHNOLOGY

8 RED HAT CONFIDENTIAL

TYPICAL DEVELOPMENT LIFECYCLE

1. Have Idea2. Get Budget3. Submit Hardware Request4. Wait...5. Get Hardware6. Rack and Stack Hardware7. Install Operating System8. Install Operating System Patches9. Create User Accounts10. Deploy Application Server11. Deploy Framework/Tools12. Code13. Test14. Buy and Configure Prod Servers15. Push to Prod16. Launch17. Order More Servers to

Meet Demand18. Wait…19. Deploy New Servers20. Etc.

PHYSICAL VIRTUAL

1. Have Idea2. Get Budget3. Submit VM Request4. Wait...5. Deploy Application Server6. Deploy Framework/Tools7. Code8. Test9. Configure Prod VMs10. Push to Prod11. Launch12. Request VMs to Meet Demand13. Wait...14. Deploy New VMs15. Etc.

9 RED HAT CONFIDENTIAL

PRODDEV TESTLOCAL

DEV

PROVISIONING

PAIN POINT

TYPICAL ENVIRONMENT PROVISIONING

PROVISIONING

PAIN POINT PROVISIONING

PAIN POINT

10 RED HAT CONFIDENTIAL

DEVLOCAL DEV

TYPICAL DEPLOYMENT PIPELINE

MANUAL, ERROR-PRONE

PROCESS

TEST PROD

MANUAL, ERROR-PRONE

PROCESS

MANUAL, ERROR-PRONE

PROCESS

11 RED HAT CONFIDENTIAL

WHAT IF...

We could automate environment provisioning?

We could standardize technology stacks and platforms?

We could consolidate our resources and pool usage?

12 RED HAT CONFIDENTIAL

REALIZING I.T. EFFICIENCY

COLLABORATION

AUTOMATIONSTANDARDIZATION

CONSOLIDATION

13 RED HAT CONFIDENTIAL

APPLYING THE METHODOLOGIES

DEVOPSDEVOPS

14 RED HAT CONFIDENTIAL

CLOUD CLOSES THEINNOVATION GAP

CLOUDCOMPUTING

15 RED HAT CONFIDENTIAL

EPHEMERAL ANONYMOUS

POOF!

CLOUD SERVERS ARE...

MULTI-TENANT

16 RED HAT CONFIDENTIAL

RAPIDELASTICITY

SELF-SERVICE PROVISIONING

RESOURCEPOOLING

NETWORKACCESS

MEASUREDSERVICE

CLOUD COMPUTING CHARACTERISTICS

17 RED HAT CONFIDENTIAL

COMPUTE RESOURCES(CPU, RAM, Network, Disk)

VIRTUAL GUEST IMAGES

OPERATING SYSTEM

APPLICATION PLATFORM(App Server, Middleware, Languages, Frameworks)

APPLICATION

Automated and Managed by the Cloud Provider

Provided and Controlled by the Cloud Consumer

IAAS

INCREASED AUTOMATION

DEVELOPER TOOLING(Source Control, Build Tools, CI)

CLOUD SERVICE MODELS

PAAS SAAS

INCREASED CONTROL

IMPLEMENTING A PAAS

The use of Platform-as-a-Service technologies will enable IT organizations to become more agile and more responsive to the business needs. —GARTNER

19 RED HAT CONFIDENTIAL

Multi-Language Auto-Scaling Self-Service Open Source

Enterprise-Grade Secure

Built on Red Hat

OPENSHIFT IS PAAS BY RED HAT

20 RED HAT CONFIDENTIAL

Public PaaS

Service

On-premise or Private

PaaSSoftware

Open Source PaaSProject

RED HAT'S PAAS STRATEGY

21 RED HAT CONFIDENTIAL

Public - Hybrid - Private - Virtualization - Bare Metal

OPENSHIFT PAAS ON YOUR CHOICE OF CLOUD OR INFRASTRUCTURE...

22 RED HAT CONFIDENTIAL

OpenShift BrokerManagement and Orchestration Engine

RHEL

Public - Hybrid - Private - Virtualization - Bare Metal

OpenShift Nodes Application Hosting Infrastructure

Broker (RHEL)

Node (RHEL)

Node (RHEL)

AN OPENSHIFT BROKER MANAGES MULTIPLE OPENSHIFT NODES

23 RED HAT CONFIDENTIAL

Broker (RHEL)

RHEL

Node

Public - Hybrid - Private - Virtualization - Bare Metal

Node (RHEL)

Node (RHEL)

A NODE IS AN INSTANCE OF RHEL

Red Hat Enterprise Linux

24 RED HAT CONFIDENTIAL

RHEL GEAR

Node

Public - Hybrid - Private - Virtualization - Bare Metal

GEAR GEAR

MyApp

HerApp

HisApp

Broker (RHEL)

Node (RHEL)

Node (RHEL)

OPENSHIFT USER APPLICATIONS RUNS IN CONTAINERS CALLED GEARS

Red Hat Enterprise Linux

25 RED HAT CONFIDENTIAL

RHEL

SE

Lin

ux

SELinux

SE

Lin

ux

GEAR

Node

Public - Hybrid - Private - Virtualization - Bare Metal

MyApp

Broker (RHEL)

Node (RHEL)

Node (RHEL)

SELinux Security• “Jail” around Gear• MAC instead of DAC• Process/memory protection• Pre-configured for you

GEARS USE SELINUX FOR PRE-CONFIGURED SECURITY

Red Hat Enterprise Linux

26 RED HAT CONFIDENTIAL

RHEL GEAR

Node

Public - Hybrid - Private - Virtualization - Bare Metal

CG

rou

ps C

Grou

ps

MyApp

Broker (RHEL)

Node (RHEL)

Node (RHEL)

CGroups Resource Mgmt• Sets upper bounds• CPU• Memory• Disk

GEARS USE LINUX CGROUPS FOR RESOURCE MANAGEMENT

Red Hat Enterprise Linux

27 RED HAT CONFIDENTIAL

RHEL

SE

Lin

ux

GEAR

Node

Public - Hybrid - Private - Virtualization - Bare Metal

CG

rou

ps

GEAR IDLED

MyApp

HerApp

Broker (RHEL)

Node (RHEL)

Node (RHEL)

IDLE GEARS CAN BE “DE-HYDRATED” BY THE OPENSHIFT BROKER

Red Hat Enterprise Linux

28 RED HAT CONFIDENTIAL

RHEL

Red Hat Enterprise Linux

Node

Public - Hybrid - Private - Virtualization - Bare Metal

Broker (RHEL)

Node (RHEL)

Node (RHEL)

OPENSHIFT MULTI-TENANCY PROVIDES DENSITY, EFFICIENCY, AND SECURITY

29 RED HAT CONFIDENTIAL

● OpenShift Nodes are assigned a Node Profile● Node Profile describes resources (RAM, CPU...)

available to each gear

● Nodes are assigned a capacity (max_gears)

● Nodes have a default gear quota by user

● Max gears can be adjusted for individual users● oo-admin-ctl-user -l username --setmaxgears 101

OpenShift Nodes

STREAMLINING DEVELOPMENTWITH OPENSHIFT

The use of Platform-as-a-Service technologies will enable IT organizations to become more agile and more responsive to the business needs. —GARTNER

31 RED HAT CONFIDENTIAL

TYPICAL DEVELOPMENT LIFECYCLE

1. Have Idea2. Get Budget3. Submit Hardware Request4. Wait...5. Get Hardware6. Rack and Stack Hardware7. Install Operating System8. Install Operating System Patches9. Create User Accounts10. Deploy Application Server11. Deploy Framework/Tools12. Code13. Test14. Buy and Configure Prod Servers15. Push to Prod16. Launch17. Order More Servers to

Meet Demand18. Wait…19. Deploy New Servers20. Etc.

PHYSICAL VIRTUAL

1. Have Idea2. Get Budget3. Submit VM Request4. Wait...5. Deploy Application Server6. Deploy Framework/Tools7. Code8. Test9. Configure Prod VMs10. Push to Prod11. Launch12. Request VMs to Meet Demand13. Wait...14. Deploy New VMs15. Etc.

32 RED HAT CONFIDENTIAL

RHEL

Red Hat Enterprise Linux

Node

Public - Hybrid - Private - Virtualization - Bare Metal

DEVELOPER

Broker (RHEL)

Node (RHEL)

Node (RHEL)

A developer has a new idea for an application. First,

they need to create a new gear in OpenShift...

DEVELOPER WORKFLOW

33 RED HAT CONFIDENTIAL

RHEL

Red Hat Enterprise Linux

Node

Public - Hybrid - Private - Virtualization - Bare Metal

MY GEAR

DEVELOPER

Broker (RHEL)

Node (RHEL)

Node (RHEL)

REST

Web ConsoleEclipse IDECmd Line

GEAR CREATION (WEB, CLI, ECLIPSE)

cronlogssshd

34 RED HAT CONFIDENTIAL

RHEL

Node

Public - Hybrid - Private - Virtualization - Bare Metal

JBoss

DEVELOPER

MY GEAR

Broker (RHEL)

Node (RHEL)

Node (RHEL)

REST

Web ConsoleEclipse IDECmd Line

Cartridges are how OpenShift installs languages

and middleware

Red Hat Enterprise Linux

cronlogssshd

OPENSHIFT AUTOMATES GEAR CONFIGURATION VIA CARTRIDGES

35 RED HAT CONFIDENTIAL

RHEL

Node

Public - Hybrid - Private - Virtualization - Bare Metal

JBoss

DEVELOPER

MY GEAR

Broker (RHEL)

Node (RHEL)

Node (RHEL)

Etc.

Etc.

Ruby

Python

PHP

Java

Postgres

MySQLJBoss EWS

JBoss EAP

CUSTOM

Red Hat Enterprise Linux

REST

Web ConsoleEclipse IDECmd Line

cronlogssshd

CARTRIDGE TYPES

36 RED HAT CONFIDENTIAL

OpenShift Enterprise cartridges are a mechanism to encapsulate application components, for example:

– language runtimes,• Java, PHP, Ruby, Python, Node.js, and Perl

– Middleware,• Jenkins CI server and client, Cron, and the

HAProxy load balancer – and databases

● MySQL, PostgreSQL,

– expose them as services • so developers can use them to create applications

OpenShift Cartridges

37 RED HAT CONFIDENTIAL

Developers select a web framework cartridge – for the desired programming language. – handles HTTP requests and serve web pages or

business APIs. – OpenShift servers route traffic to the application

Combining cartridge– developer can add further cartridges

• Ex: a database or a build server– to provide additional capabilities to the application.

Contain an implementation of the life cycle events● Ex: start, stop, scale...co

L

OpenShift Cartridges

38 RED HAT CONFIDENTIAL

RHEL

Node

Public - Hybrid - Private - Virtualization - Bare Metal

JBossCode

GITRepo

DEVELOPER

GIT/SSH

MySQL

MY GEAR

Broker (RHEL)

Node (RHEL)

Node (RHEL)

Developer pushes application code via GIT

source code management system

Red Hat Enterprise Linux

REST

Web ConsoleEclipse IDECmd Line

cronlogssshd

NOW, CODE AND PUSH

39 RED HAT CONFIDENTIAL

RHEL

Node

Public - Hybrid - Private - Virtualization - Bare Metal

JBossCode

GitRepo

DEVELOPER

GIT/SSH

jenkins

MySQL

Jenkins

MY GEAR

Broker (RHEL)

Node (RHEL)

Node (RHEL)

Maven

Red Hat Enterprise Linux

REST

Web ConsoleEclipse IDECmd Line

cronlogssshd

OPENSHIFT CAN AUTOMATED BUILD AND TEST WITH MAVEN AND JENKINS FOR CI

40 RED HAT CONFIDENTIAL

RHEL

Node

Public - Hybrid - Private - Virtualization - Bare Metal

JBossCode

GitRepo

DEVELOPER

USER

GIT/SSH

MySQL

HTTP/S

MY GEAR

Broker (RHEL)

Node (RHEL)

Node (RHEL)

jenkins

Jenkins

Maven

Red Hat Enterprise Linux

cronlogssshd

REST

Web ConsoleEclipse IDECmd Line

HTTP(S) SERVED FROM GEARS

41 RED HAT CONFIDENTIAL

RHEL

Node

MANY USERS

MySQL

MY AUTO-SCALED APP

JBosscronlogssshd

JBosscronlogssshd

JBosscronlogssshd

HA-Proxy

HTTP/S

Broker (RHEL)

Node (RHEL)

Node (RHEL)

Red Hat Enterprise Linux

Public - Hybrid - Private - Virtualization - Bare Metal

OPENSHIFT AUTOMATES APPLICATION SCALING

42 RED HAT CONFIDENTIAL

STREAMLINING DEVELOPMENT WITH PAAS

1. Have Idea2. Get Budget3. Submit Hardware Request4. Wait...5. Get Hardware6. Rack and Stack Hardware7. Install Operating System8. Install Operating System Patches9. Create User Accounts10. Deploy Application Server11. Deploy Framework/Tools12. Code13. Test14. Buy and Configure Prod Servers15. Push to Prod16. Launch17. Order More Servers to

Meet Demand18. Wait…19. Deploy New Servers20. Etc.

PHYSICAL VIRTUAL WITH PAAS

1. Have Idea2. Get Budget3. Submit VM Request4. Wait...5. Deploy Application Server6. Deploy Framework/Tools7. Code8. Test9. Configure Prod VMs10. Push to Prod11. Launch12. Request VMs to Meet Demand13. Wait...14. Deploy New VMs15. Etc.

1. Have Idea2. Get Budget3. Code4. Test5. Launch6. Automatically Scale

CRAFTWORK ASSEMBLY LINE

43 RED HAT CONFIDENTIAL

DEVLOCAL DEV

DEPLOYMENT PIPELINE WITH OPENSHIFT

TEST PROD