About Me
Red Hat Cloud Evangelist Twitter: @ghaff
Google+: Gordon Haff
Email: ghaff@redhat.com Blog: http://
bitmason.blogspot.com
Formerly: Illuminata (industry analyst), Data General
(minicomputers/Unix/NUMA/ etc.)
Agenda
•
Where are we?
•
Where do we need to go?
•
How does PaaS get us there?
LANGUAGES
Much of my work has come from being lazy. I didn't like wriAng
programs, and so, when I was working on the IBM 701, wriAng programs for compuAng missile
trajectories, I started
work on a programming system to make it easier to write programs.
• It should be "simple, object-‐
oriented and familiar"
• It should be "robust and
secure"
• It should be "architecture-‐
neutral and portable"
• It should execute with "high
performance"
• It should be "interpreted,
11
Top 10 Programming Languages
• JavaScript
• Java
• PHP
• Python
• Ruby
• C#
• C++
• C
• Objective-C
• Perl
• Source: hOp://redmonk.com/sogrady/2013/02/28/language-‐rankings-‐1-‐13/#ixzz2ecQupc6S
SOURCE CONTROL
SYSTEMS (TOOLS)
•
Networking:
None
•
OperaAons:
One file at a Ame
•
Concurrency:
•
Networking:
Centralized
•
OperaAons:
MulA-‐file
•
Concurrency:
Merge before
commit
16
•
Networking:
Distributed
•
OperaAons:
Changesets
•
Concurrency:
Commit before
merge
ARCHITECTURES
19
Source: http://www.slideshare.net/adrianco/gluecon-tutorial-details-2013 Adrian Cockcroft
http://www.flickr.com/photos/hen_riko/8627290473
DEVELOPMENT
METHODOLOGIES
23
Esti Alvarez/flickr under CC
VELOCITY OF RESOURCE
ACQUISITION
25
“The average time for
setting up a new server used
to be 30 days. Now the worst
case is 12 days.”
VirtualizaAon: An iniAal flexibility step
26
Server
Virtualization Virtualization Distributed
Visibility Control
Optimization Automation
l Consolidation
l Reduce Capital Expense
l Flexibility & Speed
l Reduce Operational Expense
l Automation
l Less Downtime
D
rive
rs
27
Cost per VM Hour Server: Admin Ratio Resource Utilization App Deployment
New App Development
1x 300: 1 75% Minutes vs. vs. vs. vs. vs. 10x 20: 1 20% Weeks Years
PUBLIC CLOUDS TRADITIONAL ENTERPRISE IT
Weeks/ Months
PERVASIVE NEW EXPECTATIONS
AGILITY. EFFICIENCY. COST SAVINGS.
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
Why PaaS now?
• Web-‐friendly, abstracted languages
– Java, PHP, Python, Ruby, etc.
• Modern open source tools
– Distributed source control (git)
– Maven, Jenkins, Eclipse, etc.
• “Agile” development pracAces
– More speed, more iteraAon
• “Cloud” applicaAon design paOerns
– Loosely-‐couples, service-‐oriented
Fundamental accelera@on
of business
Manufacturing as a Model for IT
Consolidated Aircraft B-24 Liberator
Incredibly sophisticated. ~500k parts, assembled by unskilled labor.
No Mfg process. Parts were cast in rubber molds, so every part was slightly different. Assembled in the heat of San Diego, which warped the metal and required whole
assemblies to be adjusted.
Ford Motor Co. brought a Manufacturing
process … went from 250 planes a year to
650 planes a month.
About re-engineering the complete process.
Streamlining App Dev with PaaS
With PaaS
How to Build an App:
1. Have Idea 2. Get Budget
3. Code
4. Test
5. Launch
6. Automatically Scale
How to Build an App:
1. Have Idea 2. Get Budget
3. Submit VM Request request
4. Wait
5. Deploy framework/appserver
6. Deploy testing tools
7. Test testing tools
8. Code
9. Configure Prod VMs
10. Push to Prod
11. Launch
12. Request More Prod VMs to
meet demand 13. Wait
14. Deploy app to new VMs
15. Etc.
Virtualized
How to Build an App:
1. Have Idea
2. Get Budget
3. Submit hardware acquisition request
4. Wait
5. Get Hardware
6. Rack and Stack Hardware
7. Install Operating System
8. Install Operating System Patches/
Fix-Packs
9. Create user Accounts
10. Deploy framework/appserver
11. Deploy testing tools 12. Test testing tools
13. Code
14. Configure Prod servers (and buy them if needed)
15. Push to Prod 16. Launch
17. Order more servers to meet demand
18. Wait…
19. Deploy new servers
20. Etc.
Physical
“The use of Platform-as-a-Service technologies will enable
IT organizations to become more agile and more responsive to the business needs.” –Gartner*
Good fences make
good neighbors
Walls tradiAonally hindered
DevOps about tearing down wall
Dev2ops.org
How Can I Consume OpenShift?
STORAGE (RHS) HARDWARE (x86) VIRTUALIZATION (RHEV) OPERATING SYSTEM (RHEL) APPLICATION PLATFORM(JBOSS, PHP, RUBY, ETC)
APPLICATION Public Cloud Service On-Premise or Private Cloud Software Developer Controls Developer Controls Operated by Red Hat at Scale for 18
Months IT Ops
Provides OpenShift Automates, IT Ops Controls
Developers
• Abstracts away
irrelevant plaform details
• Provides self-‐
service
• Reduces Ame to
code
• Increases
producAvity
• Supports familiar
tools
Nelson Pavlosky/flickr under CC
Developers Choose Languages, Frameworks and Middleware
OperaAons
• Delegates and
automates provisioning
• Automates tasks
such as scaling
• Improves IT
service levels
• Provides control
over
development environments
Leonardo Rizzi/flickr under CC
Efficient & Secure MulA-‐Tenancy
Linux Linux
Super-efficient, secure, multi-tenant containerization model using:
SELinux, Control Groups, Namespaces
Broker Node Node Node
Linux
Automates Application Scaling
Broker Node Node Node
RHEL
HA-Proxy Java MySQL
Cod e
Java Cod e
Java
Code
Architects
• Enables
standardized development workflows
• Reduces Ame to
develop
applicaAons
• Increases developer
producAvity
401(K) 2013//flickr under CC
Helps IT Architects Streamline & Automate Developer Workflows
RHEL RHEL
A Developer creates a
new application à
OpenShift creates a GEAR
Web Console Eclipse IDE Cmd Line
Broker Node Node Node
RHEL
OpenShift Gear
Buyers
• Decouples plaform
from applicaAon development
• Enables plaform
changes to be made independently based on economic and
other factors
Will Scullin/flickr under CC
Code Deploy Enjoy
PaaS leverages automation technologies and a cloud architecture…
…to drive Velocity, Efficiency, and Scalability in IT
Get Started Today for Free!
http://openshift.redhat.com
• Deploy Apps to the OpenShift OnLine Developer Preview
• Request an Evaluation of OpenShift Enterprise
THANK YOU!
QUESTIONS?
Gordon Haff
@ghaff