SlideShare a Scribd company logo
1 of 23
CloudBees: A Technical Overview
Mark Prichard
• 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 accounts
About CloudBees
2©2012 CloudBees, Inc.
All rights reserved
Overview of CloudBees PaaS
cloudbees.com
Jenkins
Master
Test
Stage
Build
Code
Jenkins
Executor
ForgeRepositories
Git
SVN
mvn
Development
Services
(DEV@cloud)
Developer and
Operations
Interaction
End User
Interaction
Runtime
Services
(RUN@cloud)
CloudBees
API
Grand
Central
Web
Console
SDK
Session
Clustering
MySQL
Router
Application
Partner
Ecosystem
3©2012 CloudBees, Inc.
All rights reserved
cloudbees.com
Internal Overview of CloudBees PaaS
Service-Based PaaS Architecture
Agents
…DB AgentAS Agent
Message Bus
Shared Services
Identity Provisioning
Scaling
Alerting
Monitoring
Auditing
CloudBees
API
Grand
Central
Web
Console
SDK
Jenkins
Master
Test
Stage
Build
Code
Jenkins
Executor
ForgeRepositories
Git
SVN
mvn
Session
Clustering
MySQL
Router
Application
Partner
Ecosystem
4©2012 CloudBees, Inc.
All rights reserved
ClickStarts and ClickStacks
Extending the Platform
5
ClickStarts – Defining Service Composition in
PaaS
cloudbees.com
Jenkins
Master
Test
Stage
Build
Code
Jenkins
Executor
ForgeRepositories
Git
SVN
mvnCloudBees
API
Grand
Central
Web
Console
SDK
Session
Clustering
MySQL
Router
Application
Partner
Ecosystem
• Reusable templates specifying any or all of the
information needed to build an application from
source code, deploy it to CloudBees, and connect it
to other runtime services
• Specifies the named runtime that will be used for
the app
ClickStarts:
6©2012 CloudBees, Inc.
All rights reserved
ClickStacks – Defining Application Runtimes
cloudbees.com
Jenkins
Master
Test
Stage
Build
Code
Jenkins
Executor
ForgeRepositories
Git
SVN
mvnCloudBees
API
Grand
Central
Web
Console
SDK
Session
Clustering
MySQL
Router
Application
Partner
Ecosystem
• Reusable templates specifying the set of server-side components that
will 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 to
share with others
ClickStacks:
7©2012 CloudBees, Inc.
All rights reserved
ClickStart Gallery – Choose Your App!
8©2012 CloudBees, Inc.
All rights reserved
ClickStart - Provide The Minimum Required Info
9©2012 CloudBees, Inc.
All rights reserved
ClickStart – Done!
Complete
Source Code
Working App
Continuous
Integration
and
Deployment
Working
Database
10©2012 CloudBees, Inc.
All rights reserved
Inside a ClickStart
clickstart.json
id
name
description
source
icon
runtime
databases
build-with-jenkins
doc-url
Source code
11©2012 CloudBees, Inc.
All rights reserved
For more details, see: How to make your own ClickStart
cloudbees.com
Use this
clickstart.json to
create a working app!
The Magic Behind ClickStarts
12
CloudBees
Git
Repo
Database
Build/Test
db:create
App
Partner
Service
Partner
Service
CloudBees
API
Grand
Central
Web
Console
Bind
Bind
Trigger
Deploy
Wow! At your
service
©2013 CloudBees, Inc. All rights reserved
cloudbees.com
Modifying an App after ClickStarting
13©2013 CloudBees, Inc. All rights reserved
CloudBees
Git
Repo
Database
Build/Test
App
Partner
Service
Partner
Service
Bind
Bind
Trigger
DeployI want to make some
changes!
Local Git
Repo
gitcommit
Changes
Wow! At your
service
Frictionless Extension and Reuse
Customer
Managed
Community
Managed
CloudBees
Curated
Fork
Push Push Clone
14©2012 CloudBees, Inc.
All rights reserved
Customized Runtime
StacksExtending the Platform
15
• 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 on
CloudBees
• Continuous integration and delivery are instantly
available in all cases
Customizing Runtime Stacks
16©2013 CloudBees, Inc. All rights reserved
How an App Becomes a Stack– Java Example
17
Java App (jar)
Infrastructure
Java VM
Java APICloudBees-Curated
Stack
User-Created
CloudBees-Curated
Java EE App (war)
Infrastructure
Java VM
Java APICloudBees-Curated
Stack
User-Created
CloudBees-Curated
Java 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 and
vendor facilities
Java Runtime Stack Java EE Runtime Stack
©2013 CloudBees, Inc. All rights reserved
How an App Becomes a Stack– PHP/Drupal
Example
18
PHP App (php)
Infrastructure
PHP Interpreter
ApacheCloudBees-Curated
Stack
User-Created
CloudBees-Curated
Site Profile (zip)
Infrastructure
PHP Interpreter
ApacheCloudBees-Curated
Stack
User-Created
CloudBees-Curated
Drupal (zip)
• Interaction is with Apache and PHP
• Deployment unit is PHP and HTML
files
• Interaction is with Drupal CMS
• Deployment unit is a web site Profile
• Extensions thru modules, libraries
PHP Runtime Stack Drupal Runtime Stack
©2013 CloudBees, Inc. All rights reserved
Inside a ClickStack
setup (shell script)
Source code
Zip
clickstack.zip
19©2012 CloudBees, Inc.
All rights reserved
See: ClickStack – Application Containers
ClickStack
Agent
ClickStacks
ClickStack Compositions
Tomcat
setup
NewRelic
setup
Papertrail
setup
CreateApp(
packageURL,
appMetadata)
App Working Directory
.genapp/
start
tomcat/
bin/
server.xml
app/
index.jsp
WEB-INF/
web.xml
newrelic.jar
Newrelic.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/start
App Metadata
{ plugins:
[“tomcat”
“newrelic”,
“papertrail”],
“newrelic” : {
“license”: “…”
}
“papertrail” : {
“host”:”…”
}
}
20©2012 CloudBees, Inc.
All rights reserved
ClickStack
Agent
ClickStacks
Customer Managed ClickStack Compositions
Tomcat
setup
NewRelic
setup
setup
CreateApp(
packageURL,
appMetadata)
App Working Directory
.genapp/
start
tomcat/
bin/
server.xml
app/
index.jsp
WEB-INF/
web.xml
newrelic.jar
Newrelic.yml
• Install tomcat bits
• Setup config files
• Generate start script
• Install newrelic agent jar
• Generate newrelic.yml
• Augment java args
• Generate syslog config
.genapp/start
MyPlugin
• Install binaries
• Generate configuration
• Augment java args
framework.jar
runtime.jar
nativecode.exe
config.xml
App Metadata
{ plugins:
[“tomcat”
“newrelic”,
“myplugin”],
“newrelic” : {
“license”: “…”
}
“myplugin” : {
“myparm”:”…”
}
}
21©2012 CloudBees, Inc.
All rights reserved
• CloudBees delivers an integrated, extensible open
Java PaaS
• ClickStarts get you up and going quickly and can
capture your common use cases for re-use.
• ClickStacks let you customize application runtimes for
re-use and mix with CloudBees-curated plugins
• CloudBees manages the platform for you in all cases,
reducing cost and improving efficiency
Summary
22©2012 CloudBees, Inc.
All rights reserved
23©2012 CloudBees, Inc.
All rights reserved

