About Me Red Hat Cloud Evangelist Twitter: @ghaff Google+: Gordon - - PowerPoint PPT Presentation
About Me Red Hat Cloud Evangelist Twitter: @ghaff Google+: Gordon - - PowerPoint PPT Presentation
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
Agenda ¡
- Where ¡are ¡we? ¡
- Where ¡do ¡we ¡need ¡to ¡go? ¡
- How ¡does ¡PaaS ¡get ¡us ¡there? ¡
2
LANGUAGES ¡
3
4
5
6
7
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. ¡
9
- It ¡should ¡be ¡"simple, ¡object-‑
- riented ¡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, ¡
threaded, ¡and ¡dynamic" ¡
11
Source: http://www.kinvey.com/blog/images/2013/09/history-of-programming-languages-kinvey-beutler.png
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 ¡
12
SOURCE CONTROL SYSTEMS (TOOLS)
13
- Networking: ¡ ¡ ¡
None ¡
- OperaAons: ¡ ¡ ¡ ¡ ¡ ¡
One ¡file ¡at ¡a ¡Ame ¡
- Concurrency: ¡
Locks ¡
- Networking: ¡ ¡ ¡
Centralized ¡
- OperaAons: ¡ ¡ ¡ ¡ ¡ ¡ ¡
MulA-‑file ¡
- Concurrency: ¡ ¡
Merge ¡before ¡ commit ¡
16
- Networking: ¡ ¡ ¡
Distributed ¡
- OperaAons: ¡ ¡ ¡ ¡ ¡ ¡ ¡
Changesets ¡
- Concurrency: ¡ ¡
Commit ¡before ¡ merge ¡
ARCHITECTURES ¡
17
19
Source: http://www.slideshare.net/adrianco/gluecon-tutorial-details-2013 Adrian Cockcroft
http://www.flickr.com/photos/hen_riko/8627290473
Pets vs. Farm Animals
DEVELOPMENT ¡ METHODOLOGIES ¡
21
22
23
Esti Alvarez/flickr under CC /http://www.flickr.com/photos/54087404@N00/4638056301
VELOCITY ¡OF ¡RESOURCE ¡ ACQUISITION ¡
24
25
“The average time for setting up a new server used to be 30 days. Now the worst case is 12 days.”
- A trading firm
VirtualizaAon: ¡An ¡iniAal ¡flexibility ¡step ¡
26
Server Virtualization Distributed Virtualization Visibility Control Optimization Automation
l
Consolidation
l
Reduce Capital Expense
l
Flexibility & Speed
l
Reduce Operational Expense
l
Automation
l
Less Downtime
Drivers
Derived from Gartner Roadmap: From Virtualization to Cloud Computing (reference slide)
27
Set a benchmark…
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.
28
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
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 ¡
30
Fundamental ¡accelera@on ¡
- f ¡business ¡
31
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. THIS IS OUR CHALLENGE TODAY.
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 ¡
34
Walls ¡tradiAonally ¡hindered ¡
Dev2ops.org
DevOps ¡about ¡tearing ¡down ¡wall ¡
Dev2ops.org
X
But ¡decoupling ¡can ¡be ¡useful ¡
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 http://www.flickr.com/photos/skyfaller/113796919/
Developers Choose Languages, Frameworks and Middleware
OperaAons ¡
- Delegates ¡and ¡
automates ¡ provisioning ¡
- Automates ¡tasks ¡
such ¡as ¡scaling ¡
- Improves ¡IT ¡
service ¡levels ¡ ¡
- Provides ¡control ¡
- ver ¡
development ¡ environments ¡
Leonardo Rizzi/flickr under CC http://www.flickr.com/photos/stars6/4381851322/
Efficient ¡& ¡Secure ¡MulA-‑Tenancy ¡
Linux Linux
Super-efficient, secure, multi-tenant containerization model using: SELinux, Control Groups, Namespaces Broker Node Node Node
Linux
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Automates Application Scaling
Broker Node Node Node
RHEL
HA-Proxy
MySQL Java Cod e Java Cod e
Java
Code
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Architects ¡
- Enables ¡
standardized ¡ development ¡ workflows ¡
- Reduces ¡Ame ¡to ¡
develop ¡ applicaAons ¡
- Increases ¡developer ¡
producAvity ¡
401(K) 2013//flickr under CC http://www.flickr.com/photos/68751915@N05/6736150457/
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
AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Buyers ¡
- Decouples ¡plaform ¡
from ¡applicaAon ¡ development ¡
- Enables ¡plaform ¡
changes ¡to ¡be ¡made ¡ independently ¡based ¡
- n ¡economic ¡and ¡
- ther ¡factors ¡
Will Scullin/flickr under CC http://www.flickr.com/photos/wscullin/3770016707/
Code Deploy Enjoy
PaaS leverages automation technologies and a cloud architecture… …to drive Velocity, Efficiency, and Scalability in IT
Accelerate IT Service Delivery
Get Started Today for Free!
http://openshift.redhat.com
- Deploy Apps to the OpenShift OnLine Developer Preview
- Request an Evaluation of OpenShift Enterprise
- Join the OpenShift Origin Open Source Project community
THANK YOU! QUESTIONS?
Gordon Haff
@ghaff +Gordon Haff