SlideShare a Scribd company logo
Potential Paths to using  Liferay in the cloud Liferay West Coast Symposium, 2011 Harpreet Singh Senior Director, Product Management CloudBees ©2011 Cloud Bees, Inc. All Rights Reserved
I work for CloudBees CloudBees is the top Platform-as-a-Service company for Java My background is  in PaaS  development, deployment in the cloud Jenkins Continuous Integration and  Java EE & Application Servers Invited here to speak about Jenkins and the cloud – topics that Liferay thinks would be very interesting & pertinent to Liferay developers Who am I and What am I doing here? ©2011 CloudBees, Inc. All Rights Reserved * Safe Harbor slide  
About CloudBees ©2011 Cloud Bees, Inc.  All Rights Reserved 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. Nectar  – CloudBees pro version of Jenkins [email_address]  – Cloud Services for Developers We are the Jenkins experts Core service of DEV@cloud with “Jenkins-as-a-Service” Kohsuke Kawaguchi part of the team RUN@cloud  – Frictionless runtime PaaS for Java apps
 
Our Position Liferay developers/administrators should explore moving their development and deployment to the cloud What is the talk about? ©2011 CloudBees, Inc. All Rights Reserved Your  Action Plugin developers move plugin development to the cloud through services like CloudBees Administrators explore moving your deployments to a PaaS today Implication Productivity and Cost Benefits
What is the cloud? IaaS/PaaS/SaaS What does a PaaS bring? PaaS solutions in the market Moving plugin development to the cloud Moving Liferay installation to the cloud Agenda ©2011 CloudBees, Inc. All Rights Reserved
What is the cloud? Show me the layered cake
Traditional Software Stack
Outsourcing headaches Cloud   Provider
3 Cloud Services Model: The layered Cake
Cloud Service Provider View IaaS  Build Your Own Stack Manage stack Build app Manage app Consumer Concern Provider Concern PaaS  Pre-built Platform Managed stack SaaS  Pre-built app Use App
App Consumer View
Isn't this hosting? You own resources Pay for what you use and not use No sharing No elasticity Renting resources Pay for what you use Sharing Multi-tenant Elasticity Hosting =  Cloud =
 
