spring, java web apps to the cloud

28
Spring Java Web Apps to the cloud CloudBees - Comprehensive Platform as a Service for Java™ Mar 2 nd , 2011 Spike Washburn, Ryan Campbell Architects, CloudBees ©2011 Cloud Bees, Inc. All Rights Reserved

Upload: cloudbees

Post on 14-Jan-2015

3.615 views

Category:

Technology


0 download

DESCRIPTION

Slides from "Spring Java Web Apps to the Cloud" webinar, demonstrates how to take your Spring and Java web apps and deploy them to the CloudBees RUN@cloud platform and Ryan Campbell (Architect DEV@cloud) takes these deployed applications and ties them into DEV@cloud's Jenkins as a Service and sets up a continuous deployment environment.

TRANSCRIPT

Page 1: Spring, Java Web Apps to the cloud

Spring Java Web Apps to the cloud CloudBees - Comprehensive Platform as a Service for Java™

Mar 2nd, 2011 Spike Washburn, Ryan Campbell Architects, CloudBees

©2011 Cloud Bees, Inc. All Rights Reserved

Page 2: Spring, Java Web Apps to the cloud

2

•  What’s the cloud? •  About CloudBees •  RUN@cloud

– Create/Deploy basic Java EE app – Deploy Spring app

•  DEV@cloud – Build Spring app

•  Next Steps

Agenda

©2011 CloudBees, Inc. All Rights Reserved

Page 3: Spring, Java Web Apps to the cloud

3 ©2011 CloudBees, Inc. All Rights Reserved

App Deployment – Simplified: Is this you?

Provision node:

Provision cluster:

Provision DB:

Provision cluster Provision DB Deploy schema

Deploy App to each node

Deploy App:

(not a transparent update process) Manage environment (recurring) Metering/Scaling (recurring)

Deploy App to traditional Java platform

Provision  Node  

Install  LoadBalancer  

Configure  LB  

Secure  LB  

Setup  BC  for  cluster  

QA  Cluster  

Configure  DNS  

Configure  OS  

Secure  OS  

Install  AS  on  OS  

Configure  AS  

Secure  AS  

Provision  Node  

Install  DB  

Configure  DB  

Secure  DB  

Setup  BC  for  DB  

Measure  App  Performance  

Acquire  Hardware  

Provision  Node  

Update  Cluster  

Update  LB  

Update  Security  

Analyse  BulleEns  

Maintain  OS  

Maintain  JVM  

Maintain  AS  

Maintain  DB  

Maintain  FW  

Validate/QA  stack  

Security  

QA  

AS/OS  

Page 4: Spring, Java Web Apps to the cloud

What’s the cloud? What does it mean for you?

©2011 Cloud Bees, Inc. All Rights Reserved

Page 5: Spring, Java Web Apps to the cloud

5

Traditional Software Stack

©2011 CloudBees, Inc. All Rights Reserved

Install  

Monitor  

Patch  

Upgrade  

Validate  Stack  

Page 6: Spring, Java Web Apps to the cloud

6 ©2011 CloudBees, Inc. All Rights Reserved

Install  

Monitor  

Patch  

Upgrade  

Validate  Stack  

Cloud Computing: Outsourcing headaches

Cloud  Provider  

Page 7: Spring, Java Web Apps to the cloud

7

Cloud Services Market

©2011 Cloud Bees, Inc. All Rights Reserved

"Cloud computing is on-demand access to virtualized IT resources that are housed outside of your own data center, shared by others, simple to use, paid for via subscription, and accessed over the Web.“ - John Foley, Information Week

SaaS  

PaaS  

IaaS  

Page 8: Spring, Java Web Apps to the cloud

8

•  Amazon – the most popular example •  Lego blocks of servers, vm’s, DBs, AS etc •  Development Environment:

– Flexible, complicated –  “Give me a server, give me a OS, give me a

virtualization platform, give me a AS, give me a database. I will manage everything.”

•  User Perspective – Customized apps

IaaS

©2011 CloudBees, Inc. All Rights Reserved

Page 9: Spring, Java Web Apps to the cloud

9

•  SalesForce, the most popular example •  Development Environment:

–  Rigid –  “Give me your environment, I will build my

app to your environment” •  User Perspective

– Cookie cutter apps

SaaS

©2011 CloudBees, Inc. All Rights Reserved

Page 10: Spring, Java Web Apps to the cloud

10

•  CloudBees •  Development Environment:

–  Flexible Platform –  “Give me my standards-based environment

and manage servers,scalability for me” •  User Perspective

– Customized apps

PaaS

©2011 CloudBees, Inc. All Rights Reserved

Page 11: Spring, Java Web Apps to the cloud

11

Developers View

©2011 CloudBees, Inc. All Rights Reserved

Iaas  Juggle  Technologies  

Saas  Constrained  

Paas  Flexible  

Page 12: Spring, Java Web Apps to the cloud

CloudBees Who are we and what we can do for you?

©2011 Cloud Bees, Inc. All Rights Reserved

