• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Clouds, leicht beherrschbar
 

Clouds, leicht beherrschbar

on

  • 388 views

Vortrag der OOP 2014

Vortrag der OOP 2014

Ein Einstieg in die Software Juju für das Provisioning und die Konfiguration von Clouds sowie ein Überblick über Architekturaspekte.

Statistics

Views

Total Views
388
Views on SlideShare
385
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 3

https://twitter.com 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Clouds, leicht beherrschbar Clouds, leicht beherrschbar Presentation Transcript

    • Clouds, leicht beherrschbar
    • Frank Müller Oldenburg Baujahr 1965 Entwickler Fachautor ! frank@mweb.de @themue
    • Was sind Clouds?
    • Bereitgestellte
 Infrastruktur …
    • … ist nichts ohne bereitgestellte
 Dienste
    • Bekanntes Szenario wordpress auf individuellen Servern mysql
    • Mehr Komplexität in Clouds haproxy-w memcached wordpress wordpress haproxy-b mediawiki mediawiki mysql varnish wordpress
    • Ein mühsamer Weg
    • Juju - Open Source Tool zur Automatisierung von Clouds http://juju.ubuntu.com
    • Plattformen
    • Plattformen haproxy-w EC2 memcached wordpress wordpress haproxy-b mediawiki mediawiki mysql varnish wordpress OpenStack HP Cloud Azure ...
    • Provisionierung
    • Bootstrapping juju init
 juju bootstrap Bootstrap
    • Zentrale Funktionen State API Bootstrap Provisioner ...
    • Service Deployment juju juju juju juju deploy deploy deploy expose juju-gui juju-gui wordpress mysql juju-gui wordpress mysql Bootstrap
    • Relationen
    • Services verknüpfen juju add-relation wordpress mysql juju expose wordpress juju-gui wordpress mysql Bootstrap
    • Konfiguration
    • Konfigurieren juju set mysql dataset-size=50% juju set wordpress tuning=optimized juju-gui wordpress* mysql* Bootstrap
    • Skalieren
    • Skalieren juju deploy memcached juju add-relation wordpress memcached juju add-unit wordpress memcached juju-gui wordpress* wordpress* mysql* Bootstrap
    • Varianten
    • Wie viele Units pro Maschine? Unit Unit Unit Untergeordnete Unit Unit Unit Standard Direkte Abhängigkeit Container
    • Komfort
 als
 Geschenk
    • Juju GUI (1)
    • Juju GUI (2)
    • Charms
    • Charm-Bestandteile Metadaten Bauplan aus statischen und Konfigurationsoptionen Unit Hooks install / config-changed / start
 upgrade-charm / stop dynamischen Bestandteilen Relation Hooks x-relation-joined / x-relation-changed
 x-relation-departed / x-relation-broken
    • Vom Charm zur Unit Charm Zentrale Agenten Provisioner / Firewaller Individuelle Agenten Machiner / Uniter Unit
    • Einige Charms … haproxy hadoop mediawiki hbase mysql postgresql rabbitmq squid mongodb apache2 ceph cassandra ntp nfs wordpress rails couchdb
    • Architektur
    • Implementierung
 in Google Go
    • State / API / Worker Watcher
 - Sammlungen
 - Individuelle Objekte CLI Provisioner Firewaller State ! API Machiner Deployer - MongoDB
 - Zugriffsschicht GUI Uniter
    • Ereigniskette CLI Worker ! API Worker State Worker
    • Netz und Crypto WebSockets Bestandteile der API Reflection für Dispatching Serialisierung via JSON
    • Nebenher und doch zusammen Goroutine Goroutine Worker • Command / Agent abhängig von Dateiname und Argumenten • Einsatz als individuelles Kommando oder Daemon Goroutine Goroutine Worker Command / Agent • Verschiedene parallele Worker je nach Command / Agent • Goroutines (Google Go) für nebenläufige Aufgaben
    • Beispiel: Firewaller State Environment Configuration
 Machines Exposes Machines Main Loop Ports Machine Loop Machine Loop Unit Loop Unit Loop Service Loop Service Loop
    • Plattformen kapseln Command Worker … Environment EC2 OpenStack Azure MAAS EC2 OpenStack Azure MAAS
    • Vom Umgang
 mit
 heißen
 Situationen
    • Strikte Fehlerkontrolle • Keine Exceptions in Go • Rückgabe von Fehlerwerten • Kein Ignorieren von Fehlern • launchpad.net/tomb für Fehler und Lebenszyklus von Goroutines
    • Wiederanlauf • Soll-Zustand in State ist Master • Nach Ausfall Abfrage des Soll-Zustands • Abgleich mit Ist-Zustand • Bei Abweichung Anpassung an SollZustand
    • Viel Spaß
 in den Wolken
    • ❝ Zitat hier eingeben. Bildquellen –Christian Bauer 123RF iStockphoto eigene Quellen