Upload
posscon
View
149
Download
4
Tags:
Embed Size (px)
Citation preview
Accelerating Application
Delivery with OpenShift
Isaac Christoffersen
Bit Herder & Cloud Wrangler
@ichristo
Agenda
Platform as a Service Overview
OpenShift Overview
Developer Workflow
Platform as a Service
The Path to Developer Self-Service
Cloud Service Models
STORAGE
(RHS)
HARDWARE
(x86)
VIRTUALIZATION
(RHEV)
OPERATING SYSTEM
(RHEL)
APPLICATION PLATFORM
(JBOSS, PHP, RUBY, ETC)
APPLICATION
Automated and
Managed by the Public
or Private Cloud Offering
Managed and
Controlled by Customer
(IT, Dev, or User)
IaaS PaaS SaaS
Increased Control
Increased Automation
A Cloud Application Platform
Code Deploy Run
Save Time and MoneyCode your app
Push-button Deploy, and your App is running in the Cloud!
Challenge: Accelerating Delivery to Meet Demands
The transformation to IT as Manufacturing
Optimal
How to Build an App:1. Have Idea2. Get Budget3. Code4. Test5. Launch6. Automatically Scale
How to Build an App:1. Have Idea2. Get Budget3. Submit VM Request request4. Wait5. Deploy framework/appserver6. Deploy testing tools7. Code8. Test9. Configure Prod VMs10. Push to Prod11. Launch12. Request More Prod VMs to
meet demand13. Wait14. Deploy app to new VMs15. Etc.
VirtualizedHow to Build an App:1. Have Idea2. Get Budget3. Submit acquisition request4. Wait5. Get Hardware6. Rack and Stack Hardware7. Install Operating System8. Install OS Patches/Fix-Packs9. Create user Accounts10. Deploy framework/appserver11. Deploy testing tools12. Code13. Test14. Configure Prod servers (and buy
them if needed)15. Push to Prod16. Launch17. Order more servers to meet demand18. Wait…19. Deploy new servers20. Etc.
Physical
Code Deploy Enjoy
PaaS leverages automation technologies and a cloud architecture…
…to drive Velocity, Efficiency, and Scalability in IT
Accelerate IT Service Delivery
Multi-language,Auto-Scaling,Self-service,
Elastic,Cloud Application Platform
OpenShift Overview
Understanding How it Works
origin
Public
Cloud
Service
On-
premise
or Private
Cloud
Software
Open
Source
Project
The Three Forms of Red Hat’s PaaS
Developer IDE
Integrations
Web Browser
Console
Command Line
Tooling
REST APIs
Multiple ways to interact with OpenShift
The foundation of OpenShift Enterprise is Red Hat Enterprise Linux
RHEL RHELRHEL
RHEL RHEL RHEL
OpenShift Enterprise is a PaaS that runs on top of..... Infrastructure
OpenStack RHEV VMWare
Amazon EC2 Rackspace Bare Metal
The foundation of OpenShift Enterprise is Red Hat Enterprise Linux
RHEL RHELRHEL
RHEL RHEL RHEL
RHEL RHEL
A Developer creates a new application OpenShift creates a GEAR
Web ConsoleEclipse IDECmd Line
Broker Node Node Node
RHEL
OpenShiftGear
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Developer Workflow
Automates Gear Configuration via Cartridges
RHEL RHEL
CARTRIDGES are how OpenShift installs Languages & Middleware
Web ConsoleEclipse IDECmd Line
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
JBoss MySQL
Developers can add custom language, data-store, or
middleware with with a custom Cartridge.
CUSTOMEtc.
Etc.
Ruby
Python
PHP
Java
Postgres
MySQL
OpenShift DefaultCartridges
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
RHEL RHEL
Developer pushes application code via GIT source code management system
Git Protocol / ssh
Broker Node Node Node
RHEL
Push
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
JBoss
Code
GitRepo MySQL
OpenShift Automates Build, Test, Publish
RHEL RHEL
Broker Node Node Node
RHEL
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Jenkins(CI)
Maven(Builds) Apache
(HTTP)
Code
JBoss
GitRepo
MySQL
OpenShift Automates Application Scaling!
Broker Node Node Node
RHEL
HA-Proxy MySQLJava
Code
Java
Code
Java
Code
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Real-world App Dev– Multi Environments, Single PaaS
Brokers
NodesRHEL
Dev DISTRICT
Nodes
QA DISTRICT
Nodes
Prod DISTRICT
Dev QA Release Mgmt
Real-world App Dev– Multi Environments, multiple PaaSes
Nodes
Dev
Dev QA Release Mgmt
Nodes
QA
Nodes
Prod
Developer Work Flow
Choice meets Standardization
Developer IDE
Integrations
Web Browser
Console
Command Line
Tooling
REST APIs
Multiple ways to interact with OpenShift
RHEL RHEL
Developer pushes
application code via
GIT source code
management system
Git Protocol / ssh
Broker Node Node Node
RHEL
Push
JBoss
Code
Git
Repo MySQL
Web Console That Runs on Any Device
OpenShift’s RHC CLI Tools
Deploying a Spring Java Web Application
1. Create Apprhc app create springmlb tomcat7 mongodb-2.4 -g medium -n
vizuricloud
2. Add code
cd springmlb
cp -rf ../CODE/mlbparks-spring/* .
3. Add the code to source repository
git add .
git commit -m ”Spring MLB Parks Test”
5. Push your codegit push
6. Enjoy
OpenShift’s RHC CLI Tools
Deploying a JBoss Java Web Application
1. Create Apprhc app create jbossmlb jbosseap-6 -g medium -n vizuricloud
2. Add MongoDBrhc cartridge add mongodb-2.4 -a mlbparks -n vizuricloud
3. Add code
cd jbossmlb
cp -rf ../CODE/mlbparks-jboss/* .
4. Add the code to source repository
git add .
git commit -m "JBoss MLB Parks Test”
5. Push your codegit push
6. Enjoy
IDE Integration with Eclipse and IntelliJ
Choice of Languages, Frameworks and Middleware