Contenu connexe Similaire à Spring, Java Web Apps to the cloud (20) Spring, Java Web Apps to the cloud1. 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
2. Agenda
• What’s the cloud?
• About CloudBees
• RUN@cloud
– Create/Deploy basic Java EE app
– Deploy Spring app
• DEV@cloud
– Build Spring app
• Next Steps
©2011 CloudBees, Inc. All Rights Reserved 2
3. App Deployment – Simplified: Is this you?
Deploy App: Deploy App to traditional Java platform
Provision Deploy App to
Provision DB Deploy schema each node
cluster
Provision cluster: (not a transparent update process) Manage environment (recurring) Metering/Scaling (recurring)
Measure
App
Provision
Node
Analyse
BulleEns
Performance
Provision node: Provision DB:
Install
Acquire
Configure
OS
Provision
Node
Maintain
OS
Security
LoadBalancer
Hardware
Configure
LB
Secure
OS
Install
DB
Maintain
JVM
QA
Provision
Node
Secure
LB
Install
AS
on
OS
Configure
DB
Maintain
AS
AS/OS
Update
Cluster
Setup
BC
for
Update
LB
Configure
AS
Secure
DB
Maintain
DB
cluster
QA
Cluster
Secure
AS
Setup
BC
for
DB
Maintain
FW
Update
Security
Validate/QA
Configure
DNS
stack
©2011 CloudBees, Inc. All Rights Reserved 3
6. Cloud Computing: Outsourcing headaches
Validate
Install
Stack
Cloud
Upgrade
Provider
Monitor
Patch
©2011 CloudBees, Inc. All Rights Reserved 6
7. Cloud Services Market
SaaS
"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
PaaS
subscription, and accessed
over the Web.“
- John Foley, Information Week
IaaS
©2011 Cloud Bees, Inc. All Rights 7
Reserved
8. IaaS
• 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
©2011 CloudBees, Inc. All Rights Reserved 8
9. SaaS
• 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
©2011 CloudBees, Inc. All Rights Reserved 9
10. PaaS
• CloudBees
• Development Environment:
– Flexible Platform
– “Give me my standards-based environment
and manage servers,scalability for me”
• User Perspective
– Customized apps
©2011 CloudBees, Inc. All Rights Reserved 10
11. Developers View
Iaas
Saas
Paas
Juggle
Technologies
Constrained
Flexible
©2011 CloudBees, Inc. All Rights Reserved 11
13. About CloudBees
Our
Mission
Become
the
leading
PlaPorm
as
a
Service
(PaaS)
for
Java™
Why
We’re
CloudBees
services
the
complete
lifecycle
of
Different
Cloud
applica@on
development
and
deployment.
No
Servers.
No
Virtual
Machines.
No
IT.
Strategy
§ DEV@cloud
–
Cloud
Services
for
Developers
§ RUN@cloud
-‐
FricEonless
runEme
PaaS
for
Java
apps
©2011 Cloud Bees, Inc. All Rights 13
Reserved
14. App Deployment – simplified really!
Deploy App to CloudBees
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
©2011 CloudBees, Inc. All Rights Reserved 14
15. CloudBees Platform as a Service
Development
SaaS
Vendor
Enterprise
User
Projects
Applica@ons
Applica@ons
Test DEV
RUN
Testing Preproduction
Partner
Add
Ons
Continuous
Build Hudson
Deployment
JVM – Java EE
Java, Python, Scala, …
Repositories
Production
GIT
SVN
Maven
…
Maintenance
Partner
Smart
Plugins
APIs
CloudBees
Core
PlaPorm
Services
Databases
CloudBeesSmart
Data Services Logging/ Runtime services
Messaging Identity
RDBMS, NoSQL Auditing
Plugins
Other SaaS
Metering Back-end services
Provisioning Management Monitoring
Billing
On Premise
IaaS Providers (Public + Private) On-Premises (Internal Cloud)
©2011 CloudBees, Inc. All Rights Reserved 15
16. Continuous Deployment
• 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
©2011 CloudBees, Inc. All Rights Reserved 16
18. CloudBees PaaS - Java Platform
• 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
©2011 CloudBees, Inc. All Rights Reserved 18
19. RUN@cloud Managed Services
• 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
©2011 CloudBees, Inc. All Rights Reserved 19
20. CloudBees RUN@cloud
RUN@cloud RUN@cloud
environment
provides
run@me-‐agnos@c
PaaS
sub-‐systems
• Possible
to
handle
non-‐Java
environments
in
the
future
Java EE Spring JRuby
• Flexible
applicaEon
scalability
CFML Scala …
… • Session
state
externalized
from
JVM-‐runEme
JVM-based Application Server
• Deployment
from
mulEple
sources:
UI,
Eclipse,
CLI,
REST,
Maven,
Ant,
etc.
Multi-tenancy
PaaS Dependency Java/JVM
PaaS
Deployers Management
• Tomcat-‐based
(future:
JBoss)
Scale-DUO
High- Session • Aim
to
support
EE
6
WP
Availability Management
• Supports
a
variety
of
JVM-‐based
languages
and
Production frameworks
• Spring,
JRuby,
CFML
(ColdFusion),
Scala,
etc.
©2011 CloudBees, Inc. All Rights Reserved 20
21. RUN@cloud Demo
•
Deploying
a
Java
EE
Web
applicaEon
•
Deploying
a
Spring
Web
applicaEon
©2011 CloudBees, Inc. All Rights 21
Reserved
23. Continuous Integration in the Cloud
Why
Con@nuous
Integra@on?
• No
disrupEon
when
code
changes
break
things
• “Working”
build
always
available
for
test,
demos,
Build
Code
Test
Code
etc.
• Provides
criEcal
metrics
about
development
–
quality,
producEvity,
funcEonal
ConEnuous
IntegraEon
Jenkins/Hudson
Why
in
the
Cloud?
Monitor
• Build
machines
always
available
when
you
need
Stage
Repositories
them,
lowers
CAPEX
• Scale
DUO
–
Pay
for
what
you
use,
when
you
need
it
• IntegraEon
between
CI
modules
reduces
dev
ConEnuous
Deployment
complexity,
lowers
OPEX
• Seamless
integraEon
to
runEme
PaaS
• ConEnuous
Deployment
Capability
©2011 Cloud Bees, Inc. All Rights 23
Reserved
24. Continuous Integration – Jenkins/Hudson
Nectar
–
On-‐Premise
Enterprise
Jenkins
• Support
from
the
Jenkins
experts.
Jenkins/Hudson
• VMware
scale
your
Jenkins
environment.
Adoption, by Builds
25,000
• Enterprise
Features
extend
Jenkins
for
large
environments.
20,000
• Integrate
with
the
Cloud
integraEon
with
DEV@Cloud
and
RUN@Cloud
coming
15,000
10,000
Benefits
of
DEV@cloud
Jenkins
Service:
5,000
• Scale
your
Jenkins
environment
with
the
power
of
the
Cloud
0
• Ease
your
Jenkins
management
overhead
• Speed
your
Jenkins
builds
• Save
money
with
on-‐demand
Jenkins
Source: Hudson Labs
Service.
©2011 Cloud Bees, Inc. All Rights 24
Reserved
25. CloudBees DEV@cloud Features
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
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)
©2011 Cloud Bees, Inc. All Rights 25
Reserved
26. DEV@cloud Demo
•
ConEnuous
IntegraEon
with
Spring
•
ConEnuous
Deployment
•
CloudBees
Eclipse
Plugins
©2011 CloudBees, Inc. All Rights Reserved 26
27. CloudBees Resources
• 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
©2011 CloudBees, Inc. All Rights Reserved 27
28. Parting Thoughts…
Today: Developers build, IT deploys With CloudBees: Develop & Run
and manages. Extra layers to entirely in the Cloud.
support the Cloud.
Build. Test.
Run.
Extra IT No IT
©2011 Cloud Bees, Inc. All Rights 28
Reserved