More Related Content

Viewers also liked

Makalah ptm cara pembuatan jalan kelompok 3
Makalah ptm cara pembuatan jalan kelompok 3Makalah ptm cara pembuatan jalan kelompok 3
Makalah ptm cara pembuatan jalan kelompok 3Rifaldy RJ
 
Ajaran agama yang berhubungan dengan kesehatan
Ajaran agama yang berhubungan dengan kesehatanAjaran agama yang berhubungan dengan kesehatan
Ajaran agama yang berhubungan dengan kesehatanWarung Bidan
 
Bimtek akreditasi madrasah
Bimtek akreditasi madrasahBimtek akreditasi madrasah
Bimtek akreditasi madrasahTafsir Katsir
 
Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"
Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"
Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"Syifa Sahaliya
 
GLOBAL SECURITY: IMIGRATION AND REFUGEES
GLOBAL SECURITY: IMIGRATION AND REFUGEESGLOBAL SECURITY: IMIGRATION AND REFUGEES
GLOBAL SECURITY: IMIGRATION AND REFUGEESAhirul Habib Padilah
 
Program kerja try out 2015
Program kerja try out 2015Program kerja try out 2015
Program kerja try out 2015Ardhi Firmansyah
 
Slide 23 26-tipe-1
Slide 23 26-tipe-1Slide 23 26-tipe-1
Slide 23 26-tipe-1tanto -
 
Are you ready for end times
Are you ready for end timesAre you ready for end times
Are you ready for end timesSSMC
 

Viewers also liked (13)

Makalah ptm cara pembuatan jalan kelompok 3
Makalah ptm cara pembuatan jalan kelompok 3Makalah ptm cara pembuatan jalan kelompok 3
Makalah ptm cara pembuatan jalan kelompok 3
 
Pengembangan diri
Pengembangan diriPengembangan diri
Pengembangan diri
 
