Harpreet Singh, Vivek Pandey | CloudBees Managing Software from Development to Deployment in the Cloud
 
Why PaaS? PaaS eliminates these deployment friction points and more… Entire dev-to-deployment to the PaaS Get to the market faster
Agenda What’s the cloud and the PaaS? What should be the criteria choosing a PaaS? Demonstration of taking applications to the PaaS.
What is the PAAS? Where does it fit in the whole cloud…
DC versus AC: Replay?
Traditional Software Stack
What’s the cloud? ” 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”* Is it about the hardware, servers, storage, infrastructure, middleware, application software? What’s your view?  * Definition from NIST
Isn't this hosting? You own resources Pay for what you use and not use No sharing No elasticity Renting resources Pay for what you use Sharing Multi-tenant Elasticity Hosting =  Cloud =
Cloud Computing: Outsourcing headaches Cloud Provider
5 Key Cloud Characteristics* * As specified by NIST On Demand Self Service Measured Service Rapid Elasticity Broad Network Access Resource Pooling
4 Cloud Deployment Models Public Cloud Community Cloud  Hybrid Cloud Private Cloud
3 Cloud Services Model
Cloud Service Provider View IaaS  Build Your Own Stack Manage stack Build app Manage app User Concern Provider Concern PaaS  Pre-built Platform Managed stack SaaS  Pre-built app Use App
App Developer (Cloud Service Consumer) View IaaS SaaS PaaS DevOps Me? How do I standout? Custom apps!
App Consumer View
Middleware in the cloud? Did we just take the App Server to cloud? And threw in the database too? “ I get my own instance of App Server, DB in the cloud and I have a PaaS. Sounds great!” But is that what it is…
 
