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’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 />
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 />
Choosing a solution<br />Determining criteria…<br />
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 />
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 />
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 />
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 />
CloudBees<br />What we bring to the table?<br />
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
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 />