Pengembangan diri sma
Pengembangan diri smaPengembangan diri sma
Pengembangan diri sma
 
Kelompok 1 pai
Kelompok 1 paiKelompok 1 pai
Kelompok 1 pai
 
Ajaran agama yang berhubungan dengan kesehatan
Ajaran agama yang berhubungan dengan kesehatanAjaran agama yang berhubungan dengan kesehatan
Ajaran agama yang berhubungan dengan kesehatan
 
Bimtek akreditasi madrasah
Bimtek akreditasi madrasahBimtek akreditasi madrasah
Bimtek akreditasi madrasah
 
Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"
Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"
Pendidikan Agama Islam "Bersatu Dalam Keragaman dan Demokrasi"
 
GLOBAL SECURITY: IMIGRATION AND REFUGEES
GLOBAL SECURITY: IMIGRATION AND REFUGEESGLOBAL SECURITY: IMIGRATION AND REFUGEES
GLOBAL SECURITY: IMIGRATION AND REFUGEES
 
Program kerja try out 2015
Program kerja try out 2015Program kerja try out 2015
Program kerja try out 2015
 
Analisis jabatan ppt
Analisis jabatan pptAnalisis jabatan ppt
Analisis jabatan ppt
 
Slide 23 26-tipe-1
Slide 23 26-tipe-1Slide 23 26-tipe-1
Slide 23 26-tipe-1
 
INSURANCE
INSURANCEINSURANCE
INSURANCE
 
Are you ready for end times
Are you ready for end timesAre you ready for end times
Are you ready for end times
 

More from CloudBees

JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerJUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerCloudBees
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyCloudBees
 
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)CloudBees
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...CloudBees
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyCloudBees
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceCloudBees
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...CloudBees
 
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?CloudBees
 
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...CloudBees
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsCloudBees
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...CloudBees
 
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...CloudBees
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersCloudBees
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"CloudBees
 
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...CloudBees
 
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UIJUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UICloudBees
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosCloudBees
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...CloudBees
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...CloudBees
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...CloudBees
 

More from CloudBees (20)

JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with DockerJUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Scaling Your Jenkins Master with Docker
 
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and GroovyJUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Plugin Development with Gradle and Groovy
 
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
 
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
 
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made EasyJUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Jenkins Made Easy
 
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and MaintenanceJUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Hey! What Did We Just Release?
 
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
 
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data ProjectsJUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
 
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major RetailersJUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
 
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
 
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
 
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UIJUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Evolving the Jenkins UI
 
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache MesosJUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
 
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
 
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
 
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
 

Recently uploaded

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 

