Cloud Provisioning mit Juju



Ähnliche Dokumente
Continuous Delivery mit Docker

Konfigurationsmanadment mit Chef und Vagrant. August 2012, Seite: 1/20

Anlegen von Entwicklungsumgebungen per Vagrant & Chef

DEPLOYMENTS MIT DOCKER. Created by Wojciech Pietrzak

Docker. Lass mal containern Julian mino GPN

Storage as a Service - STaaS

Katello / Pulp / Candlepin

Cloud-Provider im Vergleich. Markus

Dynamische Änderung von Ressourcen in OpenStack

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Magento goes into the cloud Cloud Computing für Magento. Referent: Boris Lokschin, CEO

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Ein reales Testumfeld bereitstellen - basierend auf einer Produktionsdatenbank (ohne eine neue Kopie zu erstellen)

OpenStack und Heat Standardisierte Test- und Entwicklungsumgebungen

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Security + Firewall. 4.0 PPTP Client Einwahl. 4.1 Szenario

Microsoft Azure Fundamentals MOC 10979

SINT Rest App Documentation

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

PUPPENSPIELE IN DER WOLKE HOW TO BRING A NON-CLOUD APP INTO THE SKY

Mapbender3 Workshop. Christian Wygoda. FOSSGIS Dessau 2012

WRT als Plattform für anderes

Konfiguration einer Firewall mit FireHOL

Serverprovisioning in einer dynamischen Infrastruktur Systemmanagement LinuxTag 2012

MySQL Cluster mit Galera

Open Source Data Center Virtualisierung mit OpenNebula LinuxTag Berlin. Bernd Erk

Dokumentenorientierte Datenbanken - MongoDB

JEAF Cloud Plattform Der Workspace aus der Cloud

Konfiguration Zentyal 3.3 Inhaltsverzeichnis

Continuous Delivery in der Praxis

Entwicklungsumgebungen. Packer, Vagrant, Puppet. Alexander Pacnik Mannheim,

// blog.netways.de FOREMAN DER VORARBEITER ALS PUPPENSPIELER DIRK GÖTZ NETWAYS GMBH Make IT do more with less

NoSQL. Einblick in die Welt nicht-relationaler Datenbanken. Christoph Föhrdes. UnFUG, SS

Continuous Delivery in der Realität eines Großunternehmens

Joomla 1.5. Einführung in die Installation und Benützung

Zend PHP Cloud Application Platform

Linux vs. Solaris als Fileserver

Use AMW to deploy to OpenShift

The linux container engine. Peter Daum

Rapide An Event-Based Architecture Definition Language

Überblick und Vergleich von NoSQL. Datenbanksystemen

Typo 3 installieren. Schritt 1: Download von Typo3

Ausrollen von Multi-Tier-Applikationen mit Docker

Was ist Amazon RDS? Datenbank Typen DB Instanzen Features. Live Demo Fazit. Amazon RDS - Till Ganzert

Proxy Server als zentrale Kontrollinstanz. Michael Buth IT Berater. web: mail:

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Saltstack Thorsten Kramm Berlin Juni 2015

presents openqrm Enterprise Presentation Slide no. 1

1. IPSec Verbindung zwischen 2 Gateways mit dynamischen IP Adressen

EXASOL Anwendertreffen 2012

Datenbanken unter Linux

Security. Stefan Dahler. 4. Internet Verbindung. 4.1 Einleitung

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

End-to-End Automatisierung Mehr als Continuous Integration & Continuous Delivery

Open Source Data Center Virtualisierung mit OpenNebula CeBIT Bernd Erk

Spontan testen! Das eigene Test Lab, für jeden in der Cloud! Peter Kirchner. Microsoft Deutschland GmbH

Referenzielle Integrität SQL

Softwareentwicklung in der industriellen Praxis

Echtzeitanomalieerkennung für Internetdienste (Abschlussvortrag)

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

Anbindung des eibport an das Internet

"We$have$$ Igni,on"$ Pungenday, the 35th day of Discord in the YOLD Photo by Jurvetson (flickr)

Netbeans 6.1 mit SVN Server unter Debian etch mit Windows Clients

dsmisi Storage Lars Henningsen General Storage

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar!

Hier folgt eine kurze Aufstellung über die verwendete Architekur. Die Angaben sind ohne Gewähr für Vollständigkeit oder vollständige Richtigkeit.

Grundlagen der Informatik 2

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm

Continuous Delivery. für Java Anwendungen. Axel Fontaine Software Development Expert

OPENNEBULA ALS OPEN SOURCE CLOUD VIRTUALISIERUNGSLÖSUNG

Btfs das Dateisystem der Zukunft?

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Planung für Organisation und Technik

MySQL Replikation - Die Eier legende Wollmilchsau?

Das eigene Test Lab, für jeden!

Pragmatische Einblicke in Deployment- & Konfigurations- Management Tools

Paketmanagement. Alexander Günther gpg:0xebe4a38a. 16. Dezember UnFUG

Sind Cloud Apps der nächste Hype?

Prozedurale Datenbank- Anwendungsprogrammierung

OpenStack in der Praxis

Ist meine Website noch sicher?

Anleitung Grundsetup C3 Mail & SMS Gateway V

Inhaltsübersicht. Vorwort I Installation RAID- und LVM-Grundlagen Ubuntu-Server-Installation Erste Schritte...

Shibboleth zum Mitmachen die AAR-Testumgebung 3ter AAR Workshop

Avira Management Console AMC Serverkonfiguration zur Verwaltung von Online-Remote-Rechnern. Kurzanleitung

OS X StartupItems von Matthias Weidlich

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Ist meine WebSite noch sicher?

