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? ¡ 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-‑ 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, ¡ threaded, ¡and ¡dynamic" ¡
Source: http://www.kinvey.com/blog/images/2013/09/history-of-programming-languages-kinvey-beutler.png 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 ¡ • 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 ¡
• Networking: ¡ ¡ ¡ Distributed ¡ • OperaAons: ¡ ¡ ¡ ¡ ¡ ¡ ¡ Changesets ¡ • Concurrency: ¡ ¡ Commit ¡before ¡ merge ¡ 16
ARCHITECTURES ¡ 17
Source: http://www.slideshare.net/adrianco/gluecon-tutorial-details-2013 Adrian Cockcroft 19
Pets vs. Farm Animals http://www.flickr.com/photos/hen_riko/8627290473
DEVELOPMENT ¡ METHODOLOGIES ¡ 21
22
Esti Alvarez/flickr under CC /http://www.flickr.com/photos/54087404@N00/4638056301 23
VELOCITY ¡OF ¡RESOURCE ¡ ACQUISITION ¡ 24
“The average time for setting up a new server used to be 30 days. Now the worst case is 12 days.” - A trading firm 25
VirtualizaAon: ¡An ¡iniAal ¡flexibility ¡step ¡ Server Distributed Virtualization Virtualization Drivers Consolidation Flexibility & Speed l l Reduce Capital Expense Reduce Operational Expense l l Automation l Less Downtime l Visibility Optimization Control Automation Derived from Gartner Roadmap: From Virtualization to Cloud Computing (reference slide) 26
Set a benchmark … 27
PERVASIVE NEW EXPECTATIONS AGILITY. EFFICIENCY. COST SAVINGS. PUBLIC CLOUDS TRADITIONAL ENTERPRISE IT Cost per VM Hour 1x vs. 10x Server: Admin Ratio 300: 1 vs. 20: 1 75% Resource Utilization vs. 20% Minutes App Deployment vs. Weeks Weeks/ New App Development vs. Years Months 28
Cloud Service Models IaaS PaaS SaaS APPLICATION APPLICATION PLATFORM (JBOSS, PHP, RUBY, ETC) OPERATING SYSTEM (RHEL) VIRTUALIZATION (RHEV) HARDWARE (x86) STORAGE (RHS) Managed and Controlled by Customer (IT, Dev, or Increased Control User) Increased Automation Automated and Managed by the Public or Private Cloud Offering
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 ¡ of ¡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 Physical With PaaS Virtualized How to Build an App: How to Build an App: How to Build an App: 1. Have Idea 1. Have Idea 1. Have Idea 2. Get Budget 2. Get Budget 2. Get Budget 3. Submit hardware acquisition request 3. Submit VM Request request 3. Code 4. Wait 4. Wait 4. Test 5. Get Hardware 5. Deploy framework/appserver 5. Launch 6. Rack and Stack Hardware 6. Deploy testing tools 6. Automatically Scale 7. Install Operating System 7. Test testing tools 8. Install Operating System Patches/ 8. Code Fix-Packs 9. Configure Prod VMs 9. Create user Accounts 10. Push to Prod 10. Deploy framework/appserver 11. Launch 11. Deploy testing tools 12. Request More Prod VMs to 12. Test testing tools meet demand 13. Code 13. Wait 14. Configure Prod servers (and buy 14. Deploy app to new VMs them if needed) 15. Etc. 15. Push to Prod 16. Launch 17. Order more servers to meet demand “The use of Platform-as-a-Service technologies will enable 18. Wait … IT organizations to become more agile and more 19. Deploy new servers responsive to the business needs .” –Gartner* 20. Etc.
Good ¡fences ¡make ¡ good ¡neighbors ¡ 34
Walls ¡tradiAonally ¡hindered ¡ Dev2ops.org
DevOps ¡about ¡tearing ¡down ¡wall ¡ X Dev2ops.org
But ¡decoupling ¡can ¡be ¡useful ¡
How Can I Consume OpenShift? On-Premise or Public Private Cloud Cloud Software Service Developer Developer Controls Controls APPLICATION APPLICATION PLATFORM OpenShift (JBOSS, PHP, RUBY, ETC) Automates, IT Ops OPERATING SYSTEM Operated Controls (RHEL) by Red Hat at VIRTUALIZATION Scale for (RHEV) 18 HARDWARE Months IT Ops (x86) Provides STORAGE (RHS)
Developers ¡ • Abstracts ¡away ¡ irrelevant ¡plaform ¡ details ¡ • Provides ¡self-‑ service ¡ • Reduces ¡Ame ¡to ¡ code ¡ • Increases ¡ producAvity ¡ • Supports ¡familiar ¡ Nelson Pavlosky/flickr under CC tools ¡ 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 ¡ over ¡ development ¡ Leonardo Rizzi/flickr under CC http://www.flickr.com/photos/stars6/4381851322/ environments ¡
Efficient ¡& ¡Secure ¡MulA-‑Tenancy ¡ Super-efficient, secure, multi-tenant containerization model using: SELinux, Control Groups, Namespaces Linux Linux Linux Broker Node Node Node AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Automates Application Scaling Cod Cod e Code MySQL Java e HA-Proxy Java Java RHEL Broker Node Node Node AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Architects ¡ • Enables ¡ standardized ¡ development ¡ workflows ¡ • Reduces ¡Ame ¡to ¡ develop ¡ applicaAons ¡ • Increases ¡developer ¡ 401(K) 2013//flickr under CC http://www.flickr.com/photos/68751915@N05/6736150457/ producAvity ¡
Helps IT Architects Streamline & Automate Developer Workflows Web Console Eclipse IDE Cmd Line A Developer creates a new application à OpenShift OpenShift creates a Gear GEAR RHEL RHEL RHEL Broker Node Node Node AWS / CloudForms / OpenStack (IaaS) / RHEV (Virt) / Bare Metal
Buyers ¡ • Decouples ¡plaform ¡ from ¡applicaAon ¡ development ¡ • Enables ¡plaform ¡ changes ¡to ¡be ¡made ¡ independently ¡based ¡ on ¡economic ¡and ¡ other ¡factors ¡ Will Scullin/flickr under CC http://www.flickr.com/photos/wscullin/3770016707/
Accelerate IT Service Delivery PaaS leverages automation technologies and a cloud architecture … Code Deploy Enjoy … to drive Velocity , Efficiency , and Scalability in IT
Get Started Today for Free! • Deploy Apps to the OpenShift OnLine Developer Preview • Request an Evaluation of OpenShift Enterprise • Join the OpenShift Origin Open Source Project community http://openshift.redhat.com
THANK YOU! QUESTIONS? Gordon Haff @ghaff +Gordon Haff
Recommend
More recommend