Recently uploaded (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 

CloudBees - A Technical Introduction

  • 1. CloudBees: A Technical Overview Mark 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 accounts About CloudBees 2©2012 CloudBees, Inc. All rights reserved
  • 3. Overview of CloudBees PaaS cloudbees.com Jenkins Master Test Stage Build Code Jenkins Executor ForgeRepositories Git SVN mvn Development Services (DEV@cloud) Developer and Operations Interaction End User Interaction Runtime Services (RUN@cloud) CloudBees API Grand Central Web Console SDK Session Clustering MySQL Router Application Partner Ecosystem 3©2012 CloudBees, Inc. All rights reserved
  • 4. cloudbees.com Internal Overview of CloudBees PaaS Service-Based PaaS Architecture Agents …DB AgentAS Agent Message Bus Shared Services Identity Provisioning Scaling Alerting Monitoring Auditing CloudBees API Grand Central Web Console SDK Jenkins Master Test Stage Build Code Jenkins Executor ForgeRepositories Git SVN mvn Session Clustering MySQL Router Application Partner Ecosystem 4©2012 CloudBees, Inc. All rights reserved
  • 6. ClickStarts – Defining Service Composition in PaaS cloudbees.com Jenkins Master Test Stage Build Code Jenkins Executor ForgeRepositories Git SVN mvnCloudBees API Grand Central Web Console SDK Session Clustering MySQL Router Application Partner Ecosystem • Reusable templates specifying any or all of the information needed to build an application from source code, deploy it to CloudBees, and connect it to other runtime services • Specifies the named runtime that will be used for the app ClickStarts: 6©2012 CloudBees, Inc. All rights reserved
  • 7. ClickStacks – Defining Application Runtimes cloudbees.com Jenkins Master Test Stage Build Code Jenkins Executor ForgeRepositories Git SVN mvnCloudBees API Grand Central Web Console SDK Session Clustering MySQL Router Application Partner Ecosystem • Reusable templates specifying the set of server-side components that will 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 to share with others ClickStacks: 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 Info 9©2012 CloudBees, Inc. All rights reserved
  • 10. ClickStart – Done! Complete Source Code Working App Continuous Integration and Deployment Working Database 10©2012 CloudBees, Inc. All rights reserved
  • 11. Inside a ClickStart clickstart.json id name description source icon runtime databases build-with-jenkins doc-url Source code 11©2012 CloudBees, Inc. All rights reserved For more details, see: How to make your own ClickStart
  • 12. cloudbees.com Use this clickstart.json to create a working app! The Magic Behind ClickStarts 12 CloudBees Git Repo Database Build/Test db:create App Partner Service Partner Service CloudBees API Grand Central Web Console Bind Bind Trigger Deploy Wow! At your service ©2013 CloudBees, Inc. All rights reserved
  • 13. cloudbees.com Modifying an App after ClickStarting 13©2013 CloudBees, Inc. All rights reserved CloudBees Git Repo Database Build/Test App Partner Service Partner Service Bind Bind Trigger DeployI want to make some changes! Local Git Repo gitcommit Changes Wow! At your service
  • 14. Frictionless Extension and Reuse Customer Managed Community Managed CloudBees Curated Fork Push Push Clone 14©2012 CloudBees, Inc. All rights reserved
  • 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 on CloudBees • Continuous integration and delivery are instantly available in all cases Customizing Runtime Stacks 16©2013 CloudBees, Inc. All rights reserved
  • 17. How an App Becomes a Stack– Java Example 17 Java App (jar) Infrastructure Java VM Java APICloudBees-Curated Stack User-Created CloudBees-Curated Java EE App (war) Infrastructure Java VM Java APICloudBees-Curated Stack User-Created CloudBees-Curated Java 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 and vendor facilities Java Runtime Stack Java EE Runtime Stack ©2013 CloudBees, Inc. All rights reserved
  • 18. How an App Becomes a Stack– PHP/Drupal Example 18 PHP App (php) Infrastructure PHP Interpreter ApacheCloudBees-Curated Stack User-Created CloudBees-Curated Site Profile (zip) Infrastructure PHP Interpreter ApacheCloudBees-Curated Stack User-Created CloudBees-Curated Drupal (zip) • Interaction is with Apache and PHP • Deployment unit is PHP and HTML files • Interaction is with Drupal CMS • Deployment unit is a web site Profile • Extensions thru modules, libraries PHP Runtime Stack Drupal Runtime Stack ©2013 CloudBees, Inc. All rights reserved
  • 19. Inside a ClickStack setup (shell script) Source code Zip clickstack.zip 19©2012 CloudBees, Inc. All rights reserved See: ClickStack – Application Containers
  • 20. ClickStack Agent ClickStacks ClickStack Compositions Tomcat setup NewRelic setup Papertrail setup CreateApp( packageURL, appMetadata) App Working Directory .genapp/ start tomcat/ bin/ server.xml app/ index.jsp WEB-INF/ web.xml newrelic.jar Newrelic.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/start App Metadata { plugins: [“tomcat” “newrelic”, “papertrail”], “newrelic” : { “license”: “…” } “papertrail” : { “host”:”…” } } 20©2012 CloudBees, Inc. All rights reserved
  • 21. ClickStack Agent ClickStacks Customer Managed ClickStack Compositions Tomcat setup NewRelic setup setup CreateApp( packageURL, appMetadata) App Working Directory .genapp/ start tomcat/ bin/ server.xml app/ index.jsp WEB-INF/ web.xml newrelic.jar Newrelic.yml • Install tomcat bits • Setup config files • Generate start script • Install newrelic agent jar • Generate newrelic.yml • Augment java args • Generate syslog config .genapp/start MyPlugin • Install binaries • Generate configuration • Augment java args framework.jar runtime.jar nativecode.exe config.xml App Metadata { plugins: [“tomcat” “newrelic”, “myplugin”], “newrelic” : { “license”: “…” } “myplugin” : { “myparm”:”…” } } 21©2012 CloudBees, Inc. All rights reserved
  • 22. • CloudBees delivers an integrated, extensible open Java PaaS • ClickStarts get you up and going quickly and can capture your common use cases for re-use. • ClickStacks let you customize application runtimes for re-use and mix with CloudBees-curated plugins • CloudBees manages the platform for you in all cases, reducing cost and improving efficiency Summary 22©2012 CloudBees, Inc. All rights reserved
  • 23. 23©2012 CloudBees, Inc. All rights reserved

Editor's Notes

  1. Lose It!1.5M customers, 25,000 tx/min, 4 developersAdeoLed by marketing, through SIBullhornDelivered 60 customized, cloud-based application implementations