Juju
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,521
On Slideshare
1,521
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
53
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Zhengpeng Houzhengpeng.hou@canonical.comCanonical Ltd.
  • 2. What is DevOps? 3
  • 3. What drives DevOps?● Speed of the deployment● Continuous Integration, Automated Testing, etc.● Fast change vs. Stability 4
  • 4. 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 5
  • 5. Youve got the tools already● Hardware● Virtualization● Platform (OS)● Configuration Management● … need to tie that together into something whole. 6
  • 6. Manages Services, not Machines Devops Distilled 7
  • 7. Elevate to Juju Service Orchestration Configuration Management Virtualization Operating System Hardware 8
  • 8. 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. 9
  • 9. 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 10
  • 10. 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. 11
  • 11. 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. 12
  • 12. 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. 13
  • 13. ● Encapsulates services - a formula defines all the ways the service needs to expose or consume config data to/from other services.● Orchestrates provisioning (EC2, OpenStack, Bare Metal)● Juju makes sharing Charms easy 14
  • 14. 15
  • 15. 16 Presentation by B.Saller, N.Barcet
  • 16. 17 Presentation by B.Saller, N.Barcet
  • 17. 18 Presentation by B.Saller, N.Barcet
  • 18. 19 Presentation by B.Saller, N.Barcet
  • 19. 20 Presentation by B.Saller, N.Barcet
  • 20. $ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave 21
  • 21. Charms● Reusable, codified best-practice.● Distilled deployment expertise.● Communication via interfaces.● Doesnt require foreknowledge of who will use them or how 22
  • 22. Relating services 23
  • 23. Relations● A high-level interface describing the interactions between services● Services have `provides` and `requires` interfaces● Juju models the relationship between services, not machines 24
  • 24. Scaling services 25
  • 25. DOES THIS WEBSCALE? 26
  • 26. ServicesServices change during their lifetime:● Number of instances?● Which machines they run on?● What services they depend on?● And how those services are implemented? 27
  • 27. $ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave$ juju add-relation hadoop-master hadoop-slave$ juju add-unit hadoop-slave 28
  • 28. $ 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 29
  • 29. $ 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 30
  • 30. 31
  • 31. 32
  • 32. ~40 charms 33
  • 33. Juju Under the Hood 34
  • 34. 35
  • 35. Juju Juju treats individual services as atoms that are described as charms and can Juju environment be instantiated one or many times. Cloud app Cloud app Cloud app and dependency solver36 Presentation by B.Saller, N.Barcet
  • 36. Juju Load Balancer HAProxy Each charm defines dependencies and/or provides. Depends Provides Juju environment Cloud app Cloud app Cloud app and dependency solver Provides Depends SQL Database MySQL37 Presentation by B.Saller, N.Barcet
  • 37. 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 MySQL38 Presentation by B.Saller, N.Barcet
  • 38. Juju Varnish Varnish Juju maintains the relations between the services so that you dont need to care about Juju environment Juju Relation the elasticity of your environment. Cloud app Cloud app Cloud app Relations are to formulas what bounds are to atoms. and dependency solver Juju Relation Services are loosely coupled but highly cohesive. MySQL MySQL MySQL39 Presentation by B.Saller, N.Barcet
  • 39. Juju Varnish Juju delivers service focused management through their life-cycle Juju Relation ● Offers the same simple rules to components Juju environment of you infra as we do already for packages on your servers: dependencies, provides ● Adds the notion of dynamic relations Cloud app Cloud app Cloud app between components ● To provide you with simple automated elasticity that is easy to expand and dependency solver* ● Working on your bare metal servers Juju Relation (through Orchestra*) as easily as on your favourite clouds (AWS, OpenStack*, ...) MySQL40 Presentation by B.Saller, N.Barcet *coming soon
  • 40. ● All development is public● Free and Open Source Software● Communication is open Join Us● IRC: #juju on irc.freenode.net● Launchpad: https://launchpad.net/juju● Web: https://juju.ubuntu.com/
  • 41. cloud.ubuntu.com