PaaS: Services that you care about Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Messaging Auto Scaling CI HA Runtime Services SCM ALM Services UI IDE Dev Services SDK APIs
PaaS Landscape 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 fully server-agnostic Oldest SaaS-like offering but with lots of env. constraints
What is the cloud? Moving plugin development to the cloud Why CI? Why Jenkins? Dev-to-deploy lifecycle today & tomorrow Where does cloud help? CloudBees: Jenkins in the cloud? Moving Liferay installation to the cloud Agenda ©2011 CloudBees, Inc. All Rights Reserved
Moving development to the cloud Code, Build, Test in the cloud ©2011 CloudBees, Inc. All Rights Reserved
Why? Teams are increasingly distributed Being on the same page is a problem Maintaining a repo requires  Administrative skills Repo machines Suggestions Github: watch projects, follow colleagues CloudBees forge: development, ci and build in one place Maven repositories in the cloud as well Moving code to the cloud ©2011 CloudBees, Inc. All Rights Reserved
©2011 CloudBees, Inc. All Rights Reserved Coding in the Cloud GitHub & CloudBees
What is CI? ©2011 CloudBees, Inc. All Rights Reserved The Problem The Solution Traditional Development Infrequent commits Ad-hoc testing Difficult integration process Infrequent releases Testing @ end Leads to Inefficient testing Long, difficult, error-prone integration Low visibility on development Harder to fix issues Development with CI frequent commits Dedicated build server Automatic builds Automatic tests Automatic reporting Regular testing Regular releases Continuous deployment Less bugs Core best practice in modern s/w development
Principal Components of CI ©2011 CloudBees, Inc. All Rights Reserved
What is Jenkins? ©2011 CloudBees, Inc. All Rights Reserved About History Kohsuke starts Hudson @Sun Hudson 1.0 as part of GlassFish Oracle acquires Sun Community moves away from Oracle Thriving Jenkins community today Releases: Weekly, LTS Adoption 25k+ sites using Jenkins YHOO, RHAT, GS… Plugins Extensible Architecture 500+ plugins Categories SCM Subversion, CVS, Git… Build Tools Gradle, Groovy, Promoted builds,  Build Wrappers Selenium, Artifactory, AWS Build Notifiers IRC, Jabber,  Lavalamp Build Reports     Clover, Emma, PMD, Sonar… … #1 OSS Continuous Integration Server
©2011 CloudBees, Inc. All Rights Reserved CI on your server CI on the Cloud
Move code to the cloud Setup Jenkins online Install SDK as part of build process Code commit hooks Builds code automatically Runs your tests Runs code coverage  Runs cross browser tests Setup Liferay online Deploy to Liferay instance What does it mean for plugin developers? ©2011 CloudBees, Inc. All Rights Reserved
Deploying Liferay to the cloud
What deployment should be? Manage Application Environment Manage CI Environment Manage Server Environment 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: Provision cluster:    Provision node Install DB Configure DB Secure DB Setup BC for DB Provision DB:    Provision cluster Provision DB Deploy schema Deploy App to each node Deploy App: (not a transparent update process) Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB Manage environment ( recurring ) maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Metering/Scaling ( recurring ) Update Security Install Plugins Manage Plugins Apply Patches Manage CI Environment:    Setup Master Setup Slaves Setup CI Environment Deploy Build Continuous Deployment
CloudBees Platform as a Service Cloud Management / Virtualization / OS ©2011 CloudBees, Inc.  All Rights Reserved Continuous Deployment Production Build Test Provisioning Maintenance Elasticity/HA Jenkins JVM – Java EE Java, Python, Scala, … CloudBees Core Platform Services RUN DEV Repositories Data Services RDBMS,  NoSQL Metering Billing Monitoring Management Messaging Identity Logging/ Auditing Back-end services Runtime services GIT Maven … SVN APIs Web UI, CLI, HTTP API, Eclipse, Maven, Ant, etc. Databases Other SaaS On Premise
©2011 CloudBees, Inc. All Rights Reserved
Why deploy in the cloud? Outsource to PaaS provider – no more maintenance headaches Start out quickly – up and running very very quickly – great for POC’s Plugin developers -> deploy -> to their own instances, bring them and down once testing is done Scale up and down Deploying Liferay in the cloud: Today ©2011 CloudBees, Inc. All Rights Reserved
Create a new database Repackage standalone war Bundle libs into war instead of dropping in Tomcat directory Edit portal-ext.properties to add database information Choose medium plan on CloudBees Download CloudBees SDK Deploy application bees app:deploy Detailed Steps:  http://bit.ly/ pca8Qc Steps for Amzn Beanstalk (James Falkner’s blog): http://bit.ly/kwyIif Steps to deploy Liferay to CloudBees ©2011 CloudBees, Inc. All Rights Reserved
Liferay on CloudBees How does this look? ©2011 CloudBees, Inc. All Rights Reserved
©2011 CloudBees, Inc. All Rights Reserved
Delivered through Liferay liferaySaaS.com Choose  a plan: starter/medium/heavy Auto-migrate from starter->heavy based on traffic Liferay SaaS administrators handle the underlying migration magic for you Delivered through 3 rd  party (say CloudBees) Liferay as an ecosystem provider You get to choose amongst PaaS services Liferay as a SaaS Application: Tomorrow ©2011 CloudBees, Inc. All Rights Reserved
©2011 CloudBees, Inc. All Rights Reserved
Our Position Liferay developers/administrators should explore moving their development and deployment to the cloud Conclusion ©2011 CloudBees, Inc. All Rights Reserved Your  Action Plugin developers move plugin development to the cloud through services like CloudBees Administrators explore moving your deployments to a cloud today Implication Productivity and Cost Benefits
 

More Related Content

What's hot (20)

PPTX
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
jaxconf
 
PPTX
Julia Liuson at SpringOne 2020
VMware Tanzu
 
PDF
Azure Spring Cloud Workshop - June 17, 2020
VMware Tanzu
 
PDF
Cloud Foundry Bootcamp
Andy Piper
 
PPTX
DevOps for Azure
Michele Leroux Bustamante
 
PPTX
Azure Mobile Services Workshop
Eran Stiller
 
PDF
Cloud Native Architectures for Devops
cornelia davis
 
PDF
Continuous Delivery with Grails and CloudBees
Marco Vermeulen
 
PDF
Cloud Foundry Introduction and Overview
Andy Piper
 
PPTX
Pivotal cloud foundry introduction
Gaurav Shukla
 
PDF
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Ed Burns
 
PPT
GigaSpaces CCF 4 Xap
Shay Hassidim
 