Page 13: Spring, Java Web Apps to the cloud

13 ©2011 Cloud Bees, Inc. All Rights Reserved

About CloudBees Our  Mission  

Strategy  

Become  the  leading  PlaPorm  as  a  Service  (PaaS)  for  Java™    

Why    We’re  Different  

CloudBees  services  the  complete  lifecycle  of  Cloud  applica@on  development  and  deployment.  No  Servers.  No  Virtual  Machines.  No  IT.  

§  DEV@cloud  –  Cloud  Services  for  Developers  §  RUN@cloud  -­‐  FricEonless  runEme  PaaS  for  Java  apps  

Page 14: Spring, Java Web Apps to the cloud

14 ©2011 CloudBees, Inc. All Rights Reserved

App Deployment – simplified really!

Upload App DONE

•  No  need  to  provision  nodes,  clusters,  load-­‐balancers,  databases,  etc.  

•  Environment  constantly  managed  and  monitored  

•  Metering/scaling  updated  in  real-­‐Eme  

•  Business  ConEnuity  built-­‐in  

Deploy App to CloudBees

Page 15: Spring, Java Web Apps to the cloud

15

IaaS Providers (Public + Private)

©2011 CloudBees, Inc. All Rights Reserved

CloudBees Platform as a Service

         

Continuous Deployment

Production

Build

Test

Provisioning

Maintenance

Hudson  

SaaS  Vendor  Applica@ons  

Enterprise  User  Applica@ons  

JVM – Java EE Java, Python, Scala, …

CloudBees  Core  PlaPorm  Services  

RUN  DEV  

Repositories  

Data Services RDBMS, NoSQL

Metering Billing Monitoring Management

Messaging Identity Logging/ Auditing

Back-end services

Runtime services

Development  Projects  Partner  Add  O

ns  Partner  Sm

art  Plugins  

GIT   Maven   …  SVN  

APIs  

Testing Preproduction

CloudBeesSmart  

Plugins  

Databases

Other SaaS

On Premise

On-Premises (Internal Cloud)

Page 16: Spring, Java Web Apps to the cloud

16

•  CloudBees  integrated  plaPorm  allows  Java  developers  to  put  their  code  into  the  DEV@cloud  build  system,  and  from  here  publish  their  applicaEon  on  the  RUN@cloud  PaaS  for  Java  

•  Customers  will  now  be  able  to  do  everything  –  develop,  build,  test  and  deploy  –  in  the  cloud  

•  This  is  the  first  Java  PaaS  to  date  that  offers  a  complete  environment,  from  development  to  producEon  

•  Some  Numbers  –  More  than  3,000  applicaEon  deployments  to  date  on  RUN@cloud  –  More  than  500  accounts  on  DEV@cloud  –  More  than  300,000  minutes  of  build  Eme  consumed  on  DEV@cloud  

Continuous Deployment

©2011 CloudBees, Inc. All Rights Reserved

Page 17: Spring, Java Web Apps to the cloud

RUN@cloud Deep dive of CloudBees PaaS

©2011 Cloud Bees, Inc. All Rights Reserved

Page 18: Spring, Java Web Apps to the cloud

18

•  PlaPorm  as  a  Service  for  Java  –  Targets  Java  Web  ApplicaEons.    Tomcat,  Spring,  Java  EE  support  –  Supports  other  JVM-­‐based  languages/frameworks:  Scala,  JRuby,  ColdFusion,  

Grails,  Play,  etc.  •  RUN@cloud  plaPorm  

–  Easily  provision  applicaEons  and  resources  (databases,  etc.)  –  Scalability  –  Redundancy  –  MulE-­‐tenancy  –  Monitoring  &  reporEng  

•  RUN@cloud  SDK  –  Local  tools  for  running  and  deploying  apps  from  local  workstaEon  

•  RUN@cloud  API  –  HTTP-­‐based  API  for  managing  RUN@cloud  services  

CloudBees PaaS - Java Platform

©2011 CloudBees, Inc. All Rights Reserved

Page 19: Spring, Java Web Apps to the cloud

19

•  Features  –  Turnkey  setup  via  self-­‐service  web  interface  –  AutomaEon  via  HTTP-­‐based  management  API  –  Service  Level  Monitoring  

•  Java  as  a  Service  –  HTTP  load-­‐balanced  clustering  –  Shared  or  dedicated  server  deployments  –  Local  development  sandbox  

•  MySQL  as  a  Service  –  Master/Slave  setups  –  Load  balanced  JDBC  driver  –  Automated  backups  

RUN@cloud Managed Services

©2011 CloudBees, Inc. All Rights Reserved

Page 20: Spring, Java Web Apps to the cloud

20 ©2011 CloudBees, Inc. All Rights Reserved

CloudBees RUN@cloud

RUN@cloud

Production

JVM-based Application Server

RUN@cloud  environment  provides  run@me-­‐agnos@c  PaaS  sub-­‐systems  

