SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Juju + Puppet
Rapid harmonious deployment
Marc Cluet
Systems Integration Engineer
Canonical Ltd.


Adam Gandelman
Ubuntu Server Team
Canonical Ltd.
You've 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 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.




                                                                                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, and
deployed 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-defined
interfaces 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) to
use 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.
●
    Doesn't 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
Services
Services 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
    solver




21 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
                                            MySQL



22 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
                                            MySQL



23 Presentation by B.Saller, N.Barcet
Juju



                                          Varnish
                                           Varnish        Juju maintains the relations
                                                          between the services so that
                                          Juju Relation
                                                          you don't 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 don't 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 1

Juju for app deploy + puppetmaster




                                     32
Juju




                                                       Hadoop-master

    Juju environment




                                        Puppetmaster   Hadoop-slave
                                                        Hadoop-slave
                                                         Hadoop-slave
                                                          Hadoop-slave
                                                           Hadoop-slave
    and dependency
    solver




33 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



                                          MySQL




35 Presentation by B.Saller, N.Barcet
Juju + Puppet


         SCENARIO 2

Juju for app deploy + puppet standalone




                                          36
Juju


                                         Varnish          Puppet




                                          Juju Relation
    Juju environment



                                        Cloud app         Puppet


    and dependency
    solver
                                          Juju Relation




                                         MySQL            Puppet




37 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

Weitere ähnliche Inhalte

Andere mochten auch

Ubuntu Cloud Juju
Ubuntu Cloud JujuUbuntu Cloud Juju
Ubuntu Cloud Juju
eNovance
 

Andere mochten auch (6)

DevOpsMtl, Metal edition – MaaS and Juju
DevOpsMtl, Metal edition – MaaS and JujuDevOpsMtl, Metal edition – MaaS and Juju
DevOpsMtl, Metal edition – MaaS and Juju
 
MAAS High Availability Overview
MAAS High Availability OverviewMAAS High Availability Overview
MAAS High Availability Overview
 
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30thMAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
MAAS & Ubuntu Core: OCP Tech Day, Facebook Menlo Park, Aug 30th
 
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
Cloud Foundry Deployment Tools:  BOSH vs Juju CharmsCloud Foundry Deployment Tools:  BOSH vs Juju Charms
Cloud Foundry Deployment Tools: BOSH vs Juju Charms
 
Ubuntu Cloud Juju
Ubuntu Cloud JujuUbuntu Cloud Juju
Ubuntu Cloud Juju
 
Juju presentation
Juju presentationJuju presentation
Juju presentation
 

Ähnlich wie Juju + Puppet (Puppetconf 2011)

Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
Stefane Fermigier
 
Ubuntu in the cloud What's Coming - Nick Barcet, Canonical
Ubuntu in the cloud What's Coming - Nick Barcet, CanonicalUbuntu in the cloud What's Coming - Nick Barcet, Canonical
Ubuntu in the cloud What's Coming - Nick Barcet, Canonical
Chris Purrington
 
Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju
Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju
Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju
Ceph Community
 
Developing applications with windows azure
Developing applications with windows azureDeveloping applications with windows azure
Developing applications with windows azure
Sundararajan Subramanian
 
Jonas On Windows Azure OW2con11, Nov 24-25, Paris
Jonas On Windows Azure OW2con11, Nov 24-25, ParisJonas On Windows Azure OW2con11, Nov 24-25, Paris
Jonas On Windows Azure OW2con11, Nov 24-25, Paris
OW2
 
Jboss drools 2 short overview of components of the drools engine
Jboss drools   2 short overview of components of the drools engineJboss drools   2 short overview of components of the drools engine
Jboss drools 2 short overview of components of the drools engine
Zoran Hristov
 

Ähnlich wie Juju + Puppet (Puppetconf 2011) (20)

Juju
JujuJuju
Juju
 
Juju on ubuntu cloud
Juju on ubuntu cloudJuju on ubuntu cloud
Juju on ubuntu cloud
 
Cloud Juju Primer
Cloud Juju PrimerCloud Juju Primer
Cloud Juju Primer
 
Juju
JujuJuju
Juju
 
Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011Nuxeo on the Cloud - Nuxeo World 2011
Nuxeo on the Cloud - Nuxeo World 2011
 
