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
13. 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…
14.
15. 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
16. PaaS Reference Architecture Runtime Services ALM Services CI SCM Auto Scaling HA Middleware Services Dev Services App Server Mail Logging DBMS/NoSQL Messaging UI IDE SDK APIs Core Platform Services Provisioning Billing Monitoring SLA Policy Metering IaaS Virtualization/OS
18. 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
19. 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?
20. 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?
22. Vendors - Positioning Flexibility Compatibility Basic orchestration of AWS blocks Spring-centric offering, focused on vCloud JVM-based offering (soon EE) fully server-agnostic OS Flex is server-centric .Net-on-a-Server, with only … more constraints Oldest SaaS-like offering but with lots of env. constraints SaaS-like IaaS-like
29. Why CloudBees is Better? Deploy App: Provision cluster Provision DB Deploy schema Deploy App to each node (not a transparent update process) Setup CI Environment Provision cluster: Continuous Deployment provision nodes Install load-balancer (LB) Configure LB Setup Master Setup Slaves Build Secure LB Setup BC for cluster QA cluster DEPLOY Manage CI Environment: Configure DNS Install Plugins Manage Plugins Apply Patches Provision DB: Provision node Install DB Configure DB Secure DB Setup BC for DB Provision node: Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS Manage environment (recurring) Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB maintain FW Validate/QA stack Metering/Scaling (recurring) Measure App performance Acquire Hardware Provision node Update Cluster Update LB Update Security
34. RUN@cloud Features Java EE 6 Web Profile (soon) Tomcat Starter 5k + Apps For FOSS Grails JRuby Play Coldfusion Java/JVM Based Free Offering Stable Non JVM Based Node.js POC CloudAnt Monitoring 3rd party integrations HA New Relic Scale DUO Session Persistence UI APIs, SDK DB Mgmt UI CLI, HTTP API, SDK Eclipse. Scalable MySQL Jenkins L&F
35. Focus on development-to-deployment cycle (all in the cloud) DEV@cloud + RUN@cloud A la carte: allows for 3rd party integration Public cloud offering available today Takeaways
Notes de l'éditeur
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