PDF
Delivering Essentials for Albertsons: VMware TAS’s Critical Role During the C...
VMware Tanzu
 
PDF
The Cloud Foundry Story
VMware Tanzu
 
PDF
Cloud-native Data
cornelia davis
 
PDF
Spring and Pivotal Application Service - SpringOne Tour Dallas
VMware Tanzu
 
PDF
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
VMware Tanzu
 
PDF
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Edward Burns
 
PDF
Finding and Organizing a Great Cloud Foundry User Group
Daniel Krook
 
PDF
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
AnnSteyaert_vmware
 
Amazon Web Services and PaaS - Enterprise Java for the Cloud Era? - Mark Pric...
jaxconf
 
Julia Liuson at SpringOne 2020
VMware Tanzu
 
Azure Spring Cloud Workshop - June 17, 2020
VMware Tanzu
 
Cloud Foundry Bootcamp
Andy Piper
 
DevOps for Azure
Michele Leroux Bustamante
 
Azure Mobile Services Workshop
Eran Stiller
 
Cloud Native Architectures for Devops
cornelia davis
 
Continuous Delivery with Grails and CloudBees
Marco Vermeulen
 
Cloud Foundry Introduction and Overview
Andy Piper
 
Pivotal cloud foundry introduction
Gaurav Shukla
 
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Ed Burns
 
GigaSpaces CCF 4 Xap
Shay Hassidim
 
Delivering Essentials for Albertsons: VMware TAS’s Critical Role During the C...
VMware Tanzu
 
The Cloud Foundry Story
VMware Tanzu
 
Cloud-native Data
cornelia davis
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
VMware Tanzu
 
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
VMware Tanzu
 
Wars I’ve Seen From Java EE to Spring and more, Azure has you covered
Edward Burns
 
Finding and Organizing a Great Cloud Foundry User Group
Daniel Krook
 
VMware - Snapshot sessions - Deploy and manage tomorrow's applications today
AnnSteyaert_vmware
 

Similar to How can Liferay Developers, Deployers move to the Cloud (20)

PPTX
What is the PaaS?
CloudBees
 
PDF
CloudBees - Sacha Labourey - May 2011
JUG Lausanne
 
PDF
Jenkins Enterprise by CloudBees Webinar
CloudBees
 
PDF
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
PPTX
Creating a Developer Community
Kohsuke Kawaguchi
 
PPTX
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
CloudBees
 
PPTX
Accelerrate your PaaS to the Mobile World
Ryan Campbell
 
PPTX
Getting Started Developing with Platform as a Service
CloudBees
 
PPTX
Getting Started with PaaS
CloudBees
 
PDF
Rethinking Application Design for the Cloud
CloudBees
 
PPTX
OWF12/Java Sacha labourey
Paris Open Source Summit
 
PPTX
Successful PaaS and CI in the Cloud - EclipseCon 2012
CloudBees
 
PPTX
Getting Started with Platform-as-a-Service
CloudBees
 
PDF
Dipping Your Toes Into Cloud Native Application Development
Matthew Farina
 
PDF
Continuous Delivery with CloudBees Core
Bhavani Rao
 
PDF
Standardizing Jenkins with CloudBees Jenkins Team
DevOps.com
 
PDF
Standardizing Jenkins with CloudBees Jenkins Team
Deborah Schalm
 
PDF
Head in the clouds
Steve Mactaggart
 
PDF
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
Nima Badiey
 
PPTX
Cloud patterns
Nicolas De Loof
 
What is the PaaS?
CloudBees
 
CloudBees - Sacha Labourey - May 2011
JUG Lausanne
 
Jenkins Enterprise by CloudBees Webinar
CloudBees
 
Enterprise Java Virtualization, Sacha Labourey
OpenBlend society
 
Creating a Developer Community
Kohsuke Kawaguchi
 
Jumping from Continuous Integration to Continuous Delivery with Jenkins Enter...
CloudBees
 
Accelerrate your PaaS to the Mobile World
Ryan Campbell
 
Getting Started Developing with Platform as a Service
CloudBees
 
Getting Started with PaaS
CloudBees
 
Rethinking Application Design for the Cloud
CloudBees
 
OWF12/Java Sacha labourey
Paris Open Source Summit
 
Successful PaaS and CI in the Cloud - EclipseCon 2012
CloudBees
 
Getting Started with Platform-as-a-Service
CloudBees
 
Dipping Your Toes Into Cloud Native Application Development
Matthew Farina
 
