Informology - Introduction to juju

24
Introduction to Juju on Azure By Khairul Aizat Kamarudzzaman KLCC, 26 Nov 2015

Transcript of Informology - Introduction to juju

Page 1: Informology - Introduction to juju

Introduction to Juju on Azure

By

Khairul Aizat Kamarudzzaman

KLCC, 26 Nov 2015

Page 2: Informology - Introduction to juju

Deb Packages (host level)

$ apt-get install -y apache

Your infrastructure (services)

$ juju deploy <my_custom_app>

juju provides you with sharable, reusable, and repeatable expressions of devops best practices

What’s Juju anyways?

Juju is a service orchestration tool that enables you to quickly model, configure, deploy and manage entire cloud environments with only a few commands. Use it to deploy hundreds of pre-configured services, OpenStack or your own code to any public or private cloud and bare metal.

Page 3: Informology - Introduction to juju

Where You Can Run Juju client?

$ sudo add-apt-repository ppa:juju/stable

$ sudo apt-get update

$ sudo apt-get install juju-core

https://launchpad.net/juju-core/1.25/1.25.0/+download/juju-1.25.0-centos7.tar.gz

$ brew install juju or

https://launchpad.net/juju-core/1.25/1.25.0/+download/juju-1.25.0-osx.tar.gz

https://launchpad.net/juju-core/1.25/1.25.0/+download/juju-setup-1.25.0-signed.exe

Page 4: Informology - Introduction to juju

What can you do with Juju ? On which platforms ?

ContainersLinuxBare MetalIntegrateScale-Out

CloudsDeploy

Application deployment at radical velocity

Model

Page 5: Informology - Introduction to juju

Which Platform You Can Use Juju?

MAAS

Page 6: Informology - Introduction to juju

The best solution to orchestrate your services

Language independenceHooks can be written in any

language

ScalableTemplates designed to scale

by adding more units

Event-basedReact to changes in environment,

self configuring

Ease ofprovisioning

Pluggable provisioning backend, from local machines to large clouds

Why use Juju?

Page 7: Informology - Introduction to juju

Bundle charms and instantly deploy these solutions

Instant deployment Service definition

Deploy services

$ juju remove-unit -n 2 wordpress

$ juju deploy wordpress

$ juju deploy mysql

Create relationships$ juju add-relation wordpress mysql

Expose app to the outside world$ juju expose wordpress

Scale out the application$ juju add-unit -n 5 wordpress

Scale down the application

Encapsulateapplication configurations

1

Charm Package Services

deploymentDefine service

2

Define service scalabilityhooks

3

Page 8: Informology - Introduction to juju

Create charms and deploy your services

Charm Tools Instant deployment

├── hooks

│ ├── install

│ ├── relation-name-relation-changed│ ├── relation-name-relation- departed│ ├── relation-name-relation-joined│ ├── start│ ├── stop│ └── upgrade-charm├── icon.svg├── metadata.yaml├── README.ex

my-charm

│ ├── config-changed

│ ├── relation-name-relation-broken

$ sudo add-apt-repositoryppa:juju/stable$ sudo apt-get update$ sudo apt-get install charm-tools

$ juju charm create my-charm

Anatomy of a Charm

Page 9: Informology - Introduction to juju

Hundreds of charms are available today

Charms arerated and reviewedfor quality assurance

Drag and drop Charms to create services

Support for private and mixed mode Charm store

Publicly available Charm Store

...

A Growing Charm Ecosystem

Page 10: Informology - Introduction to juju

Juju Charms for Windows

ActiveDirectory

Storage SpacesDirect

Exchange NovaHyper-V

SharePoint Windows FileServer (SMB)

MsSQL VDI Windows ServerFailover Clustering

WSUS

Page 11: Informology - Introduction to juju

Juju Charms for Windows

Page 12: Informology - Introduction to juju

Windows Server instances in OpenStack

Page 13: Informology - Introduction to juju

Open Enterprise Cloud

Page 14: Informology - Introduction to juju

Configure and manage your services

Juju GUI Store

Page 15: Informology - Introduction to juju

Deployment Environment

KVMComputeCompute InstanceWorkload

LXCLXCJuju AgentJuju Agent Workload

API ServerAPI ServerJuju Client

(HTML5, UI,CLI)

MongoMongo

ProvisioningServer

ProvisioningServer

Juju State Server(in HA mode)

Juju Architecture

Page 16: Informology - Introduction to juju

Installing Juju

1. Install Juju$ ssh-keygen -t rsa (if you don’t have one)$ sudo add-apt-repository ppa:juju/stable$ sudo apt-get update && sudo apt-get install juju-core

2. Generate base ~/.juju/environments.yaml configuration file$ juju generate-config

3. Configure to use a particular cloud provider.Modify ~/.juju/environments.yaml to suite one or more of the following cloud providers:

Configuring for Amazon AWSConfiguring for Windows AzureConfiguring for HP CloudConfiguring for OpenStackConfiguring for MAASConfiguring for LXC local provider (Linux)

3. Final step: bootstrap the environment$ juju bootstrap -v$ juju status

4. If you want to destroy the environment$ juju destroy-environment

Page 17: Informology - Introduction to juju

Juju GUI on Azure Market Place

Page 18: Informology - Introduction to juju

More about Juju @ Write Your own Charm?

The Ask Ubuntu website.

Join the mailing listhttps://lists.ubuntu.com/mailman/listinfo/juju

The Freenode #juju IRC channel.

Check out Juju it’s opensource:https://Launchpad.netnet/juju-core

[email protected]

+603 6179 4324

Page 19: Informology - Introduction to juju

Juju do the Magic For You

Page 20: Informology - Introduction to juju

Session

HANDS ON @ DEMO

Page 21: Informology - Introduction to juju

SupportOperateIntegrateBuildConsultAccessEngage

About Us

Our Experiences Our Expertise Our Partners

Page 22: Informology - Introduction to juju

What We Do?

Page 23: Informology - Introduction to juju

Pro

duct

& S

ervi

ces

Operating System

Network & Security

Backup Solution

E-commerce

Hardware & Support

ERP & CRM

Cloud Computing

Intelligence Solutions

Consultation & Training

Product & Services

Page 24: Informology - Introduction to juju

Informologyintelligence ● information ● technology

THANK YOU

(002334749-P)www.informology.my