•  Possible  to  handle  non-­‐Java  environments  in  the  future  •  Flexible  applicaEon  scalability  •  Session  state  externalized  from  JVM-­‐runEme  • Deployment  from  mulEple  sources:  UI,  Eclipse,  CLI,  REST,  Maven,  Ant,  etc.  

 Java/JVM  PaaS  •  Tomcat-­‐based  (future:  JBoss)  

•  Aim  to  support  EE  6  WP  •  Supports  a  variety  of  JVM-­‐based  languages  and  frameworks  

•  Spring,  JRuby,  CFML  (ColdFusion),  Scala,  etc.  

Scale-DUO High-Availability

Session Management

Multi-tenancy PaaS Deployers

Dependency Management

CFML Scala …

Java EE Spring JRuby

Page 21: Spring, Java Web Apps to the cloud

21

RUN@cloud Demo

©2011 CloudBees, Inc. All Rights Reserved

•   Deploying  a  Java  EE  Web  applicaEon  •   Deploying  a  Spring  Web  applicaEon    

Page 22: Spring, Java Web Apps to the cloud

DEV@cloud Deep Dive of CloudBees Developer Services

©2011 Cloud Bees, Inc. All Rights Reserved

Page 23: Spring, Java Web Apps to the cloud

23 ©2011 Cloud Bees, Inc. All Rights Reserved

Continuous Integration in the Cloud

•  No  disrupEon  when  code  changes  break  things  

•  “Working”  build  always  available  for  test,  demos,  etc.  

•  Provides  criEcal  metrics  about  development  –  quality,  producEvity,  funcEonal  

Why  Con@nuous  Integra@on?  

Test  Code  

Stage  

ConEnuous  Deployment  

Monitor  Repositories  

Build  Code  

ConEnuous  IntegraEon  

Jenkins/Hudson  •  Build  machines  always  available  when  you  need  them,  lowers  CAPEX  

•  Scale  DUO  –  Pay  for  what  you  use,  when  you  need  it  

•  IntegraEon  between  CI  modules  reduces  dev  complexity,  lowers  OPEX  

•  Seamless  integraEon  to  runEme  PaaS      

•  ConEnuous  Deployment  Capability  

Why  in  the  Cloud?  

Page 24: Spring, Java Web Apps to the cloud

24

Benefits  of  DEV@cloud  Jenkins  Service:  •  Scale  your  Jenkins  environment  with  the  

power  of  the  Cloud  •  Ease  your  Jenkins  management  overhead  •  Speed  your  Jenkins  builds  •  Save  money  with  on-­‐demand  Jenkins  

Service.  

 

©2011 Cloud Bees, Inc. All Rights Reserved

Continuous Integration – Jenkins/Hudson

0  

5,000  

10,000  

15,000  

20,000  

25,000  

Jenkins/Hudson Adoption, by Builds

Source: Hudson Labs

Nectar  –  On-­‐Premise  Enterprise  Jenkins  •  Support  from  the  Jenkins  experts.  •  VMware  scale  your  Jenkins  environment.  •  Enterprise  Features  extend  Jenkins  for  

large  environments.  •  Integrate  with  the  Cloud  integraEon  with  

DEV@Cloud  and  RUN@Cloud  coming  

 

Page 25: Spring, Java Web Apps to the cloud

25

GA  in  January  •  ConEnuous  integraEon  based  on  

Jenkins  –  Jenkins  as  a  Service  – On-­‐demand  Jenkins  build  agents  paid  by-­‐the-­‐minute  

•  Private  code  repository  (SVN,  GIT)  •  Private  Maven  repositories  &  proxy  •  Grand  Central  management  console  •  Support  infrastructure  •  Runs  on  AWS  

CloudBees DEV@cloud Features

©2011 Cloud Bees, Inc. All Rights Reserved

CPU  scaling  of  the  Cloud  for  group  development  and  tesEng.    Natural  integraEon  point  for  most  development-­‐related  acEviEes.    (Independent  on-­‐premise  Jenkins  offering  available  under  the  Nectar  brand)  

Page 26: Spring, Java Web Apps to the cloud

26

DEV@cloud Demo

©2011 CloudBees, Inc. All Rights Reserved

•   ConEnuous  IntegraEon  with  Spring  •   ConEnuous  Deployment  •   CloudBees  Eclipse  Plugins    

Page 27: Spring, Java Web Apps to the cloud

27

•  CloudBees Resources Page –  http://www.cloudbees.com/support.cb

•  CloudBees Eclipse Plugin –  http://cloudbees.com/eclipse-plugin.cb

•  Try DEV@Cloud & RUN@cloud –  https://grandcentral.cloudbees.com/account/signup

CloudBees Resources

©2011 CloudBees, Inc. All Rights Reserved

Page 28: Spring, Java Web Apps to the cloud

28 ©2011 Cloud Bees, Inc. All Rights Reserved

Parting Thoughts…

Today: Developers build, IT deploys and manages. Extra layers to support the Cloud.

Extra IT

With CloudBees: Develop & Run entirely in the Cloud.

Build. Test. Run.

No IT