Continuous Delivery with CloudBees Core
Bhavani Rao
 
Standardizing Jenkins with CloudBees Jenkins Team
DevOps.com
 
Standardizing Jenkins with CloudBees Jenkins Team
Deborah Schalm
 
Head in the clouds
Steve Mactaggart
 
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
Nima Badiey
 
Cloud patterns
Nicolas De Loof
 
Ad

More from CloudBees (20)

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

Recently uploaded (20)

PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Complete JavaScript Notes: From Basics to Advanced Concepts.pdf
haydendavispro
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 

How can Liferay Developers, Deployers move to the Cloud

  • 1. Potential Paths to using Liferay in the cloud Liferay West Coast Symposium, 2011 Harpreet Singh Senior Director, Product Management CloudBees ©2011 Cloud Bees, Inc. All Rights Reserved
  • 2. I work for CloudBees CloudBees is the top Platform-as-a-Service company for Java My background is in PaaS development, deployment in the cloud Jenkins Continuous Integration and Java EE & Application Servers Invited here to speak about Jenkins and the cloud – topics that Liferay thinks would be very interesting & pertinent to Liferay developers Who am I and What am I doing here? ©2011 CloudBees, Inc. All Rights Reserved * Safe Harbor slide 
  • 3. About CloudBees ©2011 Cloud Bees, Inc. All Rights Reserved 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. Nectar – CloudBees pro version of Jenkins [email_address] – Cloud Services for Developers We are the Jenkins experts Core service of DEV@cloud with “Jenkins-as-a-Service” Kohsuke Kawaguchi part of the team RUN@cloud – Frictionless runtime PaaS for Java apps
  • 4.  
  • 5. Our Position Liferay developers/administrators should explore moving their development and deployment to the cloud What is the talk about? ©2011 CloudBees, Inc. All Rights Reserved Your Action Plugin developers move plugin development to the cloud through services like CloudBees Administrators explore moving your deployments to a PaaS today Implication Productivity and Cost Benefits
  • 6. What is the cloud? IaaS/PaaS/SaaS What does a PaaS bring? PaaS solutions in the market Moving plugin development to the cloud Moving Liferay installation to the cloud Agenda ©2011 CloudBees, Inc. All Rights Reserved
  • 7. What is the cloud? Show me the layered cake
  • 10. 3 Cloud Services Model: The layered Cake
  • 11. Cloud Service Provider View IaaS Build Your Own Stack Manage stack Build app Manage app Consumer Concern Provider Concern PaaS Pre-built Platform Managed stack SaaS Pre-built app Use App
  • 13. Isn't this hosting? You own resources Pay for what you use and not use No sharing No elasticity Renting resources Pay for what you use Sharing Multi-tenant Elasticity Hosting = Cloud =
  • 14.  
  • 15. PaaS: Services that you care about Provisioning Billing Monitoring SLA Policy Core Platform Services IaaS Virtualization/OS Metering App Server Mail Logging DBMS/NoSQL Middleware Services Messaging Auto Scaling CI HA Runtime Services SCM ALM Services UI IDE Dev Services SDK APIs
  • 16. PaaS Landscape 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 fully server-agnostic Oldest SaaS-like offering but with lots of env. constraints
  • 17. What is the cloud? Moving plugin development to the cloud Why CI? Why Jenkins? Dev-to-deploy lifecycle today & tomorrow Where does cloud help? CloudBees: Jenkins in the cloud? Moving Liferay installation to the cloud Agenda ©2011 CloudBees, Inc. All Rights Reserved
  • 18. Moving development to the cloud Code, Build, Test in the cloud ©2011 CloudBees, Inc. All Rights Reserved
  • 19. Why? Teams are increasingly distributed Being on the same page is a problem Maintaining a repo requires Administrative skills Repo machines Suggestions Github: watch projects, follow colleagues CloudBees forge: development, ci and build in one place Maven repositories in the cloud as well Moving code to the cloud ©2011 CloudBees, Inc. All Rights Reserved
  • 20. ©2011 CloudBees, Inc. All Rights Reserved Coding in the Cloud GitHub & CloudBees
  • 21. What is CI? ©2011 CloudBees, Inc. All Rights Reserved The Problem The Solution Traditional Development Infrequent commits Ad-hoc testing Difficult integration process Infrequent releases Testing @ end Leads to Inefficient testing Long, difficult, error-prone integration Low visibility on development Harder to fix issues Development with CI frequent commits Dedicated build server Automatic builds Automatic tests Automatic reporting Regular testing Regular releases Continuous deployment Less bugs Core best practice in modern s/w development
  • 22. Principal Components of CI ©2011 CloudBees, Inc. All Rights Reserved
  • 23. What is Jenkins? ©2011 CloudBees, Inc. All Rights Reserved About History Kohsuke starts Hudson @Sun Hudson 1.0 as part of GlassFish Oracle acquires Sun Community moves away from Oracle Thriving Jenkins community today Releases: Weekly, LTS Adoption 25k+ sites using Jenkins YHOO, RHAT, GS… Plugins Extensible Architecture 500+ plugins Categories SCM Subversion, CVS, Git… Build Tools Gradle, Groovy, Promoted builds, Build Wrappers Selenium, Artifactory, AWS Build Notifiers IRC, Jabber, Lavalamp Build Reports Clover, Emma, PMD, Sonar… … #1 OSS Continuous Integration Server
  • 24. ©2011 CloudBees, Inc. All Rights Reserved CI on your server CI on the Cloud
  • 25. Move code to the cloud Setup Jenkins online Install SDK as part of build process Code commit hooks Builds code automatically Runs your tests Runs code coverage Runs cross browser tests Setup Liferay online Deploy to Liferay instance What does it mean for plugin developers? ©2011 CloudBees, Inc. All Rights Reserved
  • 26. Deploying Liferay to the cloud
  • 27. What deployment should be? Manage Application Environment Manage CI Environment Manage Server Environment 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: Provision cluster:  Provision node Install DB Configure DB Secure DB Setup BC for DB Provision DB:  Provision cluster Provision DB Deploy schema Deploy App to each node Deploy App: (not a transparent update process) Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB Manage environment ( recurring ) maintain FW Validate/QA stack Measure App performance Acquire Hardware Provision node Update Cluster Update LB Metering/Scaling ( recurring ) Update Security Install Plugins Manage Plugins Apply Patches Manage CI Environment:  Setup Master Setup Slaves Setup CI Environment Deploy Build Continuous Deployment
  • 28. CloudBees Platform as a Service Cloud Management / Virtualization / OS ©2011 CloudBees, Inc. All Rights Reserved Continuous Deployment Production Build Test Provisioning Maintenance Elasticity/HA Jenkins JVM – Java EE Java, Python, Scala, … CloudBees Core Platform Services RUN DEV Repositories Data Services RDBMS, NoSQL Metering Billing Monitoring Management Messaging Identity Logging/ Auditing Back-end services Runtime services GIT Maven … SVN APIs Web UI, CLI, HTTP API, Eclipse, Maven, Ant, etc. Databases Other SaaS On Premise
  • 29. ©2011 CloudBees, Inc. All Rights Reserved
  • 30. Why deploy in the cloud? Outsource to PaaS provider – no more maintenance headaches Start out quickly – up and running very very quickly – great for POC’s Plugin developers -> deploy -> to their own instances, bring them and down once testing is done Scale up and down Deploying Liferay in the cloud: Today ©2011 CloudBees, Inc. All Rights Reserved
  • 31. Create a new database Repackage standalone war Bundle libs into war instead of dropping in Tomcat directory Edit portal-ext.properties to add database information Choose medium plan on CloudBees Download CloudBees SDK Deploy application bees app:deploy Detailed Steps: http://bit.ly/ pca8Qc Steps for Amzn Beanstalk (James Falkner’s blog): http://bit.ly/kwyIif Steps to deploy Liferay to CloudBees ©2011 CloudBees, Inc. All Rights Reserved
  • 32. Liferay on CloudBees How does this look? ©2011 CloudBees, Inc. All Rights Reserved
  • 33. ©2011 CloudBees, Inc. All Rights Reserved
  • 34. Delivered through Liferay liferaySaaS.com Choose a plan: starter/medium/heavy Auto-migrate from starter->heavy based on traffic Liferay SaaS administrators handle the underlying migration magic for you Delivered through 3 rd party (say CloudBees) Liferay as an ecosystem provider You get to choose amongst PaaS services Liferay as a SaaS Application: Tomorrow ©2011 CloudBees, Inc. All Rights Reserved
  • 35. ©2011 CloudBees, Inc. All Rights Reserved
  • 36. Our Position Liferay developers/administrators should explore moving their development and deployment to the cloud Conclusion ©2011 CloudBees, Inc. All Rights Reserved Your Action Plugin developers move plugin development to the cloud through services like CloudBees Administrators explore moving your deployments to a cloud today Implication Productivity and Cost Benefits
  • 37.  