Werkzeugbasierte Entwicklung von Benutzeroberflächen mit CDA-Templates und ART DECOR

Migration von Subversion nach Mercurial und Einsatz dezentraler Versionskontrolle in Unternehmen

SimpleVOC-Yetanother. Bausteine für eine Key/Value- Datenbank

Deployment. Arthur Zaczek

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10

ALKIS- und Dienst-Nutzung mit Mapbender

CitStorm. TU Berlin - Fachbereich CIT Kay Fleischmann Fridtjof Sander Gert Geidel Michael Thomas Constantin Gaul Thomas Misch. April, 09.

Transkript:

Cloud Provisioning mit Juju

Frank Müller Oldenburg Baujahr 1965 Entwickler Fachautor frank.mueller@canonical.com @themue

Bereitgestellte Infrastruktur...

... ist nichts ohne bereitgestellte Dienste

Bekanntes Szenario wordpress auf individuellen mysql Servern

Höhere Komplexität in Clouds haproxy-w mediawiki mediawiki memcached haproxy-b wordpress mysql wordpress varnish wordpress

Ein mühsamer Weg

Juju - Open Source Tool zur Automatisierung von Clouds http://jujucharms.com

Plattformen

Plattformen haproxy-w mediawiki memcached mediawiki haproxy-b wordpress mysql wordpress varnish wordpress AWS Azure OpenStack Joyent...

juju generate-config # ~/.juju/environments.yaml # https://jujucharms.com/docs/config-aws.html amazon: type: ec2 # region: us-east-1 # access-key: <secret> # secret-key: <secret> # image-stream: "released"...

juju bootstrap Bootstrap

API Bootstrap State Provisioner... Zentrale Funktionen

Provisionierung

juju deploy juju-gui juju deploy wordpress juju deploy mysql juju expose juju-gui juju-gui wordpress mysql Bootstrap

Deploy mit Constraints arch (amd64, arm, i386, arm64, ppc64) container (none, lxc, kvm) cpu-cores / cpu-power / mem root-disk instance-type networks / tags (nur für MaaS)

Relationen

juju add-relation wordpress mysql juju expose wordpress juju-gui wordpress mysql Bootstrap

Konfiguration

juju set mysql dataset-size=50% juju set wordpress tuning=optimized juju-gui wordpress* mysql* Bootstrap

Skalieren

juju deploy memcached juju add-relation wordpress memcached juju add-unit wordpress memcached juju-gui wordpress* mysql* wordpress* Bootstrap

Varianten

Unit Unit Unit Untergeordnete Unit Unit Unit Standard Direkte Abhängigkeit Container

Vom Charm zur Unit Charm Zentrale Agenten Provisioner / Firewaller Individuelle Agenten Machiner / Uniter Unit

Komfort als Geschenk

Juju GUI (1)

Juju GUI (2)

Bundles

Status juju status machines: "0": agent-state: started agent-version: 1.12.0 dns-name: 15.185.88.51 instance-id: "1736045" series: precise... services: wordpress: charm: cs:precise/wordpress-42 exposed: true units: wordpress/0: agent-state: started agent-version: 1.12.0 machine: "1" open-ports: - 80/tcp public-address: 15.185.89.236

Charms

Charm-Bestandteile Metadaten Bauplan aus statischen und dynamischen Anteilen Konfigurationsoptionen Unit Hooks install / config-changed / start upgrade-charm / stop Relation Hooks x-relation-joined / x-relation-changed x-relation-departed / x-relation-broken Actions z.b. pause / snapshot restore / optimize...

Barebone Charm mit Charm Tools juju charm create vanilla

Charm metadata.yaml name: wordpress summary: WordPress is a... maintainer: Marco Ceppi <marco@ceppi.net> description: This will install and setup WordPress... categories: ["applications"] requires: db: interface: mysql nfs: interface: mount cache: interface: memcache provides: website: interface: http peers: loadbalancer: interface: reversenginx

Hooks - Wordpress install #!/bin/bash set -xe add-apt-repository ppa:charmers/charm-helpers apt-get update && apt-get -y upgrade apt-get -y install php5-memcache mysql-client pwgen \ php5 php5-fpm php-apc mailutils php-mail sysstat \ php5-mysql php5-mcrypt charm-helper-sh php5-curl \ rsync nfs-common git-core mktemp modprobe nfs true...

Wichtige Umgebungsvariablen für Hooks JUJU_HOOK_NAME JUJU_API_ADDRESSES JUJU_ENV_NAME / JUJU_ENV_UUID JUJU_UNIT_NAME JUJU_RELATION /..._ID JUJU_REMOTE_UNIT

Tools in Hooks juju-log für Logging juju-reboot für Reboots, zum Beispiel nach einem Upgrade unit-get <private-address public-address> zur Abfrage von Adressinformationen config-get zur Abfrage der Konfiguration open-port / close-port / opened-ports für die Verwaltung von Ports relation-set / relation-get / relation-list / relation-ids für die Verwaltung von Relationen

actions.yaml definiert Actions pause: description: Pause the database.... resume: description: Resume a paused database.... snapshot: description: Take a snapshot of the database. params: outfile: type: string description: The filename to write to. required: [outfile] additionalproperties: false

Tools in Action-Skripten action-get um Parameter abzufragen action-set für Rückgabewerte action-fail zum Signalisieren von Fehlern

Action-Kommandos juju action defined mysql juju action do mysql/0 snapshot filename=out.tar.gz juju action fetch <ID> juju action status <ID>

Einige Charms hadoop haproxy squid mediawiki mongodb hbase ceph apache2 mysql postgresql ntp cassandra nfs rabbitmq rails wordpress couchdb

Viel Spaß in den Wolken

Bildquellen 123RF istockphoto eigene Quellen