CloudBees - A Technical Introduction

  • 613 views
Uploaded on

Technical overview of the CloudBees Platform-as-a-Service (PaaS) by Mark Prichard, Evangelist and Senior Director at CloudBees. Covers ClickStarts (pre-configured cloud-ready projects) and …

Technical overview of the CloudBees Platform-as-a-Service (PaaS) by Mark Prichard, Evangelist and Senior Director at CloudBees. Covers ClickStarts (pre-configured cloud-ready projects) and ClickStacks (custom runtimes)

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
613
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Lose It!1.5M customers, 25,000 tx/min, 4 developersAdeoLed by marketing, through SIBullhornDelivered 60 customized, cloud-based application implementations

Transcript

  • 1. CloudBees: A Technical OverviewMark Prichard
  • 2. • Founded in April 2010• Headquartered in MA (USA)• Deep roots in Middleware and Open Source• Award-winning platform in production today• More than 15,000 Java accountsAbout CloudBees2©2012 CloudBees, Inc.All rights reserved
  • 3. Overview of CloudBees PaaScloudbees.comJenkinsMasterTestStageBuildCodeJenkinsExecutorForgeRepositoriesGitSVNmvnDevelopmentServices(DEV@cloud)Developer andOperationsInteractionEnd UserInteractionRuntimeServices(RUN@cloud)CloudBeesAPIGrandCentralWebConsoleSDKSessionClusteringMySQLRouterApplicationPartnerEcosystem3©2012 CloudBees, Inc.All rights reserved
  • 4. cloudbees.comInternal Overview of CloudBees PaaSService-Based PaaS ArchitectureAgents…DB AgentAS AgentMessage BusShared ServicesIdentity ProvisioningScalingAlertingMonitoringAuditingCloudBeesAPIGrandCentralWebConsoleSDKJenkinsMasterTestStageBuildCodeJenkinsExecutorForgeRepositoriesGitSVNmvnSessionClusteringMySQLRouterApplicationPartnerEcosystem4©2012 CloudBees, Inc.All rights reserved
  • 5. ClickStarts and ClickStacksExtending the Platform5
  • 6. ClickStarts – Defining Service Composition inPaaScloudbees.comJenkinsMasterTestStageBuildCodeJenkinsExecutorForgeRepositoriesGitSVNmvnCloudBeesAPIGrandCentralWebConsoleSDKSessionClusteringMySQLRouterApplicationPartnerEcosystem• Reusable templates specifying any or all of theinformation needed to build an application fromsource code, deploy it to CloudBees, and connect itto other runtime services• Specifies the named runtime that will be used forthe appClickStarts:6©2012 CloudBees, Inc.All rights reserved
  • 7. ClickStacks – Defining Application Runtimescloudbees.comJenkinsMasterTestStageBuildCodeJenkinsExecutorForgeRepositoriesGitSVNmvnCloudBeesAPIGrandCentralWebConsoleSDKSessionClusteringMySQLRouterApplicationPartnerEcosystem• Reusable templates specifying the set of server-side components thatwill be assembled and managed as a runtime to support your app• One ClickStack runtime is expected to be re-used by many apps• Examples – Tomcat, JBoss, Java, Play!, LifeRay, ColdFusion; …• Open model for creating new named runtimes for your use and toshare with othersClickStacks:7©2012 CloudBees, Inc.All rights reserved
  • 8. ClickStart Gallery – Choose Your App!8©2012 CloudBees, Inc.All rights reserved
  • 9. ClickStart - Provide The Minimum Required Info9©2012 CloudBees, Inc.All rights reserved
  • 10. ClickStart – Done!CompleteSource CodeWorking AppContinuousIntegrationandDeploymentWorkingDatabase10©2012 CloudBees, Inc.All rights reserved
  • 11. Inside a ClickStartclickstart.jsonidnamedescriptionsourceiconruntimedatabasesbuild-with-jenkinsdoc-urlSource code11©2012 CloudBees, Inc.All rights reservedFor more details, see: How to make your own ClickStart
  • 12. cloudbees.comUse thisclickstart.json tocreate a working app!The Magic Behind ClickStarts12CloudBeesGitRepoDatabaseBuild/Testdb:createAppPartnerServicePartnerServiceCloudBeesAPIGrandCentralWebConsoleBindBindTriggerDeployWow! At yourservice©2013 CloudBees, Inc. All rights reserved
  • 13. cloudbees.comModifying an App after ClickStarting13©2013 CloudBees, Inc. All rights reservedCloudBeesGitRepoDatabaseBuild/TestAppPartnerServicePartnerServiceBindBindTriggerDeployI want to make somechanges!Local GitRepogitcommitChangesWow! At yourservice
  • 14. Frictionless Extension and ReuseCustomerManagedCommunityManagedCloudBeesCuratedForkPush Push Clone14©2012 CloudBees, Inc.All rights reserved
  • 15. Customized RuntimeStacksExtending the Platform15
  • 16. • A runtime stack is more than just a language• Runtimes require support for interactions that are“native” for the developer and ops audience• You can extend and customize runtime stacks onCloudBees• Continuous integration and delivery are instantlyavailable in all casesCustomizing Runtime Stacks16©2013 CloudBees, Inc. All rights reserved
  • 17. How an App Becomes a Stack– Java Example17Java App (jar)InfrastructureJava VMJava APICloudBees-CuratedStackUser-CreatedCloudBees-CuratedJava EE App (war)InfrastructureJava VMJava APICloudBees-CuratedStackUser-CreatedCloudBees-CuratedJava EE (jars)• Interaction is with the JavaVM and API• Deployment unit is jar file• Interaction is with the Java EE Server• Deployment unit is war file• Extensions thru container contract andvendor facilitiesJava Runtime Stack Java EE Runtime Stack©2013 CloudBees, Inc. All rights reserved
  • 18. How an App Becomes a Stack– PHP/DrupalExample18PHP App (php)InfrastructurePHP InterpreterApacheCloudBees-CuratedStackUser-CreatedCloudBees-CuratedSite Profile (zip)InfrastructurePHP InterpreterApacheCloudBees-CuratedStackUser-CreatedCloudBees-CuratedDrupal (zip)• Interaction is with Apache and PHP• Deployment unit is PHP and HTMLfiles• Interaction is with Drupal CMS• Deployment unit is a web site Profile• Extensions thru modules, librariesPHP Runtime Stack Drupal Runtime Stack©2013 CloudBees, Inc. All rights reserved
  • 19. Inside a ClickStacksetup (shell script)Source codeZipclickstack.zip19©2012 CloudBees, Inc.All rights reservedSee: ClickStack – Application Containers
  • 20. ClickStackAgentClickStacksClickStack CompositionsTomcatsetupNewRelicsetupPapertrailsetupCreateApp(packageURL,appMetadata)App Working Directory.genapp/starttomcat/bin/server.xmlapp/index.jspWEB-INF/web.xmlnewrelic.jarNewrelic.yml• Install tomcat bits• Setup config files• Generate start script• Install newrelic agent jar• Generate newrelic.yml• Augment java args• Generate syslog config syslog.conf.genapp/startApp Metadata{ plugins:[“tomcat”“newrelic”,“papertrail”],“newrelic” : {“license”: “…”}“papertrail” : {“host”:”…”}}20©2012 CloudBees, Inc.All rights reserved
  • 21. ClickStackAgentClickStacksCustomer Managed ClickStack CompositionsTomcatsetupNewRelicsetupsetupCreateApp(packageURL,appMetadata)App Working Directory.genapp/starttomcat/bin/server.xmlapp/index.jspWEB-INF/web.xmlnewrelic.jarNewrelic.yml• Install tomcat bits• Setup config files• Generate start script• Install newrelic agent jar• Generate newrelic.yml• Augment java args• Generate syslog config.genapp/startMyPlugin• Install binaries• Generate configuration• Augment java argsframework.jarruntime.jarnativecode.execonfig.xmlApp Metadata{ plugins:[“tomcat”“newrelic”,“myplugin”],“newrelic” : {“license”: “…”}“myplugin” : {“myparm”:”…”}}21©2012 CloudBees, Inc.All rights reserved
  • 22. • CloudBees delivers an integrated, extensible openJava PaaS• ClickStarts get you up and going quickly and cancapture your common use cases for re-use.• ClickStacks let you customize application runtimes forre-use and mix with CloudBees-curated plugins• CloudBees manages the platform for you in all cases,reducing cost and improving efficiencySummary22©2012 CloudBees, Inc.All rights reserved
  • 23. 23©2012 CloudBees, Inc.All rights reserved