SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Cloud ninjas got charms with
           Juju!!
Before i start!!
Bad news!!
And the Good news!!
So lets begin!!

Ninjas == DevOps
New masters of web with automated weapons!!
What is DevOps?

   Rate of agile development and deployment
    requires deeper interaction between teams
   A melding of development, deployment, and
    QA principles, methods, and practices
   Fills the gap between developers and system
    administrators
What drives DevOps?

   Speed of the deployment
   Continuous Integration, Automated Testing, etc.
   Fast change vs. Stability
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
You've got the tools already

   Hardware
   Virtualization
   Platform (OS)
   Configuration Management
   … need to tie that together into something
    whole.
Manages Services, not Machines
Before going there!!

   How about a used case!!
               Everybody loves Wordpress!!
Traditional Way!!

   Install LAMP stack
   Manually configure the database
   Create upload directory
                     and test if all works.
Configuration management
               system
   Install a Tool.
   Test if its installed propely
   Learn a new language
   Test again if the configuration promise/recipes
    are correct and works
Juju way!!

   Download wordpress and its deps charms from
    charms repository
   Deploy it
So!!!

   How about taking Juju ride!!
Elevate to Juju
What is Juju?

   juju aims to be a service deployment and
    orchestration tool.
   It enables the same kind of collaboration and
    ease of use which is seen around package
    management to happen on a higher level,
    around services.
What is Juju

   With juju, different authors are able to create
    services independently, and make those
    services communicate through a simple
    configuration protocol.
   In simplest term Juju is going to be APT for
    cloud
Compontents of Juju!!

   Juju
   Charms
Juju

   Written in
                 Python
        Uses
                  Apache Zookeeper, cloud-init
Charms

   Reusable, codified best-practice.
   Distilled deployment expertise.
   Communication via interfaces.
Charms

   Doesn't require foreknowledge of who will use
    them or how..
   Independent
          One can write charm in any language
             python, ruby, bash ......
Inside Charms

   Relations
   Services
Relating services
Relations

   A high-level interface describing the
    interactions between services
   Services have `provides` and `requires`
    interfaces
   Juju models the relationship between services,
    not machines
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?
So .....
Lets bring back Wordpress.

   juju bootstrap
   juju deploy --repository charms local:mysql
   juju deploy --repository charms local:wordpress
   juju add-relation wordpress mysql
   juju expose wordpress
   juju status
Yes, wordpress for you!!

   Was that difficult?
What about scaling?

   Simple add any number of Wordpress units
         juju-add unit wordpress
   Even more
         juju-add unit wordpress –n=5
   Alternatively you can use Vernish chram or if
    load balancer needed try HAProxy charm
But hold on!!

    If you are testing Ubuntu 11.10
    sudo apt-get install juju
       Older versions
   sudo add-apt-repository ppa:juju/pkgs
    sudo apt-get update
    sudo apt-get install juju
Editing the config file!!

   The config file is at:
      ~/.juju/environments.yaml
   Juju currently supported
        AWS, Openstack, LXC, Eucalyptus and
    others..
LXC/AWS config file..




                   Let me show you!!
   $ juju bootstrap creates a sample config file.
Juju under the hood.
Also ..

   When this Project started
        Juju was called Ensemble
        Charms were called Formulas
More about Charms ..

Each charm defines dependencies and/or provides.
Juju treats individual services as atoms that are described as
charms and can be instantiated one or many times.
Multiple charms can provide the same service and can be easily
switched.
Little bit more ..

    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.


   Juju delivers service focused management through their life-
    cycle
Available Charms ..

   Over 40 charms are availble …
You can help!!
Contribute

   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/
Credits

   Photo : To there respctive owners, thanks for
    keeping it under CC, taken from flicker.
   Docs/logo : Ubuntu Juju Project
Questions!!
About Me!!

  Atul Jha
@koolhead17
Thanks!!

   I know most of you are thinking about Lunch
    now!!

Weitere ähnliche Inhalte

Was ist angesagt?

Task parallel library presentation
Task parallel library presentationTask parallel library presentation
Task parallel library presentationahmed sayed
 
Test Driven Development With Python
Test Driven Development With PythonTest Driven Development With Python
Test Driven Development With PythonSiddhi
 
