juju-talk



juju-talk

0 0


juju-talk

A talk on Juju for PyConPL 2014

On Github 1stvamp / juju-talk

How to deploy (pretty much) anything with Juju

Wes Mason

@1stvamp

Who?

  • / @1stvamp
  • Online services, Canonical
  • Open source

Juju?

  • Service orchestration
  • Deployment tool(s)
  • Vagrant for your production infrastructure
  • Not just Ubuntu

But why?

  • Service orientated architecture
  • Scaling
  • Configuration

Charms

  • Re-usable
  • Best-practices for deploying/configuring a service
  • e.g. distilled expertise
  • Charm store

Charm anatomy

  • metadata.yaml
  • config.yaml
  • hooks/

metadata.yaml

Charm anatomy

  • metadata.yaml
  • config.yaml
  • hooks/

config.yaml

Charm anatomy

  • metadata.yaml
  • config.yaml
  • hooks/

hooks/ directory

  • Event based orchestration
  • Development environment (local env, debug-hooks)
  • Can be written in anything (mostly Python though)

Example

juju init
juju deploy myapp
juju deploy postgres
juju add-relation myapp postgres
juju add-unit postgres -n 2
juju stat

Configuration

juju set myapp foo=bar
juju set haproxy global_user=haproxy_admin

Best practice presets

juju set wordpress tuning=optimized

Not just configuration management..

  • Use with your favourite CM (Ansible, Chef, Puppet etc.)
  • CM handles machine configuration, can be mixed with service config

sys.exit(0)

^D