Multi-tenancy Service Provider View Resources shared amongst tenants Economies of scale Spectrum of multi-tenancy Nothing multi-tenant to Each tier of the stack is multi-tenanted
PaaS Reference Architecture Core Platform Services Middleware Services Runtime Services ALM Services Dev Services Provisioning Billing Monitoring SLA Policy IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Messaging Auto Scaling CI HA SCM SDK APIs UI IDE
Choosing a solution Determining criteria…
What is your use case? Mimic production environment all about deployment IaaS view – companies moving upstack Shorten lifecycle No more just deployment SaaS view Companies moving downstack
Agile or Expansive? Or Both? Turnkey solution Rapid development Rapid deployment 5 Key cloud characteristics Configuration over Convention ALM capabilities Management Monitoring Multi-language Multi-cloud 4 deployment models Agile Expansive
Criteria for evaluating a PaaS What friction points does it eliminate? Am I architecting solutions in a new way? Am I maintaining tiers of my stack? Is it IaaS-like or SaaS-like? How am I paying for the service? Any add-on services available? How mature is the service?
Criteria for evaluating a PaaS Am I locked in to the vendor? What standards do I care about? Am I leveraging my existing dev skill set? Did I compress my dev-deploy cycle? Am I going faster to the market with better tested and better scalable solutions?
Lay of the Land
Amazon BeanStalk IaaS view; in beta Java based. Tomcat; No API restrictions No vendor lock-in for the application Auto-scaling, loadbalancing, monitoring Versioning, management, logging SDK, Eclipse plugin Need new service – bake a new server ami and use it
BeanStalk Architecture Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services Virtualization/OS Messaging CI SCM
Google App Engine SaaS-like, In preview, final this year Multi-language (Python, Java, Go) Restricted Sandbox Some Java apis supported (JDO, JPA, no JDBC) Goodbye MySQL, hello DataStore App URLs served by multiple instances No streaming data
Google App Engine Vendor Lockin Requires to code in a new way E.g: 30 seconds to respond Other features Versioning of apps Administration console Integrated with Google Apps Logging Eclipse plugin and SDK
GAE Reference Architecture Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services Virtualization/OS Messaging CI SCM
CloudFoundry Public, Private and Micro Multi-language Java (Spring), Ruby (Rails, Sinatra), Node.js, Scala and Grails Multi-database MongoDB, MySQL, Redis Open Source
CloudFoundry Multi-cloud:  VMWare vSphere. Option to do AWS through Rightscale & others Private Cloud: sometime in the future CLI, SDK, UI (through STS) No Vendor Lock-in
CloudFoundry Reference Architecture Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Messaging Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services CI SCM
Redhat OpenShift Which OpenShift? Express, Flex, Power Multi-language: which OpenShift? Ruby, PHP on Express; Java EE & PHP on Flex and C, Linux for Power  Multi-AS: Zend, Tomcat, JBoss – Flex CLI, SDK or UI: depends on Flex, Express
Redhat OpenShift Multi-cloud In Flex: EC2 more later Private Cloud: No official announcements Flex Services Monitoring, Metering Logging Ability to go to a service level and configure parameters
Flex Reference Architecture Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Messaging Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services CI SCM
Key Takeaways Why is the development stage not in the cloud? What happens when I take complicated apps to the cloud?
Vendors - Positioning Flexibility  Compatibility SaaS-like IaaS-like OS Flex is server-centric Basic orchestration of AWS blocks .Net-on-a-Server, with only … more constraints Spring-centric offering, focused on vCloud JVM-based offering (soon EE) fully server-agnostic Oldest SaaS-like offering but with lots of env. constraints
CloudBees What we bring to the table?
About CloudBees Our Mission Strategy Become the leading Platform as a Service (PaaS) for Java™  Why  We’re Different CloudBees services the complete lifecycle of Cloud application development and deployment. No Servers. No Virtual Machines. No IT. [email_address]  – Cloud Services for Developers RUN@cloud  – Frictionless runtime PaaS for Java apps
Why CloudBees is Better? Manage environment ( recurring ) Metering/Scaling ( recurring ) Remove constant  friction  between dev and IT No need to provision masters, slaves Environment constantly monitored, managed and maintained Metering/scaling updated in real-time Business Continuity built-in Deploy App to traditional Java platform Continuous Integration on CloudBees Build Manage CI Environment: Setup CI Environment Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security Install Plugins Manage Plugins Apply Patches    Setup Master Setup Slaves
Why CloudBees is Better? Provision node: Provision cluster: Provision DB: Deploy App: (not a transparent update process) Manage environment ( recurring ) Metering/Scaling ( recurring ) (transparent,  multi-version, HA, scalable) Remove constant  friction  between dev and IT No need to provision nodes, clusters, load-balancers, databases, etc. Environment constantly monitored, managed and maintained Metering/scaling updated in real-time Business Continuity built-in Deploy App to traditional Java platform Deploy App to CloudBees DEPLOY Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS  provision nodes Install load-balancer (LB) Configure LB Secure LB Setup BC for cluster QA cluster Configure DNS    Provision node Install DB Configure DB Secure DB Setup BC for DB    Provision cluster Provision DB Deploy schema Deploy App to each node Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security
Why CloudBees is Better? Provision node: Provision cluster: Provision DB: Deploy App: (not a transparent update process) Manage environment ( recurring ) Metering/Scaling ( recurring ) Manage CI Environment: Setup CI Environment DEPLOY Build Continuous Deployment Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS  provision nodes Install load-balancer (LB) Configure LB Secure LB Setup BC for cluster QA cluster Configure DNS    Provision node Install DB Configure DB Secure DB Setup BC for DB    Provision cluster Provision DB Deploy schema Deploy App to each node Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security Install Plugins Manage Plugins Apply Patches    Setup Master Setup Slaves
CloudBees: PaaS CloudBees Core Platform Services [email_address] [email_address] SaaS for developers: Repositories, build, test, etc. Nectar Inside Run your applications: Auto-scale, maintain, etc. Core runtime services & back-end services 1 2 3 A B EC2, Rackspace, … Verizon, Terremark, … Enterprises C Public Edition IaaS Providers APIs Private Edition On-Premise Hybrid Edition Mixed -  new
CloudBees Platform as a Service Continuous Deployment Production Build Test Provisioning Maintenance JVM – Java EE Java, Grails, Scala, … CloudBees Core Platform Services RUN DEV Repositories Data Services ,NoSQL Metering Billing Monitoring Management Messaging Identity Logging/ Auditing Back-end services Runtime services GIT Maven … SVN Cloud anagement / Virtualization / OS Jenkins APIs Databases Other SaaS On Premise IaaS Virtualization/OS
CloudBees PaaS Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Logging DBMS/ NoSQL Middleware Services Auto Scaling CI HA Runtime Services SCM ALM Services SDK UI Dev Services APIs IDE Mail Messaging
CI in the Cloud No disruption when code changes break things “ Working” build always available for test, demos, etc. Provides critical metrics about development – quality, productivity, functional Build machines always available when you need them, lowers CAPEX Scale DUO – Pay for what you use, when you need it Integration between CI modules reduces dev complexity, lowers OPEX Seamless integration to runtime PaaS  Continuous Deployment Capability Why Continuous Integration? Why in the Cloud?
[email_address] Deploy Leverage PaaS in testing  CLI, HTTP API… PaaS (MySQL)
Stable RUN@cloud Features Java/JVM Based Monitoring HA UI 3 rd  party  integrations Free Offering CloudAnt New Relic Jenkins L&F Mgmt UI CLI, HTTP API, SDK Eclipse. DB Tomcat 4.5k + Apps Starter  For FOSS Java EE 6 Web Profile (soon) Grails JRuby Play Coldfusion Scalable MySQL Non JVM Based Node.js POC Scale DUO APIs, SDK Session Persistence
Focus on development-to-deployment cycle (all in the cloud) DEV@cloud + RUN@cloud A la carte: allows for 3 rd  party integration Public cloud offering available today Takeaways
Demo Taking and managing applications in the cloud
Demo 1 Simple Application to Google App Engine and CloudBees Bringing in Continuous Integration in the Cloud Bringing Continuous Deployment to the application Managing Application on CloudBees
 

