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 PaaS? What should be the criteria choosing a PaaS? What CloudBees brings to the table?
What is the PAAS? Where does it fit in the whole cloud…
Traditional Software Stack User App LB App Server YOU JVM VM OS Servers
Outsourcing headaches User Apps Cloud Provider Load Balancers App Server JVM Servers OS VM
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
3 Cloud Services Model
Cloud Service Provider View IaaS PaaS SaaS User Concern Manage app Use App Build app Pre-built app Manage stack Managed stack Provider Concern Build Your Own Stack Pre-built Platform
App Developer (Cloud Service Consumer) View How do I standout? Custom apps! DevOps Me? IaaS SaaS PaaS
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 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
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
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
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
CloudBees What we bring to the table?
About CloudBees The leading Platform as a Service (PaaS) for Java™ CloudBees services the complete lifecycle of Cloud application development and deployment.No Servers. No Virtual Machines. No IT.
DEV@cloud – Cloud Services for Developers
We are the Jenkins experts
Core service of DEV@cloud with “Jenkins-as-a-Service”
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
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
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