Nuxeo on the Cloud - Nuxeo World 2011

1,523 views
1,403 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,523
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \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
  • \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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Nuxeo on the Cloud - Nuxeo World 2011

    1. 1. Nuxeo on the Cloud Stefane Fermigier (Nuxeo), Nick Barcet (Canonical) - 2011/10/21Open Source ECM
    2. 2. What’s the Cloud? 2
    3. 3. Cloud Services Applications Application containers Virtual machines and storage 3
    4. 4. Scale As You Need• Manual or Automatic provisioning• The Cloud knows what’s available 4
    5. 5. Pay As You Go• Instances (Memory, CPU)• Storage• Bandwidth• Applications 5
    6. 6. Public / Private / Hybrid• Public commercial cloud• Private instances • Needs the full cloud machinery locally• Hybrid model 6
    7. 7. Why Nuxeo on the Cloud? 7
    8. 8. Use Cases and BusinessMotivations• Developers• Business Users• Ops 8
    9. 9. Nuxeo Cloud for Developers• Quick setup of development instances• Rapid deployment from Nuxeo Studio and Nuxeo IDE 9
    10. 10. Nuxeo Cloud for Business• Quick setup of business applications• Customize using profiles from the Nuxeo Marketplace in the Update Center 10
    11. 11. Nuxeo Cloud for Ops• Simplify and speed up Nuxeo deployment on public or private clouds (e.g. OpenStack)• Manage your instances 11
    12. 12. Current Stateof Nuxeo Cloud 12
    13. 13. Nuxeo as SaaS• Running on Amazon EC2• Managed Nuxeo instances• Customizable through Nuxeo Studio• Arbitrary plugins allowed 13
    14. 14. Nuxeo as SaaS 14
    15. 15. Nuxeo on IaaS• CloudFormation scripts (Amazon)• Or pre-baked images (AMI) 15
    16. 16. 16
    17. 17. Upcoming Offers 17
    18. 18. Nuxeo on IaaS• Short term projects• Upcoming support for more IaaS providers (ex: Rackspace) and private IaaS (ex: OpenStack) 18
    19. 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. 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. 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. 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. 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. 24. Nuxeo as a PaaS• Longer term• Multi-tenant PaaS specific to ECM applications• ECM as a service 24
    25. 25. Nick Barcet• Presentation of Juju 25
    26. 26. DevOps, Distilled
    27. 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 administratorsPresentation by Nick Barcet
    28. 28. What drives DevOps? Speed of the deployment Continuous Integration, Automated Testing, etc. Fast change vs. StabilityPresentation by Nick Barcet
    29. 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 quicklyPresentation by Nick Barcet
    30. 30. Youve got the tools already Hardware Virtualization Platform (OS) Configuration Management need to tie that together into something whole.Presentation by Nick Barcet
    31. 31. Manages Services, not MachinesPresentation by Nick Barcet
    32. 32. Elevate to Juju Service Orchestration Configuration Management Virtualization Operating System HardwarePresentation by Nick Barcet
    33. 33. Juju, DevOps DistilledDev 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. 34. Jujus 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. 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 formulasPresentation by Nick Barcet
    36. 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. 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. 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 minutesPresentation by Nick Barcet
    39. 39. Jujus internalsPresentation by Nick Barcet
    40. 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 solverPresentation by Nick Barcet OpenStack in Action, Paris
    41. 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 solverPresentation by Nick Barcet OpenStack in Action, Paris
    42. 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 solverPresentation by Nick Barcet OpenStack in Action, Paris
    43. 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 DatabasePresentation by Nick Barcet OpenStack in Action, Paris
    44. 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 DatabasePresentation by Nick Barcet OpenStack in Action, Paris
    45. 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 MySQLPresentation by Nick Barcet OpenStack in Action, Paris
    46. 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 MySQLPresentation by Nick Barcet OpenStack in Action, Paris
    47. 47. Juju Varnish Varnish Juju maintains the relations between the services so that you dont 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. MySQLPresentation by Nick Barcet OpenStack in Action, Paris
    48. 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*, ...) MySQLPresentation by Nick Barcet OpenStack in Action, Paris soon *coming
    49. 49. Jujus ArchitechturePresentation by Nick Barcet
    50. 50. Thank youNick Barcet<nick.barcet@canonical.com>www.ubuntu.com
    51. 51. Nuxeo on Juju 47
    52. 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
    53. 53. Target architecture 49
    54. 54. Bootstrap the environment $ juju bootstrap # Wait a couple of minutes $ juju status .. 50
    55. 55. Launch the services $ juju deploy --repository=charms local:haproxy $ juju deploy --repository=charms local:nuxeo $ juju deploy --repository=charms local:postgres-nuxeo 51
    56. 56. 52
    57. 57. Connect the services together $ juju add-relation haproxy:reverseproxy nuxeo:website $ juju add-relation postgres-nuxeo:db nuxeo:db 53
    58. 58. 54
    59. 59. Open the business! $ juju expose haproxy 55
    60. 60. Users are coming ! 56
    61. 61. Add more servers! $ juju add-unit nuxeo $ juju add-unit nuxeo 57
    62. 62. 58
    63. 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. 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

    ×