Managing Software from Development to Deployment in the Cloud

  • 1.
    Harpreet Singh, VivekPandey | CloudBees Managing Software from Development to Deployment in the Cloud
  • 2.
  • 3.
    Why PaaS? PaaSeliminates these deployment friction points and more… Entire dev-to-deployment to the PaaS Get to the market faster
  • 4.
    Agenda What’s thecloud and the PaaS? What should be the criteria choosing a PaaS? Demonstration of taking applications to the PaaS.
  • 5.
    What is thePAAS? Where does it fit in the whole cloud…
  • 6.
  • 7.
  • 8.
    What’s the cloud?” 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”* Is it about the hardware, servers, storage, infrastructure, middleware, application software? What’s your view? * Definition from NIST
  • 9.
    Isn't this hosting?You own resources Pay for what you use and not use No sharing No elasticity Renting resources Pay for what you use Sharing Multi-tenant Elasticity Hosting = Cloud =
  • 10.
    Cloud Computing: Outsourcingheadaches Cloud Provider
  • 11.
    5 Key CloudCharacteristics* * As specified by NIST On Demand Self Service Measured Service Rapid Elasticity Broad Network Access Resource Pooling
  • 12.
    4 Cloud DeploymentModels Public Cloud Community Cloud Hybrid Cloud Private Cloud
  • 13.
  • 14.
    Cloud Service ProviderView IaaS Build Your Own Stack Manage stack Build app Manage app User Concern Provider Concern PaaS Pre-built Platform Managed stack SaaS Pre-built app Use App
  • 15.
    App Developer (CloudService Consumer) View IaaS SaaS PaaS DevOps Me? How do I standout? Custom apps!
  • 16.
  • 17.
    Middleware in thecloud? Did we just take the App Server to cloud? And threw in the database too? “ I get my own instance of App Server, DB in the cloud and I have a PaaS. Sounds great!” But is that what it is…
  • 18.
  • 19.
    Multi-tenancy Service ProviderView Resources shared amongst tenants Economies of scale Spectrum of multi-tenancy Nothing multi-tenant to Each tier of the stack is multi-tenanted
  • 20.
    PaaS Reference ArchitectureCore Platform Services Middleware Services Runtime Services ALM Services Dev Services Provisioning Billing Monitoring SLA Policy IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Messaging Auto Scaling CI HA SCM SDK APIs UI IDE
  • 21.
    Choosing a solutionDetermining criteria…
  • 22.
    What is youruse case? Mimic production environment all about deployment IaaS view – companies moving upstack Shorten lifecycle No more just deployment SaaS view Companies moving downstack
  • 23.
    Agile or Expansive?Or Both? Turnkey solution Rapid development Rapid deployment 5 Key cloud characteristics Configuration over Convention ALM capabilities Management Monitoring Multi-language Multi-cloud 4 deployment models Agile Expansive
  • 24.
    Criteria for evaluatinga PaaS What friction points does it eliminate? Am I architecting solutions in a new way? Am I maintaining tiers of my stack? Is it IaaS-like or SaaS-like? How am I paying for the service? Any add-on services available? How mature is the service?
  • 25.
    Criteria for evaluatinga PaaS Am I locked in to the vendor? What standards do I care about? Am I leveraging my existing dev skill set? Did I compress my dev-deploy cycle? Am I going faster to the market with better tested and better scalable solutions?
  • 26.
  • 27.
    Amazon BeanStalk IaaSview; in beta Java based. Tomcat; No API restrictions No vendor lock-in for the application Auto-scaling, loadbalancing, monitoring Versioning, management, logging SDK, Eclipse plugin Need new service – bake a new server ami and use it
  • 28.
    BeanStalk Architecture ProvisioningBilling Monitoring SLA Policy Core Platform Services IaaS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services Virtualization/OS Messaging CI SCM
  • 29.
    Google App EngineSaaS-like, In preview, final this year Multi-language (Python, Java, Go) Restricted Sandbox Some Java apis supported (JDO, JPA, no JDBC) Goodbye MySQL, hello DataStore App URLs served by multiple instances No streaming data
  • 30.
    Google App EngineVendor Lockin Requires to code in a new way E.g: 30 seconds to respond Other features Versioning of apps Administration console Integrated with Google Apps Logging Eclipse plugin and SDK
  • 31.
    GAE Reference ArchitectureProvisioning Billing Monitoring SLA Policy Core Platform Services IaaS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services Virtualization/OS Messaging CI SCM
  • 32.
    CloudFoundry Public, Privateand Micro Multi-language Java (Spring), Ruby (Rails, Sinatra), Node.js, Scala and Grails Multi-database MongoDB, MySQL, Redis Open Source
  • 33.
    CloudFoundry Multi-cloud: VMWare vSphere. Option to do AWS through Rightscale & others Private Cloud: sometime in the future CLI, SDK, UI (through STS) No Vendor Lock-in
  • 34.
    CloudFoundry Reference ArchitectureProvisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Messaging Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services CI SCM
  • 35.
    Redhat OpenShift WhichOpenShift? Express, Flex, Power Multi-language: which OpenShift? Ruby, PHP on Express; Java EE & PHP on Flex and C, Linux for Power Multi-AS: Zend, Tomcat, JBoss – Flex CLI, SDK or UI: depends on Flex, Express
  • 36.
    Redhat OpenShift Multi-cloudIn Flex: EC2 more later Private Cloud: No official announcements Flex Services Monitoring, Metering Logging Ability to go to a service level and configure parameters
  • 37.
    Flex Reference ArchitectureProvisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Messaging Auto Scaling HA Runtime Services ALM Services SDK APIs UI IDE Dev Services CI SCM
  • 38.
    Key Takeaways Whyis the development stage not in the cloud? What happens when I take complicated apps to the cloud?
  • 39.
    Vendors - PositioningFlexibility Compatibility SaaS-like IaaS-like OS Flex is server-centric Basic orchestration of AWS blocks .Net-on-a-Server, with only … more constraints Spring-centric offering, focused on vCloud JVM-based offering (soon EE) fully server-agnostic Oldest SaaS-like offering but with lots of env. constraints
  • 40.
    CloudBees What webring to the table?
  • 41.
    About CloudBees OurMission Strategy Become the leading Platform as a Service (PaaS) for Java™ Why We’re Different CloudBees services the complete lifecycle of Cloud application development and deployment. No Servers. No Virtual Machines. No IT. [email_address] – Cloud Services for Developers RUN@cloud – Frictionless runtime PaaS for Java apps
  • 42.
    Why CloudBees isBetter? Manage environment ( recurring ) Metering/Scaling ( recurring ) Remove constant friction between dev and IT No need to provision masters, slaves Environment constantly monitored, managed and maintained Metering/scaling updated in real-time Business Continuity built-in Deploy App to traditional Java platform Continuous Integration on CloudBees Build Manage CI Environment: Setup CI Environment Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security Install Plugins Manage Plugins Apply Patches  Setup Master Setup Slaves
  • 43.
    Why CloudBees isBetter? Provision node: Provision cluster: Provision DB: Deploy App: (not a transparent update process) Manage environment ( recurring ) Metering/Scaling ( recurring ) (transparent, multi-version, HA, scalable) Remove constant friction between dev and IT No need to provision nodes, clusters, load-balancers, databases, etc. Environment constantly monitored, managed and maintained Metering/scaling updated in real-time Business Continuity built-in Deploy App to traditional Java platform Deploy App to CloudBees DEPLOY Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS  provision nodes Install load-balancer (LB) Configure LB Secure LB Setup BC for cluster QA cluster Configure DNS  Provision node Install DB Configure DB Secure DB Setup BC for DB  Provision cluster Provision DB Deploy schema Deploy App to each node Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security
  • 44.
    Why CloudBees isBetter? Provision node: Provision cluster: Provision DB: Deploy App: (not a transparent update process) Manage environment ( recurring ) Metering/Scaling ( recurring ) Manage CI Environment: Setup CI Environment DEPLOY Build Continuous Deployment Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS  provision nodes Install load-balancer (LB) Configure LB Secure LB Setup BC for cluster QA cluster Configure DNS  Provision node Install DB Configure DB Secure DB Setup BC for DB  Provision cluster Provision DB Deploy schema Deploy App to each node Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security Install Plugins Manage Plugins Apply Patches  Setup Master Setup Slaves
  • 45.
    CloudBees: PaaS CloudBeesCore Platform Services [email_address] [email_address] SaaS for developers: Repositories, build, test, etc. Nectar Inside Run your applications: Auto-scale, maintain, etc. Core runtime services & back-end services 1 2 3 A B EC2, Rackspace, … Verizon, Terremark, … Enterprises C Public Edition IaaS Providers APIs Private Edition On-Premise Hybrid Edition Mixed - new
  • 46.
    CloudBees Platform asa Service Continuous Deployment Production Build Test Provisioning Maintenance JVM – Java EE Java, Grails, Scala, … CloudBees Core Platform Services RUN DEV Repositories Data Services ,NoSQL Metering Billing Monitoring Management Messaging Identity Logging/ Auditing Back-end services Runtime services GIT Maven … SVN Cloud anagement / Virtualization / OS Jenkins APIs Databases Other SaaS On Premise IaaS Virtualization/OS
  • 47.
    CloudBees PaaS ProvisioningBilling Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Logging DBMS/ NoSQL Middleware Services Auto Scaling CI HA Runtime Services SCM ALM Services SDK UI Dev Services APIs IDE Mail Messaging
  • 48.
    CI in theCloud No disruption when code changes break things “ Working” build always available for test, demos, etc. Provides critical metrics about development – quality, productivity, functional Build machines always available when you need them, lowers CAPEX Scale DUO – Pay for what you use, when you need it Integration between CI modules reduces dev complexity, lowers OPEX Seamless integration to runtime PaaS Continuous Deployment Capability Why Continuous Integration? Why in the Cloud?
  • 49.
    [email_address] Deploy LeveragePaaS in testing CLI, HTTP API… PaaS (MySQL)
  • 50.
    Stable RUN@cloud FeaturesJava/JVM Based Monitoring HA UI 3 rd party integrations Free Offering CloudAnt New Relic Jenkins L&F Mgmt UI CLI, HTTP API, SDK Eclipse. DB Tomcat 4.5k + Apps Starter For FOSS Java EE 6 Web Profile (soon) Grails JRuby Play Coldfusion Scalable MySQL Non JVM Based Node.js POC Scale DUO APIs, SDK Session Persistence
  • 51.
    Focus on development-to-deploymentcycle (all in the cloud) DEV@cloud + RUN@cloud A la carte: allows for 3 rd party integration Public cloud offering available today Takeaways
  • 52.
    Demo Taking andmanaging applications in the cloud
  • 53.
    Demo 1 SimpleApplication to Google App Engine and CloudBees Bringing in Continuous Integration in the Cloud Bringing Continuous Deployment to the application Managing Application on CloudBees
  • 54.

