What is the PaaS?


Published on

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Situation:     -  App Developers/Organizations would like to take applications to the market quickerComplication:     - Complicated technologies, maintain infrastructure that includes hardware, software, os blahImplication     - Costly over-runs, very complicated deployment models, complicated build models - bug filled apps. All costing $$
  • Position:     Platform-as-a-Service promises deliverance from costly overruns blah blah. Opening Actions     App Developers should look into moving their entire application development and deployment lifecycle to the PaaSBenefits     Get to market faster,      Focus on core competencies aka build apps.      Benefit from unlimited scalability and elasticity of the PaaS
  • Begin by saying 99% of the audience would probably not need this. Talk about the definition.Answer the question by a “Yes” and we will drill down into definitions as we go along.    - What view do you have?               - The consumer view or the provider view                    - often intermingled and hence definitions get murkier. 
  • (IaaS). The capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).(PaaS). The capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.The capability provided to the consumer is to use the provider’s applications running on a cloud infrastructure. The applications are accessible from various client devices through a Tthin client interface such as a web browser (e.g., web-based email). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings
  • IaaS: Lego blocks of fundamental Services, Very flexible. Built your own stack.
  • Consumer does not care about IaaS, PaaS, SaaS. App developer – then should really care about the fastest time to market with the least amount of work. It is clearly then the SaaS. However how do you differentiate yourself. As an app developer – you need to build custom apps. Well these questions have been asked by developers since a long time and I am certainly not the first one.
  • Well not quite. There is the Multi-tenancy thing…
  • Add notes here – you want to spend a lot of time here
  • Just a suggestion
  • Just a suggestion
  • AWS and Azure show “naïve” approach to PaaS i.e. IaaS+middlewareModern approach provide infrastructure abstraction and favor APPS and DEVSome platforms (like GAE) restrict developer’s ability to do what they need, hence reduce application “migrability” from traditional AS
  • We compress your development to deployment so that you can take better tested applications to market faster without maintenance headaches.
  • The core tenets of CloudBees platform are thatOpen Standards: build your applications to the JVM,/Java EE based applications so that you preserve your existing skill sets and investmentsOpen Source: strong believers in OSS. We don’t want to lock you in proprietary stuff. Move away from us would be a bit painful as you replicate the environment but should not be a difficult task. Software in use like Tomcat/JBoss/JenkinsHelp you build better tested software using JenkinsBring the power of PaaS to you.DEV – SaaSRUN – PaaS: turnkey solution, provides autoscaling, highly available, elastic, features available such as session clustering etc.Multi-deployment models: We are essentially looking to solve the 3 deployment models in a typical PaaS architectureNamely: Public cloud, private cloud and the hybrid cloud. The idea is that we need to provide flexibility to organizations to choose what they move to the cloud and when they move it.Multi-cloud: Currently on EC2, first move to VMWareESXi and then we are looking to move to openstack.
  • As cloud service provider we provide On-demand and self service of resources in our platform. So for e.g: if you will like to scale applications, adding servers is as easy going to our web console and adding more instances of servers.Rapid Elasticity: you could if you wanted to provision more servers – set it up to automatically increase capacity based on our “Measured?monitor Service” – basically we track resource usage and increase capacity or cool down based on some criteriaThe core platform has run time services that we use ourselves and provide to customers. DBMS, NoSQL DB (CouchDB), Logging services. We have built our own background services around Provisioning. We have added some nifty functionalityForge usage within JenkinsDelta war uploader. So if you are uploading MBs – you pay the price only once.We provide a SDK that a) wraps some essential functionality for deploying apps etc. It wraps it around a Rest like API. This api is used by our web ui as well.
  • Closing Position     PaaS offers deliverance from management headachesCore Message:     However while choosing a solution clearly put down a criteria - in our opinion moving the entire development lifecycle to the cloud is the keyClosing Action:     Open an account on CloudbEes
  • What is the PaaS?

    1. 1. Platform as a Service<br />July 23rd, 2011<br />Harpreet Singh<br />Senior Director, Product Management<br />CloudBees<br />©2011 Cloud Bees, Inc. All Rights Reserved<br />
    2. 2.
    3. 3. Why PaaS? <br />PaaS eliminates these deployment friction points and more…<br />Entire dev-to-deployment to the PaaS<br />Get to the market faster<br />
    4. 4. Agenda<br />What’s the PaaS?<br />What should be the criteria choosing a PaaS?<br />What CloudBees brings to the table?<br />
    5. 5. What is the PAAS?<br />Where does it fit in the whole cloud…<br />
    6. 6. Traditional Software Stack<br />User App<br />LB<br />App Server<br />YOU<br />JVM<br />VM<br />OS<br />Servers<br />
    7. 7. Outsourcing headaches<br />User Apps<br />Cloud Provider<br />Load Balancers<br />App Server<br />JVM<br />Servers<br />OS<br />VM<br />
    8. 8. What’s the cloud?<br />”Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction”*<br />Is it about the hardware, servers, storage, infrastructure, middleware, application software?<br />What’s your view? <br />* Definition from NIST<br />
    9. 9. 3 Cloud Services Model<br />
    10. 10. Cloud Service Provider View<br />IaaS <br />PaaS <br />SaaS <br />User Concern<br />Manage app<br />Use App<br />Build app<br />Pre-built app<br />Manage stack<br />Managed stack<br />Provider Concern<br />Build Your Own Stack<br />Pre-built Platform<br />
    11. 11. App Developer (Cloud Service Consumer) View<br />How do I standout?<br />Custom apps! <br />DevOps Me?<br />IaaS<br />SaaS<br />PaaS<br />
    12. 12. App Consumer View<br />
    13. 13. Middleware in the cloud?<br />Did we just take the App Server to cloud?<br />And threw in the database too?<br />“I get my own instance of App Server, DB in the cloud and I have a PaaS. Sounds great!”<br />But is that what it is…<br />
    14. 14.
    15. 15. Multi-tenancy<br />Service Provider View<br />Resources shared amongst tenants<br />Economies of scale<br />Spectrum of multi-tenancy<br />Nothing multi-tenant to<br />Each tier of the stack is multi-tenanted<br />
    16. 16. PaaS Reference Architecture<br />Runtime Services<br />ALM Services<br />CI<br />SCM<br />Auto Scaling<br />HA<br />Middleware Services<br />Dev Services<br />App Server<br />Mail<br />Logging<br />DBMS/NoSQL<br />Messaging<br />UI<br />IDE<br />SDK<br />APIs<br />Core Platform Services<br />Provisioning<br />Billing<br />Monitoring<br />SLA Policy<br />Metering<br />IaaS<br />Virtualization/OS<br />
    17. 17. Choosing a solution<br />Determining criteria…<br />
    18. 18. What is your use case?<br />Mimic production environment<br />all about deployment<br />IaaS view – companies moving upstack<br />Shorten lifecycle<br />No more just deployment<br />SaaS view<br />Companies moving downstack<br />
    19. 19. Criteria for evaluating a PaaS<br />What friction points does it eliminate?<br />Am I architecting solutions in a new way?<br />Am I maintaining tiers of my stack?<br />Is it IaaS-like or SaaS-like?<br />How am I paying for the service?<br />Any add-on services available?<br />How mature is the service?<br />
    20. 20. Criteria for evaluating a PaaS<br />Am I locked in to the vendor?<br />What standards do I care about?<br />Am I leveraging my existing dev skill set?<br />Did I compress my dev-deploy cycle?<br />Am I going faster to the market with better tested and better scalable solutions?<br />
    21. 21. Lay of the Land<br />
    22. 22. Vendors - Positioning<br />Flexibility Compatibility<br />Basic orchestration of AWS blocks<br />Spring-centric offering, focused on vCloud<br />JVM-based offering (soon EE) fully server-agnostic<br />OS Flex is server-centric<br />.Net-on-a-Server, with only … more constraints<br />Oldest SaaS-like offering but with lots of env. constraints<br />SaaS-like<br />IaaS-like<br />
    23. 23. CloudBees<br />What we bring to the table?<br />
    24. 24. About CloudBees<br />The leading Platform as a Service (PaaS) for Java™ <br />CloudBees services the complete lifecycle of Cloud application development and deployment.No Servers. No Virtual Machines. No IT.<br /><ul><li>DEV@cloud – Cloud Services for Developers
    25. 25. We are the Jenkins experts
    26. 26. Core service of DEV@cloud with “Jenkins-as-a-Service”
    27. 27. Kohsuke Kawaguchi part of the team
    28. 28. RUN@cloud– Frictionless runtime PaaSfor Java apps</li></ul>©2011 Cloud Bees, Inc. <br />All Rights Reserved<br />
    29. 29. Why CloudBees is Better?<br />Deploy App:<br /> Provision cluster<br />Provision DB<br />Deploy schema<br />Deploy App to each node<br />(not a transparent update process)<br />Setup CI Environment<br />Provision cluster:<br />Continuous<br />Deployment<br />provision nodes<br />Install load-balancer (LB)<br />Configure LB<br /> Setup Master<br />Setup Slaves<br />Build<br />Secure LB<br />Setup BC for cluster<br />QA cluster<br />DEPLOY<br />Manage CI Environment:<br />Configure DNS<br />Install Plugins<br />Manage Plugins<br />Apply Patches<br />Provision DB:<br /> Provision node<br />Install DB<br />Configure DB<br />Secure DB<br />Setup BC for DB<br />Provision node:<br />Configure OS<br />Secure OS<br />Setup JVM<br />Install AS on OS<br />Configure AS<br />Secure AS<br />Manage environment (recurring)<br />Analyse sec. bulletins<br />Analyse QA bulletins<br />Analyse AS/OS logs<br />maintain OS<br />maintain JVM<br />maintain AS<br />maintain DB<br />maintain FW<br />Validate/QA stack<br />Metering/Scaling (recurring)<br />Measure App performance<br />Acquire Hardware<br />Provision node<br />Update Cluster<br />Update LB<br />Update Security<br />
    30. 30. ©2011 CloudBees, Inc. <br />All Rights Reserved<br />CloudBees: Platform as a Service<br />Development Projects<br />SaaS Vendor Applications<br />Enterprise User<br />Applications<br />DEV@cloud<br />CloudBees<br />Ecosystem<br />2<br />RUN@cloud<br />1<br />3<br />SaaS for developers:<br />Repositories, build, test, etc.<br />Jenkins/Nectar Inside<br />Run your applications:<br />Auto-scale, maintain, etc.<br />APIs<br />CloudBees Core Platform Services<br />Core runtime services & back-end services<br />Public Edition<br />IaaS Providers<br />Private Edition<br />On-Premise<br />A<br />B<br />EC2, Rackspace, …<br />Enterprises Join our Beta program<br />Verizon, Terremark, …<br />
    31. 31. CloudBees Platform as a Service<br />Development Projects<br />SaaS Vendor Applications<br />Enterprise User<br />Applications<br />DEV<br />RUN<br />Test<br />Partner <br />Ecosystem<br />Jenkins<br />Production<br />Continuous Deployment<br />Build<br />JVM – Java EE<br />Java, Python, Scala, …<br />Maintenance<br />Elasticity/HA<br />Repositories<br />Partner Smart Plugins<br />SVN<br />GIT<br />Maven<br />…<br />APIs<br />Web UI, CLI, HTTP API, Eclipse, Maven, Ant, etc.<br />CloudBees Core Platform Services<br />CloudBeesSmart Plugins<br />Databases<br />Messaging<br />Identity<br />Logging/Auditing<br />Data Services<br />RDBMS, NoSQL<br />Runtime services<br />Other SaaS<br />Provisioning<br />Metering<br />Billing<br />Monitoring<br />Management<br />Back-end services<br />On Premise<br />Cloud Management / Virtualization / OS<br />©2011 CloudBees, Inc. <br />All Rights Reserved<br />
    32. 32. CloudBees PaaS<br />Runtime Services<br />ALM Services<br />CI<br />SCM<br />Auto Scaling<br />HA<br />Middleware Services<br />Dev Services<br />App Server<br />Mail<br />Logging<br />DBMS/ NoSQL<br />Messaging<br />UI<br />IDE<br />SDK<br />APIs<br />Core Platform Services<br />Provisioning<br />Billing<br />Monitoring<br />SLA Policy<br />Metering<br />IaaS<br />Virtualization/OS<br />
    33. 33. DEV@cloud<br />Deploy<br />PaaS<br />CLI, HTTP API…<br />Leverage PaaS in testing <br />(MySQL)<br />
    34. 34. RUN@cloud Features<br />Java EE 6 Web Profile (soon)<br />Tomcat<br />Starter <br />5k + Apps<br />For FOSS<br />Grails<br />JRuby<br /> Play<br />Coldfusion<br />Java/JVM Based<br />Free Offering<br />Stable<br />Non JVM Based<br />Node.js POC<br />CloudAnt<br />Monitoring<br />3rd party <br />integrations<br />HA<br />New Relic<br />Scale DUO<br />Session Persistence<br />UI<br />APIs, SDK<br />DB<br />Mgmt UI<br />CLI, HTTP API, SDK<br />Eclipse.<br />Scalable MySQL<br />Jenkins L&F<br />
    35. 35. Focus on development-to-deployment cycle (all in the cloud)<br />DEV@cloud + RUN@cloud<br />A la carte: allows for 3rd party integration<br />Public cloud offering available today<br />Takeaways<br />