Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Managing Software from Development to Deployment in the Cloud

3.851 visualizaciones

Publicado el

CloudBees' Harpreet Singh and Vivek Panday give an introduction to managing and deploying Java applications in the cloud. The presentation covers...
- What’s the cloud and what's a PaaS?
- Criteria choosing a PaaS
- Demonstration of taking applications to the PaaS
- PaaS services available today

Publicado en: Tecnología, Empresariales
  • Just got my check for $500, Sometimes people don't believe me when I tell them about how much you can make taking paid surveys online... So I took a video of myself actually getting paid $500 for paid surveys to finally set the record straight. I'm not going to leave this video up for long, so check it out now before I take it down! ♣♣♣ https://tinyurl.com/realmoneystreams2019
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Managing Software from Development to Deployment in the Cloud

  1. 1. Harpreet Singh, Vivek Pandey | CloudBees Managing Software from Development to Deployment in the Cloud
  2. 3. Why PaaS? <ul><li>PaaS eliminates these deployment friction points and more… </li></ul><ul><li>Entire dev-to-deployment to the PaaS </li></ul><ul><li>Get to the market faster </li></ul>
  3. 4. Agenda <ul><li>What’s the cloud and the PaaS? </li></ul><ul><li>What should be the criteria choosing a PaaS? </li></ul><ul><li>Demonstration of taking applications to the PaaS. </li></ul>
  4. 5. What is the PAAS? <ul><li>Where does it fit in the whole cloud… </li></ul>
  5. 6. DC versus AC: Replay?
  6. 7. Traditional Software Stack
  7. 8. What’s the cloud? <ul><li>” 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”* </li></ul><ul><li>Is it about the hardware, servers, storage, infrastructure, middleware, application software? </li></ul><ul><li>What’s your view? </li></ul>* Definition from NIST
  8. 9. Isn't this hosting? <ul><li>You own resources </li></ul><ul><ul><li>Pay for what you use and not use </li></ul></ul><ul><li>No sharing </li></ul><ul><li>No elasticity </li></ul><ul><li>Renting resources </li></ul><ul><ul><li>Pay for what you use </li></ul></ul><ul><li>Sharing </li></ul><ul><ul><li>Multi-tenant </li></ul></ul><ul><li>Elasticity </li></ul>Hosting = Cloud =
  9. 10. Cloud Computing: Outsourcing headaches Cloud Provider
  10. 11. 5 Key Cloud Characteristics* * As specified by NIST On Demand Self Service Measured Service Rapid Elasticity Broad Network Access Resource Pooling
  11. 12. 4 Cloud Deployment Models Public Cloud Community Cloud Hybrid Cloud Private Cloud
  12. 13. 3 Cloud Services Model
  13. 14. 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
  14. 15. App Developer (Cloud Service Consumer) View IaaS SaaS PaaS DevOps Me? How do I standout? Custom apps!
  15. 16. App Consumer View
  16. 17. Middleware in the cloud? <ul><li>Did we just take the App Server to cloud? </li></ul><ul><li>And threw in the database too? </li></ul><ul><li>“ I get my own instance of App Server, DB in the cloud and I have a PaaS. Sounds great!” </li></ul><ul><li>But is that what it is… </li></ul>
  17. 19. Multi-tenancy <ul><li>Service Provider View </li></ul><ul><li>Resources shared amongst tenants </li></ul><ul><li>Economies of scale </li></ul><ul><li>Spectrum of multi-tenancy </li></ul><ul><ul><li>Nothing multi-tenant to </li></ul></ul><ul><ul><li>Each tier of the stack is multi-tenanted </li></ul></ul>
  18. 20. 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
  19. 21. Choosing a solution <ul><li>Determining criteria… </li></ul>
  20. 22. What is your use case? <ul><li>Mimic production environment </li></ul><ul><ul><li>all about deployment </li></ul></ul><ul><ul><li>IaaS view – companies moving upstack </li></ul></ul><ul><li>Shorten lifecycle </li></ul><ul><ul><li>No more just deployment </li></ul></ul><ul><ul><li>SaaS view </li></ul></ul><ul><ul><ul><li>Companies moving downstack </li></ul></ul></ul>
  21. 23. Agile or Expansive? Or Both? <ul><li>Turnkey solution </li></ul><ul><li>Rapid development </li></ul><ul><li>Rapid deployment </li></ul><ul><li>5 Key cloud characteristics </li></ul><ul><li>Configuration over Convention </li></ul><ul><li>ALM capabilities </li></ul><ul><li>Management </li></ul><ul><li>Monitoring </li></ul><ul><li>Multi-language </li></ul><ul><li>Multi-cloud </li></ul><ul><li>4 deployment models </li></ul>Agile Expansive
  22. 24. Criteria for evaluating a PaaS <ul><li>What friction points does it eliminate? </li></ul><ul><li>Am I architecting solutions in a new way? </li></ul><ul><li>Am I maintaining tiers of my stack? </li></ul><ul><li>Is it IaaS-like or SaaS-like? </li></ul><ul><li>How am I paying for the service? </li></ul><ul><li>Any add-on services available? </li></ul><ul><li>How mature is the service? </li></ul>
  23. 25. Criteria for evaluating a PaaS <ul><li>Am I locked in to the vendor? </li></ul><ul><li>What standards do I care about? </li></ul><ul><li>Am I leveraging my existing dev skill set? </li></ul><ul><li>Did I compress my dev-deploy cycle? </li></ul><ul><li>Am I going faster to the market with better tested and better scalable solutions? </li></ul>
  24. 26. Lay of the Land
  25. 27. Amazon BeanStalk <ul><li>IaaS view; in beta </li></ul><ul><li>Java based. Tomcat; No API restrictions </li></ul><ul><li>No vendor lock-in for the application </li></ul><ul><li>Auto-scaling, loadbalancing, monitoring </li></ul><ul><li>Versioning, management, logging </li></ul><ul><li>SDK, Eclipse plugin </li></ul><ul><li>Need new service – bake a new server ami and use it </li></ul>
  26. 28. 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
  27. 29. Google App Engine <ul><li>SaaS-like, In preview, final this year </li></ul><ul><li>Multi-language (Python, Java, Go) </li></ul><ul><li>Restricted Sandbox </li></ul><ul><ul><li>Some Java apis supported (JDO, JPA, no JDBC) </li></ul></ul><ul><ul><li>Goodbye MySQL, hello DataStore </li></ul></ul><ul><li>App URLs served by multiple instances </li></ul><ul><li>No streaming data </li></ul>
  28. 30. Google App Engine <ul><li>Vendor Lockin </li></ul><ul><li>Requires to code in a new way </li></ul><ul><ul><li>E.g: 30 seconds to respond </li></ul></ul><ul><li>Other features </li></ul><ul><ul><li>Versioning of apps </li></ul></ul><ul><ul><li>Administration console </li></ul></ul><ul><ul><li>Integrated with Google Apps </li></ul></ul><ul><ul><li>Logging </li></ul></ul><ul><ul><li>Eclipse plugin and SDK </li></ul></ul>
  29. 31. 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
  30. 32. CloudFoundry <ul><li>Public, Private and Micro </li></ul><ul><li>Multi-language </li></ul><ul><ul><li>Java (Spring), Ruby (Rails, Sinatra), Node.js, Scala and Grails </li></ul></ul><ul><li>Multi-database </li></ul><ul><ul><li>MongoDB, MySQL, Redis </li></ul></ul><ul><li>Open Source </li></ul>
  31. 33. CloudFoundry <ul><li>Multi-cloud: </li></ul><ul><ul><li>VMWare vSphere. Option to do AWS through Rightscale & others </li></ul></ul><ul><li>Private Cloud: sometime in the future </li></ul><ul><li>CLI, SDK, UI (through STS) </li></ul><ul><li>No Vendor Lock-in </li></ul>
  32. 34. 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
  33. 35. Redhat OpenShift <ul><li>Which OpenShift? Express, Flex, Power </li></ul><ul><li>Multi-language: which OpenShift? </li></ul><ul><ul><li>Ruby, PHP on Express; Java EE & PHP on Flex and C, Linux for Power </li></ul></ul><ul><li>Multi-AS: Zend, Tomcat, JBoss – Flex </li></ul><ul><li>CLI, SDK or UI: depends on Flex, Express </li></ul>
  34. 36. Redhat OpenShift <ul><li>Multi-cloud </li></ul><ul><ul><li>In Flex: EC2 more later </li></ul></ul><ul><li>Private Cloud: No official announcements </li></ul><ul><li>Flex Services </li></ul><ul><ul><li>Monitoring, Metering </li></ul></ul><ul><ul><li>Logging </li></ul></ul><ul><ul><li>Ability to go to a service level and configure parameters </li></ul></ul>
  35. 37. 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
  36. 38. Key Takeaways <ul><li>Why is the development stage not in the cloud? </li></ul><ul><li>What happens when I take complicated apps to the cloud? </li></ul>
  37. 39. 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
  38. 40. CloudBees <ul><li>What we bring to the table? </li></ul>
  39. 41. 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. <ul><li>[email_address] – Cloud Services for Developers </li></ul><ul><li>RUN@cloud – Frictionless runtime PaaS for Java apps </li></ul>
  40. 42. Why CloudBees is Better? Manage environment ( recurring ) Metering/Scaling ( recurring ) <ul><li>Remove constant friction between dev and IT </li></ul><ul><li>No need to provision masters, slaves </li></ul><ul><li>Environment constantly monitored, managed and maintained </li></ul><ul><li>Metering/scaling updated in real-time </li></ul><ul><li>Business Continuity built-in </li></ul>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
  41. 43. 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) <ul><li>Remove constant friction between dev and IT </li></ul><ul><li>No need to provision nodes, clusters, load-balancers, databases, etc. </li></ul><ul><li>Environment constantly monitored, managed and maintained </li></ul><ul><li>Metering/scaling updated in real-time </li></ul><ul><li>Business Continuity built-in </li></ul>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
  42. 44. 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
  43. 45. 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
  44. 46. 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
  45. 47. 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
  46. 48. CI in the Cloud <ul><li>No disruption when code changes break things </li></ul><ul><li>“ Working” build always available for test, demos, etc. </li></ul><ul><li>Provides critical metrics about development – quality, productivity, functional </li></ul><ul><li>Build machines always available when you need them, lowers CAPEX </li></ul><ul><li>Scale DUO – Pay for what you use, when you need it </li></ul><ul><li>Integration between CI modules reduces dev complexity, lowers OPEX </li></ul><ul><li>Seamless integration to runtime PaaS </li></ul><ul><li>Continuous Deployment Capability </li></ul>Why Continuous Integration? Why in the Cloud?
  47. 49. [email_address] Deploy <ul><ul><li>Leverage PaaS in testing </li></ul></ul>CLI, HTTP API… PaaS <ul><ul><li>(MySQL) </li></ul></ul>
  48. 50. <ul><li>Stable </li></ul>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
  49. 51. <ul><li>Focus on development-to-deployment cycle (all in the cloud) </li></ul><ul><ul><li>DEV@cloud + RUN@cloud </li></ul></ul><ul><ul><li>A la carte: allows for 3 rd party integration </li></ul></ul><ul><li>Public cloud offering available today </li></ul>Takeaways
  50. 52. Demo <ul><li>Taking and managing applications in the cloud </li></ul>
  51. 53. Demo 1 <ul><li>Simple Application to Google App Engine and CloudBees </li></ul><ul><li>Bringing in Continuous Integration in the Cloud </li></ul><ul><li>Bringing Continuous Deployment to the application </li></ul><ul><li>Managing Application on CloudBees </li></ul>

×