• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Juju + Puppet (Puppetconf 2011)
 

Juju + Puppet (Puppetconf 2011)

on

  • 2,518 views

In this presentation we provide ideas and tools to start integrating puppet into a platform running Juju to deliver rapid and harmonious deployments

In this presentation we provide ideas and tools to start integrating puppet into a platform running Juju to deliver rapid and harmonious deployments

Statistics

Views

Total Views
2,518
Views on SlideShare
2,505
Embed Views
13

Actions

Likes
6
Downloads
62
Comments
0

2 Embeds 13

http://www.linkedin.com 9
https://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Juju + Puppet (Puppetconf 2011) Juju + Puppet (Puppetconf 2011) Presentation Transcript

    • Juju + PuppetRapid harmonious deployment
    • Marc CluetSystems Integration EngineerCanonical Ltd.Adam GandelmanUbuntu Server TeamCanonical Ltd.
    • Youve got the tools already● Hardware● Virtualization● Platform (OS)● Configuration Management● … need to tie that together into something whole. 3
    • Manages Services, not Machines Devops Distilled 4
    • Elevate to Juju Service Orchestration Configuration Management Virtualization Operating System Hardware 5
    • Juju is DevOps distilled.Charms are a shareable, re-usable, and repeatable expressions of DevOps bestpractices. You can use them unmodified, or easily change and connect them tofit 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. 6
    • 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 7
    • 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, anddeployed on your own hardware will operate the same in an EC2 API compatible cloud. 8
    • Juju is intelligent. Juju exposes re-usable service units and well-definedinterfaces that allow you to quickly and organically adjust and scale solutions without repeating yourself. 9
    • Juju is easy.There’s no need to learn a domain specific language (DSL) touse Juju or create formulas. You can be up and running with your own formula in minutes. 10
    • ● Orchestrates provisioning (EC2, OpenStack, Bare Metal)● Write your formulas in whatever language you want. 11
    • Charms● Reusable, codified best-practice.● Distilled deployment expertise.● Communication via interfaces.● Doesnt require foreknowledge of who will use them or how 12
    • ~40 formulas 13
    • Relating services 14
    • Relations● A high-level interface describing the interactions between services● Services have `provides` and `requires` interfaces● Juju models the relationship between services, not machines 15
    • Scaling services 16
    • ServicesServices change during their lifetime:● Number of instances?● Which machines they run on?● What services they depend on?● And how those services are implemented? 17
    • $ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave$ juju add-relation hadoop-master hadoop-slave$ juju add-unit hadoop-slave 18
    • $ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave$ juju add-relation hadoop-master hadoop-slave$ juju add-unit hadoop-slave$ juju add-unit hadoop-slave 19
    • $ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave$ juju add-relation hadoop-master hadoop-slave$ juju add-unit hadoop-slave$ juju add-unit hadoop-slave$ juju add-unit hadoop-slave 20
    • Juju Juju treats individual services as atoms that are described as formulas and can be instantiated one or many Juju environment times. Cloud app Cloud app Cloud app and dependency solver21 Presentation by B.Saller, N.Barcet
    • Juju Load Balancer HAProxy Each formula (or atom) define dependencies and/or Depends Provides provides. Juju environment Cloud app Cloud app Cloud app and dependency solver Provides Depends SQL Database MySQL22 Presentation by B.Saller, N.Barcet
    • Juju Load Balancer HAProxy Varnish Multiple formulas can provide the same service and can be Depends Provides easily switched. Juju environment Cloud app Cloud app Cloud app and dependency solver Provides Depends SQL Database MySQL23 Presentation by B.Saller, N.Barcet
    • Juju Varnish Varnish Juju maintains the relations between the services so that Juju Relation you dont need to care about the elasticity of your Juju environment environment. Cloud app Cloud app Cloud app Relations are to formulas and dependency solver Juju Relation what bounds are to atoms. MySQL Services are loosely coupled MySQL MySQL but highly cohesive.24 Presentation by B.Saller, N.Barcet
    • Juju Varnish Juju maintains the relations between the services so that Juju Relation you dont need to care about the elasticity of your Juju environment environment. Cloud app Cloud app Cloud app Relations are to formulas and dependency solver* Juju Relation what bounds are to atoms. Services are loosely coupled MySQL but highly cohesive.25 Presentation by B.Saller, N.Barcet *coming soon
    • Juju Under the Hood 26
    • 27
    • Juju + Puppet 28
    • Strong Points Juju Puppet● Linear deployment ● Rapid templating● Relationship bonding ● Smart dependencies● High level scope ● Very good at low level● Deployment consistent ● Continuous consistency 29
    • Weak Points Juju Puppet● Config Templating ● High level dependencies● Sync ● Async 30
    • Juju + Puppet● Best of both worlds!● Juju gives high level scope● Juju accepts charms in any language● Puppet is very good at system templating● We can use puppet DSL in charms 31
    • Juju + Puppet SCENARIO 1Juju for app deploy + puppetmaster 32
    • Juju Hadoop-master Juju environment Puppetmaster Hadoop-slave Hadoop-slave Hadoop-slave Hadoop-slave Hadoop-slave and dependency solver33 Presentation by B.Saller, N.Barcet
    • DOES THIS WEBSCALE? 34
    • Juju HA Proxy Hadoop-master Juju environment Puppetmaster Pupetmaster Puppetmaster Hadoop-slave ++nginx nginx Hadoop-slave Hadoop-slave Hadoop-slave Hadoop-slave and dependency solver MySQL35 Presentation by B.Saller, N.Barcet
    • Juju + Puppet SCENARIO 2Juju for app deploy + puppet standalone 36
    • Juju Varnish Puppet Juju Relation Juju environment Cloud app Puppet and dependency solver Juju Relation MySQL Puppet37 Presentation by B.Saller, N.Barcet
    • ● All development is public● Communication is open Join Us● IRC: #juju on irc.freenode.net● Launchpad: https://launchpad.net/juju● Web: https://juju.ubuntu.com/
    • QUESTIONS? 39
    • juju.ubuntu.com