Java & Microservices in Azure
Java & Microservices in AzureJava & Microservices in Azure
Java & Microservices in Azure
 
Puppet for Junos
Puppet for JunosPuppet for Junos
Puppet for Junos
 
Matt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With NagiosMatt Bruzek - Monitoring Your Public Cloud With Nagios
Matt Bruzek - Monitoring Your Public Cloud With Nagios
 
Ubuntu in the cloud What's Coming - Nick Barcet, Canonical
Ubuntu in the cloud What's Coming - Nick Barcet, CanonicalUbuntu in the cloud What's Coming - Nick Barcet, Canonical
Ubuntu in the cloud What's Coming - Nick Barcet, Canonical
 
Calico and juju
Calico and jujuCalico and juju
Calico and juju
 
Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju
Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju
Ceph Day Santa Clara: Deploying Ceph and OpenStack with Juju
 
Mc android
Mc androidMc android
Mc android
 
Developing applications with windows azure
Developing applications with windows azureDeveloping applications with windows azure
Developing applications with windows azure
 
Junos Space SDK
Junos Space SDKJunos Space SDK
Junos Space SDK
 
Junos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, InnovationJunos Space SDK - Imagination, Ideas, Innovation
Junos Space SDK - Imagination, Ideas, Innovation
 
Software Architecture for Robotics
Software Architecture for RoboticsSoftware Architecture for Robotics
Software Architecture for Robotics
 
Jonas On Windows Azure OW2con11, Nov 24-25, Paris
Jonas On Windows Azure OW2con11, Nov 24-25, ParisJonas On Windows Azure OW2con11, Nov 24-25, Paris
Jonas On Windows Azure OW2con11, Nov 24-25, Paris
 
제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu제3회난공불락 오픈소스 인프라세미나 - JuJu
제3회난공불락 오픈소스 인프라세미나 - JuJu
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
Jboss drools 2 short overview of components of the drools engine
Jboss drools   2 short overview of components of the drools engineJboss drools   2 short overview of components of the drools engine
Jboss drools 2 short overview of components of the drools engine
 

Mehr von Marc Cluet

How to implement microservices
How to implement microservicesHow to implement microservices
How to implement microservices
Marc Cluet
 
Rackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & PackerRackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & Packer
Marc Cluet
 

Mehr von Marc Cluet (20)

Your Kernel and You
Your Kernel and YouYour Kernel and You
Your Kernel and You
 
Managing DevOps teams, staying alive
Managing DevOps teams, staying aliveManaging DevOps teams, staying alive
Managing DevOps teams, staying alive
 
The DevOps journey - How to get there painlessly
The DevOps journey - How to get there painlesslyThe DevOps journey - How to get there painlessly
The DevOps journey - How to get there painlessly
 
Elastic Beanstalk, usos prácticos y conceptos
Elastic Beanstalk, usos prácticos y conceptosElastic Beanstalk, usos prácticos y conceptos
Elastic Beanstalk, usos prácticos y conceptos
 
Service discovery and puppet
Service discovery and puppetService discovery and puppet
Service discovery and puppet
 
Puppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and PuppetPuppet Camp London Fall 2015 - Service Discovery and Puppet
Puppet Camp London Fall 2015 - Service Discovery and Puppet
 
Puppet and your Metadata - PuppetCamp London 2015
Puppet and your Metadata - PuppetCamp London 2015Puppet and your Metadata - PuppetCamp London 2015
Puppet and your Metadata - PuppetCamp London 2015
 
Consul First Steps
Consul First StepsConsul First Steps
Consul First Steps
 
Autoscaling Best Practices - WebPerf Barcelona Oct 2014
Autoscaling Best Practices - WebPerf Barcelona Oct 2014Autoscaling Best Practices - WebPerf Barcelona Oct 2014
Autoscaling Best Practices - WebPerf Barcelona Oct 2014
 
Microservices and the Cloud - DevOps Cardiff Meetup
Microservices and the Cloud - DevOps Cardiff MeetupMicroservices and the Cloud - DevOps Cardiff Meetup
Microservices and the Cloud - DevOps Cardiff Meetup
 