Editor's Notes

  • #5: Situation:      -  App Developers/Organizations would like to take applications to the market quicker Complication:      - Complicated technologies, maintain infrastructure that includes hardware, software, os blah Implication      - Costly over-runs, very complicated deployment models, complicated build models - bug filled apps. All costing $$
  • #9: Quick 30s on the slide
  • #11: (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
  • #12: IaaS: Lego blocks of fundamental Services, Very flexible. Built your own stack.
  • #13: 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.
  • #15: Well not quite. There is the Multi-tenancy thing…
  • #17: AWS and Azure show “naïve” approach to PaaS i.e. IaaS+middleware Modern approach provide infrastructure abstraction and favor APPS and DEV Some platforms (like GAE) restrict developer’s ability to do what they need, hence reduce application “ migrability ” from traditional AS
  • #21: Coding in the cloud
  • #22: Situation Complication Implication {Rephrase} -1 slide Situation: The traditional software development process includes coding, some more coding, ad-hoc testing, rapid commits before start of the testing phase. Tests are run nightly, weekly or sometimes even less frequently. Compllication This is a flawed process - usually results in inefficient testing, long difficult integration process, poor visibility into development process, raised issues are harder to fix. The setup is a like a house of cards all ready to fall. Implication The implication is that either organizations end up shipping buggy product and suffer a loss of reputation and revenue in the market or delivery runs into costly overruns and delays and the organization loses revenue in the market. Position Opening Action Benefit - (slide 1) Position Tests should be run as often as possible if not sooner, integration should be continuous not discrete, reports should be available available per commit Opening Action To bring the desired continuity to the software development/software factory life-cycle - a CI server should be made a core part of the development process Benefit Issues are found faster, integrations are quicker, fixes are fixed almost as they are found - resulting in a better tested software that is released on time in the market.
  • #23: You can think of CI as a factory that takes 3 functions and spits out quality software and some residual. Those three functions are the repository, build process, testing process: as always source repository is the most important piece of all – developers commit code to the repository. uberSVN makes the coding environment more social – so you can see who has made what commits and follow a discussion. This facility is not available in plain jane svn – so it is a huge step forward in helping people collaborate. Once the code is committed – CI detects it – picks up the associated build scripts, builds all components and sub-components. If there is a failure, you can see who broke the build and go into uberSVN and follow or initiate the discussion. As part of the build process – you can run things like static code analysis, code coverage tests etc Talk about running tests Sets of reports are generated. If you are happy – you can continuous deploy from here to the application server of your choice and anywhere else.
  • #24: Question 1) So Harpreet – how has the community split played out? Where do you see that developers have moved to? Answer) some stats here on thriving community. Wandisco is doing the right thing by voting with the community and offering Jenkins as a solution Users chose Jenkins – 13k downloads/week; 1500 members on the jenkins-users list and 4700 followers on twitter (vs 570 followers); apache, nasa, jrbuy, scala others have moved to Jenkins Developers chose Jenkins – 900 members on jenkins-dev; 48 active contribtors; of top 25 plugin 21 moved to Jenkisn; 11.3 chanes/release vs 6.3 pre-fork Jenkins user conference – announced 3 weeks ago: 250+ registrants; 30 talk submissions Question 2) 500+ plugins sound nice – who maintains them? Answer) The community contributes these plugins and plugin developers maintain them Question 3) So if I as a serious enterprise user want to get support – where do I go? Should I be chasing these developers? Answer) (Not bashing the community). Well Tim – you could file a bug report in the open source community. But your biz priority might be quite different than what the communities priority. What we see is that in your audience case they would come to Wandisco for support as they get an integrated product and making sure your biz runs makes wandisco pay its mortgage – so they will support it as a commercial product. Question 4) Any plugins that you like Answer) Chuck Norris is quite popular
  • #28: We compress your development to deployment so that you can take better tested applications to market faster without maintenance headaches.
  • #29: 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 criteria The 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 functionality Forge usage within Jenkins Delta 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.
  • #38: Closing Position      PaaS offers deliverance from management headaches Core Message:      However while choosing a solution clearly put down a criteria - in our opinion moving the entire development lifecycle to the cloud is the key Closing Action:      Open an account on CloudbEes