Dependency injection and inversion
Dependency injection and inversionDependency injection and inversion
Dependency injection and inversionchhabraravish23
 
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Yuki Anzai
 
Automated Python Test Frameworks for Hardware Verification and Validation
Automated Python Test Frameworks for Hardware Verification and ValidationAutomated Python Test Frameworks for Hardware Verification and Validation
Automated Python Test Frameworks for Hardware Verification and ValidationBarbara Jones
 
Waits in Selenium | Selenium Wait Commands | Edureka
Waits in Selenium | Selenium Wait Commands | EdurekaWaits in Selenium | Selenium Wait Commands | Edureka
Waits in Selenium | Selenium Wait Commands | EdurekaEdureka!
 
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Scott Wlaschin
 
Portainer.io Intro | Into The Box 2018
Portainer.io Intro | Into The Box 2018Portainer.io Intro | Into The Box 2018
Portainer.io Intro | Into The Box 2018Dillon Slaughter
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testingb4usolution .
 
Intellij idea tutorial
Intellij idea tutorialIntellij idea tutorial
Intellij idea tutorialHarikaReddy115
 
2 years with python and serverless
2 years with python and serverless2 years with python and serverless
2 years with python and serverlessHector Canto
 
Angular performance slides
Angular performance slidesAngular performance slides
Angular performance slidesDavid Barreto
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecturerohitnayak
 

Was ist angesagt? (20)

Task parallel library presentation
Task parallel library presentationTask parallel library presentation
Task parallel library presentation
 
Entities on Node.JS
Entities on Node.JSEntities on Node.JS
Entities on Node.JS
 
Test Driven Development With Python
Test Driven Development With PythonTest Driven Development With Python
Test Driven Development With Python
 
Dependency injection and inversion
Dependency injection and inversionDependency injection and inversion
Dependency injection and inversion
 
Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016Customizing Theme and Style for Material Design : Droid Kaigi 2016
Customizing Theme and Style for Material Design : Droid Kaigi 2016
 
Automated Python Test Frameworks for Hardware Verification and Validation
Automated Python Test Frameworks for Hardware Verification and ValidationAutomated Python Test Frameworks for Hardware Verification and Validation
Automated Python Test Frameworks for Hardware Verification and Validation
 
JQuery introduction
JQuery introductionJQuery introduction
JQuery introduction
 
Core java
Core javaCore java
Core java
 