Microservices and the Cloud
Microservices and the CloudMicroservices and the Cloud
Microservices and the Cloud
 
How to implement microservices
How to implement microservicesHow to implement microservices
How to implement microservices
 
A Metadata Ocean in Chef and Puppet
A Metadata Ocean in Chef and PuppetA Metadata Ocean in Chef and Puppet
A Metadata Ocean in Chef and Puppet
 
Autoscaling Best Practices
Autoscaling Best PracticesAutoscaling Best Practices
Autoscaling Best Practices
 
Rackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & PackerRackspace Hack Night - Vagrant & Packer
Rackspace Hack Night - Vagrant & Packer
 
Innovation in the Cloud - Rackspace Zurich Event
Innovation in the Cloud - Rackspace Zurich EventInnovation in the Cloud - Rackspace Zurich Event
Innovation in the Cloud - Rackspace Zurich Event
 
Introduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech nightIntroduction to DevOps - Rackspace tech night
Introduction to DevOps - Rackspace tech night
 
Hadoop operations
Hadoop operationsHadoop operations
Hadoop operations
 
Introduction to hadoop
Introduction to hadoopIntroduction to hadoop
Introduction to hadoop
 
Ssh that wonderful thing
Ssh that wonderful thingSsh that wonderful thing
Ssh that wonderful thing
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Juju + Puppet (Puppetconf 2011)

  • 1. Juju + Puppet Rapid harmonious deployment
  • 2. Marc Cluet Systems Integration Engineer Canonical Ltd. Adam Gandelman Ubuntu Server Team Canonical Ltd.
  • 3. You've got the tools already ● Hardware ● Virtualization ● Platform (OS) ● Configuration Management ● … need to tie that together into something whole. 3
  • 4. Manages Services, not Machines Devops Distilled 4
  • 5. Elevate to Juju Service Orchestration Configuration Management Virtualization Operating System Hardware 5
  • 6. Juju is DevOps distilled. 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. 6
  • 7. 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
  • 8. 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. 8
  • 9. 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. 9
  • 10. 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. 10
  • 11. Orchestrates provisioning (EC2, OpenStack, Bare Metal) ● Write your formulas in whatever language you want. 11
  • 12. Charms ● Reusable, codified best-practice. ● Distilled deployment expertise. ● Communication via interfaces. ● Doesn't require foreknowledge of who will use them or how 12
  • 15. 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
  • 17. Services Services change during their lifetime: ● Number of instances? ● Which machines they run on? ● What services they depend on? ● And how those services are implemented? 17
  • 18. $ juju bootstrap $ juju deploy hadoop-master $ juju deploy hadoop-slave $ juju add-relation hadoop-master hadoop- slave $ juju add-unit hadoop-slave 18
  • 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 19
  • 20. $ 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
  • 21. 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 solver 21 Presentation by B.Saller, N.Barcet
  • 22. 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 MySQL 22 Presentation by B.Saller, N.Barcet
  • 23. 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 MySQL 23 Presentation by B.Saller, N.Barcet
  • 24. Juju Varnish Varnish Juju maintains the relations between the services so that Juju Relation you don't 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
  • 25. Juju Varnish Juju maintains the relations between the services so that Juju Relation you don't 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
  • 26. Juju Under the Hood 26
  • 27. 27
  • 29. 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
  • 30. Weak Points Juju Puppet ● Config Templating ● High level dependencies ● Sync ● Async 30
  • 31. 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
  • 32. Juju + Puppet SCENARIO 1 Juju for app deploy + puppetmaster 32
  • 33. Juju Hadoop-master Juju environment Puppetmaster Hadoop-slave Hadoop-slave Hadoop-slave Hadoop-slave Hadoop-slave and dependency solver 33 Presentation by B.Saller, N.Barcet
  • 35. 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 MySQL 35 Presentation by B.Saller, N.Barcet
  • 36. Juju + Puppet SCENARIO 2 Juju for app deploy + puppet standalone 36
  • 37. Juju Varnish Puppet Juju Relation Juju environment Cloud app Puppet and dependency solver Juju Relation MySQL Puppet 37 Presentation by B.Saller, N.Barcet
  • 38. 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/