INTRODUCTION TO OPENSHIFT -...
Transcript of INTRODUCTION TO OPENSHIFT -...
● Provide ubiquitous access to data and services
● Achieve better quality of service
● Rapid innovation and faster time to market
I.T. TRANSFORMATION FOR EVERYONE
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...
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
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