Juju on ubuntu cloud
-
Upload
francisco-goncalves -
Category
Documents
-
view
2.598 -
download
0
Transcript of Juju on ubuntu cloud
![Page 1: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/1.jpg)
![Page 2: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/2.jpg)
Zhengpeng [email protected] Ltd.
![Page 3: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/3.jpg)
3
What is DevOps?
![Page 4: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/4.jpg)
4
What drives DevOps?
● Speed of the deployment● Continuous Integration, Automated Testing,
etc. ● Fast change vs. Stability
![Page 5: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/5.jpg)
5
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
![Page 6: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/6.jpg)
6
You've got the tools already
● Hardware● Virtualization● Platform (OS) ● Configuration Management● … need to tie that together into something whole.
![Page 7: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/7.jpg)
7
Manages Services, not Machines
Devops Distilled
![Page 8: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/8.jpg)
8
Elevate to Juju
ServiceOrchestration
ConfigurationManagement
Virtualization
OperatingSystem
Hardware
![Page 9: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/9.jpg)
9
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.
![Page 10: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/10.jpg)
10
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
![Page 11: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/11.jpg)
11
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.
![Page 12: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/12.jpg)
12
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.
![Page 13: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/13.jpg)
13
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.
![Page 14: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/14.jpg)
14
● 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
![Page 15: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/15.jpg)
15
![Page 16: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/16.jpg)
16 Presentation by B.Saller, N.Barcet
![Page 17: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/17.jpg)
17 Presentation by B.Saller, N.Barcet
![Page 18: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/18.jpg)
18 Presentation by B.Saller, N.Barcet
![Page 19: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/19.jpg)
19 Presentation by B.Saller, N.Barcet
![Page 20: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/20.jpg)
20 Presentation by B.Saller, N.Barcet
![Page 21: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/21.jpg)
21
$ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave
![Page 22: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/22.jpg)
22
Charms
● Reusable, codified best-practice. ● Distilled deployment expertise.● Communication via interfaces.● Doesn't require foreknowledge of who will
use them or how
![Page 23: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/23.jpg)
23
Relating services
![Page 24: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/24.jpg)
24
Relations
● A high-level interface describing the interactions between services
● Services have `provides` and `requires` interfaces● Juju models the relationship between services, not
machines
![Page 25: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/25.jpg)
25
Scaling services
![Page 26: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/26.jpg)
26
DOES THIS WEBSCALE?
![Page 27: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/27.jpg)
27
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?
![Page 28: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/28.jpg)
28
$ juju bootstrap$ juju deploy hadoop-master$ juju deploy hadoop-slave$ juju add-relation hadoop-master hadoop-slave$ juju add-unit hadoop-slave
![Page 29: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/29.jpg)
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
![Page 30: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/30.jpg)
30
$ 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
![Page 31: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/31.jpg)
31
![Page 32: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/32.jpg)
32
![Page 33: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/33.jpg)
33
~40 charms~40 charms
![Page 34: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/34.jpg)
34
Juju Under the Hood
![Page 35: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/35.jpg)
35
![Page 36: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/36.jpg)
36 Presentation by B.Saller, N.Barcet
Juju
Juju treats individual services as atoms that are described as charms and can be instantiated one or many times.
Juju environment
and dependency solver
Cloud appCloud appCloud app
![Page 37: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/37.jpg)
37 Presentation by B.Saller, N.Barcet
Juju
Each charm defines dependencies and/or provides.
Cloud appCloud appCloud app
LoadBalancerHAProxy
SQL DatabaseMySQL
Juju environment
and dependency solver
Depends Provides
Provides Depends
![Page 38: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/38.jpg)
38 Presentation by B.Saller, N.Barcet
Juju
Multiple charms can provide the same service and can be easily switched.
Cloud appCloud appCloud app
LoadBalancerHAProxy
SQL DatabaseMySQL
Juju environment
and dependency solver
Depends Provides
Provides Depends
Varnish
![Page 39: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/39.jpg)
39 Presentation by B.Saller, N.Barcet
Juju
Juju maintains the relations between the services so that you don't need to care about the elasticity of your environment.
Relations are to formulas what bounds are to atoms.
Services are loosely coupled but highly cohesive.
Cloud appCloud appCloud app
VarnishVarnish
MySQLMySQLMySQL
Juju RelationJuju environment
and dependency solver
Juju Relation
![Page 40: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/40.jpg)
40 Presentation by B.Saller, N.Barcet
Juju
Juju delivers service focused management through their life-cycle
● Offers the same simple rules to components of you infra as we do already for packages on your servers: dependencies, provides
● Adds the notion of dynamic relations between components
● 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*, ...)
Cloud appCloud appCloud app
Varnish
MySQLMySQL
Juju RelationJuju environment
and dependency solver*
Juju Relation
*coming soon
![Page 41: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/41.jpg)
● 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/
![Page 42: Juju on ubuntu cloud](https://reader034.fdocuments.us/reader034/viewer/2022052310/5552a27eb4c905e8128b535b/html5/thumbnails/42.jpg)
cloud.ubuntu.com