18. Nuxeo on IaaS
• Short term projects
• Upcoming support for more IaaS providers (ex:
Rackspace) and private IaaS (ex: OpenStack)
18
19. Nuxeo on a PaaS
• Short / medium term projects
• Options: Elastic Beanstalk, CloudBees, Cloud
Foundry, OpenShift...
• All need customization due to our own specific needs
• CloudFoundry is currently the only open source solution
• Need an open source platform to adapt it to our own
needs (Studio, Update Center...)
• Cloud Foundry (maybe)
• OpenShift when they decide to open it for real 19
20. Focus on CloudFoundry
• Set of command-line tools to deploy applications
(Java, Ruby, Node...) to a public PaaS (owned by
VMWare) or your own
• Takes care of application provisioning, starting,
stopping, monitoring
• Can add / remove instances to scale up / down
your applications
20
21. Nuxeo on CloudFoundry
• One needs to patch several pieces of
CloudFoundry
• Sample Usage:
$ vmc push myapp --no-start
$ vmc start myapp
$ vmc apps
+-------------+----+---------+----------------+------------------+
| Application | # | Health | URLS | Services |
+-------------+----+---------+----------------+------------------+
| myapp | 1 | RUNNING | myapp.vcap.me | myappdb |
+-------------+----+---------+----------------+------------------+
21
22. Current issues
• We still need to figure out how to support some
important Nuxeo features on this platform:
• Hot deploy / reload
• Updates through Nuxeo Connect
22
23. Scale up
$ vmc instances myapp +1
$ vmc instances myapp
+-------+----------+--------------------+
| Index | State | Start Time |
+-------+----------+--------------------+
| 0 | RUNNING | 09/30/2011 05:20PM |
| 1 | RUNNING | 09/30/2011 05:24PM |
+-------+----------+--------------------+
23
24. Nuxeo as a PaaS
• Longer term
• Multi-tenant PaaS specific to ECM applications
• ECM as a service
24
27. What is DevOps?
Rate of agile development and deployment requires deeper
interaction between teams
A melding of development, deployment, and QA principles,
methods, and practices
Fills the gap between developers and system
administrators
Presentation by Nick Barcet
28. What drives DevOps?
Speed of the deployment
Continuous Integration, Automated Testing, etc.
Fast change vs. Stability
Presentation by Nick Barcet
29. What does DevOps “deliver”?
Fast repeatable server setup, consistent environment
Abstract ops tasks to empower devs
Smaller deployments empower ops
Repeatable processes that let you scale out quickly
Presentation by Nick Barcet
30. You've got the tools already
Hardware
Virtualization
Platform (OS)
Configuration Management
need to tie that together into something whole.
Presentation by Nick Barcet
32. Elevate to Juju
Service
Orchestration
Configuration
Management
Virtualization
Operating
System
Hardware
Presentation by Nick Barcet
33. Juju, DevOps Distilled
Dev Ops
Reuse existing deployment charms in an Explicit control over deployment,
openly-accessible repository of shared configuration and upgrade options
expertise See what’s deployed and track usage in the
Reproduce deployments for test and cloud
staging purposes
Create and share charms for new
Rapid deployment of your dependencies applications
for development purposes
Monitor, scale, shrink and adjust
Compose whole systems from individual deployment parameters in real time
application components and describe the
Explicitly connect different components and
entire deployment
maintain those relationships over time
Collaborate with developers on the exact
deployment and upgrade processes
Get more done: implement decisions
immediately regardless of infrastructure
scale
http://juju.ubuntu.com
Presentation by Nick Barcet
34. Juju's Charms
Charms are a shareable, re-usable, and repeatable
expressions of DevOps best practices.
You can use them unmodified, or easily change and
connect them to fit your needs.
Deploying a formula is similar to installing a package on
Ubuntu: ask for it and it’s there, remove it and it’s
completely gone.
Presentation by Nick Barcet
35. Juju is a community of DevOps expertise.
Most of the application you want will be available in Juju.
Juju provides direct and free access to a DevOps
community-contributed collection of formulas
Presentation by Nick Barcet
36. Juju provides service orchestration
Juju focuses on managing the service units you need to
deliver a single solution, above simply configuring the
machines or cloud instances needed to run them.
Charms developed, tested, and deployed on your own
hardware will operate the same in an EC2 API compatible
cloud, including OpenStack.
Presentation by Nick Barcet
37. Juju is intelligent
Juju exposes re-usable service units and well-defined
interfaces that allow you to quickly and organically adjust
and scale solutions without repeating yourself.
Presentation by Nick Barcet
38. Juju is Easy
There’s no need to learn a domain specific language (DSL)
to use Juju or create formulas. You can be up and running
with your own formula in minutes
Presentation by Nick Barcet
40. Juju
Juju treats individual services
as atoms that are described
as charms and can be
Juju environment instantiated one or many
times.
Cloud app
and dependency
solver
Presentation by Nick Barcet OpenStack in Action, Paris
41. Juju
Juju treats individual services
as atoms that are described
as charms and can be
Juju environment instantiated one or many
times.
Cloud app
Cloud app
and dependency
solver
Presentation by Nick Barcet OpenStack in Action, Paris
42. Juju
Juju treats individual services
as atoms that are described
as charms and can be
Juju environment instantiated one or many
times.
Cloud app
Cloud app
Cloud app
and dependency
solver
Presentation by Nick Barcet OpenStack in Action, Paris
43. Juju
Load
Balancer Each charm (or atom) define
dependencies and/or
provides.
Depends
Juju environment
Cloud app
Cloud app
Cloud app
and dependency
solver
Depends
SQL Database
Presentation by Nick Barcet OpenStack in Action, Paris
44. Juju
Load
Balancer
HAProxy Each charm (or atom) define
dependencies and/or
provides.
Depends Provides
Juju environment
Cloud app
Cloud app
Cloud app
and dependency
solver
Depends
SQL Database
Presentation by Nick Barcet OpenStack in Action, Paris
45. Juju
Load
Balancer
HAProxy Each charm (or atom) define
dependencies and/or
provides.
Depends Provides
Juju environment
Cloud app
Cloud app
Cloud app
and dependency
solver
Provides Depends
SQL Database
MySQL
Presentation by Nick Barcet OpenStack in Action, Paris
46. Juju
Load
Balancer
HAProxy
Varnish Multiple charms can provide
the same service and can be
easily switched.
Depends Provides
Juju environment
Cloud app
Cloud app
Cloud app
and dependency
solver
Provides Depends
SQL Database
MySQL
Presentation by Nick Barcet OpenStack in Action, Paris
47. Juju
Varnish
Varnish Juju maintains the relations
between the services so
that you don't need to care
Juju environment about the elasticity of your
environment.
Cloud app
Cloud app
Cloud app
Relations are to charms
and dependency
solver
what bounds are to atoms.
Services are loosely coupled
MySQL
MySQL but highly cohesive.
MySQL
Presentation by Nick Barcet OpenStack in Action, Paris
48. Juju
Varnish Juju delivers service focused
management through their
life-cycle
Juju environment Offers the same simple rules to
components of you infra as we do already
for packages on your servers:
Cloud app
Cloud app dependencies, provides
Cloud app
Adds the notion of dynamic relations
between components
and dependency
solver* To provide you with simple automated
elasticity that is easy to expand
Working on your bare metal servers
(through Orchestra*) as easily as on your
favourite clouds (AWS, OpenStack*, ...)
MySQL
Presentation by Nick Barcet OpenStack in Action, Paris soon
*coming
52. Use case
• We already know how to deploy single server
instances of Nuxeo on the cloud (ex: using
CloudFormation)
• But deploying fault-tolerant and scalable multi-
servers instances is still a manual process
• Enters Juju...
48
63. Additional goodies
• NFS storage (or S3 / S3-like)
• Monitoring
• Auto-scalability (add more Nuxeo servers when
loads increases, remove them afterwards)
• HA and scale out for the PostgreSQL, for HAProxy
• Backups
• Integration with Nuxeo Connect & Nuxeo
Marketplace 59
64. Work in progress
• Juju is still a developer preview (will reach
production-readiness in April 2012)
• Watch (and contribute to) our charms on
http://github.com/nuxeo/nuxeo-juju
60
Editor's Notes
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Things are getting faster\nDevs need to care about Ops\nOps need to care about Dev\nIf you're going to deploy 10 times a day you need to talk.\nOne continuous team, not “us vs. them”.\n
Devs asked to iterate and deliver quickly\nOps tasked with keeping things safe and secure and stable\n
Devs asked to iterate and deliver quickly\nOps tasked with keeping things safe and secure and stable\n
\n
We take your expertise and distill it into Juju Charms\nHigher level than configuration management.\nOnly do things once, don't repeat yourself.\nDon't repeat others.\nBest practice out of the box.\nThink of it like an API layer for your deployment.\n No restriction on how you want to deploy\n