Editor's Notes

  • #3 Situation:      -  App Developers/Organizations would like to take applications to the market quicker Complication:      - Complicated technologies, maintain infrastructure that includes hardware, software, os blah Implication      - Costly over-runs, very complicated deployment models, complicated build models - bug filled apps. All costing $$
  • #4 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 PaaS Benefits      Get to market faster,       Focus on core competencies aka build apps.       Benefit from unlimited scalability and elasticity of the PaaS
  • #7 Utility vs Generators: 1 generator per home (Edison) vs 1 power company (Tesla). DC vs AC wars Move to utility computing won: Why? Technology was now at a point to make it feasible. E.g: transport of AC was easier than DC and could be done over longer distance. Offload work to someone who is more capable of doing it than you. Each homeowner is not expected handle and manage his own power. Parallels in Cloud computing My Sun story – the network is the computer. But never quite delivered it. Technology is now more capable of going to utility model More acceptance of letting experts handle management of infrastructure while companies/individuals focus on cloud computing
  • #9 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. 
  • #12 On-demand self-service. A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider. Broad network access. Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).      Resource pooling. The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.      Rapid elasticity. Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out, and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.        Measured Service. Cloud systems automatically control and optimize resource use by leveraging a metering capability1 at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.
  • #13 Private cloud. The cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on premise or off premise.                      Community cloud. The cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on premise or off premise.                      Public cloud. The cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services. Hybrid cloud. The cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load balancing between clouds).      
  • #14 (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
  • #15 IaaS: Lego blocks of fundamental Services, Very flexible. Built your own stack.
  • #17 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.
  • #19 Well not quite. There is the Multi-tenancy thing…
  • #20 Add notes here – you want to spend a lot of time here
  • #24 Does your PaaS give you control or agility. By definition you want to be agile - that is the promise of the PaaS anyways. However I saw a presentation that said that higher control (in terms of managing your application lifecyle would come in the future). Question is why? Goes back to what is your use case - mimic or get to market faster.
  • #25 Just a suggestion
  • #26 Just a suggestion
  • #40 AWS and Azure show “naïve” approach to PaaS i.e. IaaS+middleware Modern approach provide infrastructure abstraction and favor APPS and DEV Some platforms (like GAE) restrict developer’s ability to do what they need, hence reduce application “ migrability ” from traditional AS
  • #43 We compress your development to deployment so that you can take better tested applications to market faster without maintenance headaches.
  • #44 We compress your development to deployment so that you can take better tested applications to market faster without maintenance headaches.
  • #45 We compress your development to deployment so that you can take better tested applications to market faster without maintenance headaches.
  • #55 Closing Position      PaaS offers deliverance from management headaches Core Message:      However while choosing a solution clearly put down a criteria - in our opinion moving the entire development lifecycle to the cloud is the key Closing Action:      Open an account on CloudbEes