Waits in Selenium | Selenium Wait Commands | Edureka
Waits in Selenium | Selenium Wait Commands | EdurekaWaits in Selenium | Selenium Wait Commands | Edureka
Waits in Selenium | Selenium Wait Commands | Edureka
 
Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)Functional Programming Patterns (BuildStuff '14)
Functional Programming Patterns (BuildStuff '14)
 
Portainer.io Intro | Into The Box 2018
Portainer.io Intro | Into The Box 2018Portainer.io Intro | Into The Box 2018
Portainer.io Intro | Into The Box 2018
 
B4USolution_API-Testing
B4USolution_API-TestingB4USolution_API-Testing
B4USolution_API-Testing
 
Intellij idea tutorial
Intellij idea tutorialIntellij idea tutorial
Intellij idea tutorial
 
2 years with python and serverless
2 years with python and serverless2 years with python and serverless
2 years with python and serverless
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction to Maven
Introduction to MavenIntroduction to Maven
Introduction to Maven
 
Angular performance slides
Angular performance slidesAngular performance slides
Angular performance slides
 
java token
java tokenjava token
java token
 
Blazor
BlazorBlazor
Blazor
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 

Ähnlich wie Juju

Juju + Puppet (Puppetconf 2011)
Juju + Puppet (Puppetconf 2011)Juju + Puppet (Puppetconf 2011)
Juju + Puppet (Puppetconf 2011)Marc Cluet
 
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 NagiosNagios
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefGerald Villorente
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningArul ChristhuRaj Alphonse
 
Understanding Juju Charms
Understanding  Juju CharmsUnderstanding  Juju Charms
Understanding Juju CharmsDemis Gomes
 
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 2011Stefane Fermigier
 
Ensuring Better Quality With Docker
Ensuring Better Quality With DockerEnsuring Better Quality With Docker
Ensuring Better Quality With DockerJagannath Vaikuntham
 
MLUG Workshop January 2014 - Introducing Juju
MLUG Workshop January 2014 - Introducing JujuMLUG Workshop January 2014 - Introducing Juju
MLUG Workshop January 2014 - Introducing JujuKeith Vassallo
 
Serverless and CI/CD
Serverless and CI/CDServerless and CI/CD
Serverless and CI/CDDean Bryen
 
Vagrant+Puppet = #WIN
Vagrant+Puppet = #WINVagrant+Puppet = #WIN
Vagrant+Puppet = #WINMohit Thatte
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next GenerationTravis Thieman
 
Getting started with ubuntu 12.04
Getting started with ubuntu 12.04Getting started with ubuntu 12.04
Getting started with ubuntu 12.04cataftscu
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer ExperienceAtlassian
 

Ähnlich wie Juju (20)

Cloud Juju Primer
Cloud Juju PrimerCloud Juju Primer
Cloud Juju Primer
 
Juju + Puppet (Puppetconf 2011)
Juju + Puppet (Puppetconf 2011)Juju + Puppet (Puppetconf 2011)
Juju + Puppet (Puppetconf 2011)
 
Juju
JujuJuju
Juju
 
Juju on ubuntu cloud
Juju on ubuntu cloudJuju on ubuntu cloud
Juju on ubuntu cloud
 
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
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and Chef
 
J threads-pdf
J threads-pdfJ threads-pdf
J threads-pdf
 
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from TechlightningFrequently asked MuleSoft Interview Questions and Answers from Techlightning
Frequently asked MuleSoft Interview Questions and Answers from Techlightning
 
Dev ops
Dev opsDev ops
Dev ops
 
Understanding Juju Charms
Understanding  Juju CharmsUnderstanding  Juju Charms
Understanding Juju Charms
 
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
 
Ansible - Why and what
Ansible  - Why and whatAnsible  - Why and what
Ansible - Why and what
 
Ensuring Better Quality With Docker
Ensuring Better Quality With DockerEnsuring Better Quality With Docker
Ensuring Better Quality With Docker
 
MLUG Workshop January 2014 - Introducing Juju
MLUG Workshop January 2014 - Introducing JujuMLUG Workshop January 2014 - Introducing Juju
MLUG Workshop January 2014 - Introducing Juju
 
Serverless and CI/CD
Serverless and CI/CDServerless and CI/CD
Serverless and CI/CD
 
Vagrant+Puppet = #WIN
Vagrant+Puppet = #WINVagrant+Puppet = #WIN
Vagrant+Puppet = #WIN
 
Dev Environments: The Next Generation
Dev Environments: The Next GenerationDev Environments: The Next Generation
Dev Environments: The Next Generation
 
Getting started with ubuntu 12.04
Getting started with ubuntu 12.04Getting started with ubuntu 12.04
Getting started with ubuntu 12.04
 
The Developer Experience
The Developer ExperienceThe Developer Experience
The Developer Experience
 
Java 3 rd sem. 2012 aug.ASSIGNMENT
Java 3 rd sem. 2012 aug.ASSIGNMENTJava 3 rd sem. 2012 aug.ASSIGNMENT
Java 3 rd sem. 2012 aug.ASSIGNMENT
 

Mehr von Atul Jha

Hooked by Nir Eyal
Hooked by Nir EyalHooked by Nir Eyal
Hooked by Nir EyalAtul Jha
 
Don't make me think: Steve Krug
Don't make me think: Steve KrugDon't make me think: Steve Krug
Don't make me think: Steve KrugAtul Jha
 
Thumbnail generation using Minio's event notification.
Thumbnail generation using Minio's event notification.Thumbnail generation using Minio's event notification.
Thumbnail generation using Minio's event notification.Atul Jha
 
Minio: Associated projects in Go programming.
Minio: Associated projects in Go programming. Minio: Associated projects in Go programming.
Minio: Associated projects in Go programming. Atul Jha
 
Open Source Cloud alternatives
Open Source Cloud alternativesOpen Source Cloud alternatives
Open Source Cloud alternativesAtul Jha
 
Summary of DockerCon Europe.
Summary of DockerCon Europe. Summary of DockerCon Europe.
Summary of DockerCon Europe. Atul Jha
 
OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deploymentsAtul Jha
 
OpenStack Swift on virtualbox
OpenStack Swift on virtualboxOpenStack Swift on virtualbox
OpenStack Swift on virtualboxAtul Jha
 
OpenStack Swift: Panoramic View
OpenStack Swift: Panoramic ViewOpenStack Swift: Panoramic View
OpenStack Swift: Panoramic ViewAtul Jha
 
OpenStack : Linux User Group meetup
OpenStack : Linux User Group meetupOpenStack : Linux User Group meetup
OpenStack : Linux User Group meetupAtul Jha
 
OpenStack: An introduction
OpenStack: An introductionOpenStack: An introduction
OpenStack: An introductionAtul Jha
 
Open Cloud -- Future of Cloud Computing
Open Cloud -- Future of Cloud ComputingOpen Cloud -- Future of Cloud Computing
Open Cloud -- Future of Cloud ComputingAtul Jha
 
Openstack: Open Source software for building public and private cloud.
Openstack: Open Source software for building public and private cloud.Openstack: Open Source software for building public and private cloud.
Openstack: Open Source software for building public and private cloud.Atul Jha
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon IndiaAtul Jha
 
Introduction to FOSS, SRM University
Introduction to FOSS, SRM UniversityIntroduction to FOSS, SRM University
Introduction to FOSS, SRM UniversityAtul Jha
 
Foss adoption in Indian Government Enterprise.
Foss adoption in Indian  Government Enterprise.Foss adoption in Indian  Government Enterprise.
Foss adoption in Indian Government Enterprise.Atul Jha
 
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to SubversionAtul Jha
 
Introduction to Selinux
Introduction to SelinuxIntroduction to Selinux
Introduction to SelinuxAtul Jha
 

Mehr von Atul Jha (20)

Hooked by Nir Eyal
Hooked by Nir EyalHooked by Nir Eyal
Hooked by Nir Eyal
 
Don't make me think: Steve Krug
Don't make me think: Steve KrugDon't make me think: Steve Krug
Don't make me think: Steve Krug
 
Thumbnail generation using Minio's event notification.
Thumbnail generation using Minio's event notification.Thumbnail generation using Minio's event notification.
Thumbnail generation using Minio's event notification.
 
Minio: Associated projects in Go programming.
Minio: Associated projects in Go programming. Minio: Associated projects in Go programming.
Minio: Associated projects in Go programming.
 
Open Source Cloud alternatives
Open Source Cloud alternativesOpen Source Cloud alternatives
Open Source Cloud alternatives
 
Summary of DockerCon Europe.
Summary of DockerCon Europe. Summary of DockerCon Europe.
Summary of DockerCon Europe.
 
OpenStack Swift production deployments
OpenStack Swift production deploymentsOpenStack Swift production deployments
OpenStack Swift production deployments
 
OpenStack Swift on virtualbox
OpenStack Swift on virtualboxOpenStack Swift on virtualbox
OpenStack Swift on virtualbox
 
OpenStack Swift: Panoramic View
OpenStack Swift: Panoramic ViewOpenStack Swift: Panoramic View
OpenStack Swift: Panoramic View
 
OpenStack : Linux User Group meetup
OpenStack : Linux User Group meetupOpenStack : Linux User Group meetup
OpenStack : Linux User Group meetup
 
OpenStack: An introduction
OpenStack: An introductionOpenStack: An introduction
OpenStack: An introduction
 
Open Cloud -- Future of Cloud Computing
Open Cloud -- Future of Cloud ComputingOpen Cloud -- Future of Cloud Computing
Open Cloud -- Future of Cloud Computing
 
Openstack: Open Source software for building public and private cloud.
Openstack: Open Source software for building public and private cloud.Openstack: Open Source software for building public and private cloud.
Openstack: Open Source software for building public and private cloud.
 
Introduction and hacking OpenStack, Pycon India
Introduction and hacking OpenStack,  Pycon IndiaIntroduction and hacking OpenStack,  Pycon India
Introduction and hacking OpenStack, Pycon India
 
Introduction to FOSS, SRM University
Introduction to FOSS, SRM UniversityIntroduction to FOSS, SRM University
Introduction to FOSS, SRM University
 
Phishing
Phishing Phishing
Phishing
 
Foss adoption in Indian Government Enterprise.
Foss adoption in Indian  Government Enterprise.Foss adoption in Indian  Government Enterprise.
Foss adoption in Indian Government Enterprise.
 
Nepal
Nepal Nepal
Nepal
 
Introduction to Subversion
Introduction to SubversionIntroduction to Subversion
Introduction to Subversion
 
Introduction to Selinux
Introduction to SelinuxIntroduction to Selinux
Introduction to Selinux
 

Kürzlich hochgeladen

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Juju

  • 1. Cloud ninjas got charms with Juju!!
  • 4. And the Good news!!
  • 5. So lets begin!! Ninjas == DevOps New masters of web with automated weapons!!
  • 6. What is DevOps?  Rate of agile development and deployment requires deeper interaction between teams  A melding of development, deployment, and QA principles, methods, and practices  Fills the gap between developers and system administrators
  • 7. What drives DevOps?  Speed of the deployment  Continuous Integration, Automated Testing, etc.  Fast change vs. Stability
  • 8. 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
  • 9. You've got the tools already  Hardware  Virtualization  Platform (OS)  Configuration Management  … need to tie that together into something whole.
  • 11. Before going there!!  How about a used case!! Everybody loves Wordpress!!
  • 12. Traditional Way!!  Install LAMP stack  Manually configure the database  Create upload directory and test if all works.
  • 13. Configuration management system  Install a Tool.  Test if its installed propely  Learn a new language  Test again if the configuration promise/recipes are correct and works
  • 14. Juju way!!  Download wordpress and its deps charms from charms repository  Deploy it
  • 15. So!!!  How about taking Juju ride!!
  • 17. What is Juju?  juju aims to be a service deployment and orchestration tool.  It enables the same kind of collaboration and ease of use which is seen around package management to happen on a higher level, around services.
  • 18. What is Juju  With juju, different authors are able to create services independently, and make those services communicate through a simple configuration protocol.  In simplest term Juju is going to be APT for cloud
  • 19. Compontents of Juju!!  Juju  Charms
  • 20. Juju  Written in Python Uses Apache Zookeeper, cloud-init
  • 21. Charms  Reusable, codified best-practice.  Distilled deployment expertise.  Communication via interfaces.
  • 22. Charms  Doesn't require foreknowledge of who will use them or how..  Independent One can write charm in any language python, ruby, bash ......
  • 23. Inside Charms  Relations  Services
  • 25. Relations  A high-level interface describing the interactions between services  Services have `provides` and `requires` interfaces  Juju models the relationship between services, not machines
  • 26. 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?
  • 28. Lets bring back Wordpress.  juju bootstrap  juju deploy --repository charms local:mysql  juju deploy --repository charms local:wordpress  juju add-relation wordpress mysql  juju expose wordpress  juju status
  • 29. Yes, wordpress for you!!  Was that difficult?
  • 30. What about scaling?  Simple add any number of Wordpress units juju-add unit wordpress  Even more juju-add unit wordpress –n=5  Alternatively you can use Vernish chram or if load balancer needed try HAProxy charm
  • 31. But hold on!! If you are testing Ubuntu 11.10  sudo apt-get install juju Older versions  sudo add-apt-repository ppa:juju/pkgs  sudo apt-get update  sudo apt-get install juju
  • 32. Editing the config file!!  The config file is at: ~/.juju/environments.yaml  Juju currently supported AWS, Openstack, LXC, Eucalyptus and others..
  • 33. LXC/AWS config file.. Let me show you!!  $ juju bootstrap creates a sample config file.
  • 34. Juju under the hood.
  • 35. Also ..  When this Project started Juju was called Ensemble Charms were called Formulas
  • 36. More about Charms .. Each charm defines dependencies and/or provides. Juju treats individual services as atoms that are described as charms and can be instantiated one or many times. Multiple charms can provide the same service and can be easily switched.
  • 37. Little bit more .. 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.  Juju delivers service focused management through their life- cycle
  • 38. Available Charms ..  Over 40 charms are availble …
  • 40. Contribute  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. Credits  Photo : To there respctive owners, thanks for keeping it under CC, taken from flicker.  Docs/logo : Ubuntu Juju Project
  • 43. About Me!! Atul Jha @koolhead17
  • 44. Thanks!!  I know most of you are thinking about Lunch now!!