Clouds, leicht beherrschbar

613 views

Published on

Vortrag der OOP 2014

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

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
613
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Clouds, leicht beherrschbar

  1. 1. Clouds, leicht beherrschbar
  2. 2. Frank Müller Oldenburg Baujahr 1965 Entwickler Fachautor ! frank@mweb.de @themue
  3. 3. Was sind Clouds?
  4. 4. Bereitgestellte
 Infrastruktur …
  5. 5. … ist nichts ohne bereitgestellte
 Dienste
  6. 6. Bekanntes Szenario wordpress auf individuellen Servern mysql
  7. 7. Mehr Komplexität in Clouds haproxy-w memcached wordpress wordpress haproxy-b mediawiki mediawiki mysql varnish wordpress
  8. 8. Ein mühsamer Weg
  9. 9. Juju - Open Source Tool zur Automatisierung von Clouds http://juju.ubuntu.com
  10. 10. Plattformen
  11. 11. Plattformen haproxy-w EC2 memcached wordpress wordpress haproxy-b mediawiki mediawiki mysql varnish wordpress OpenStack HP Cloud Azure ...
  12. 12. Provisionierung
  13. 13. Bootstrapping juju init
 juju bootstrap Bootstrap
  14. 14. Zentrale Funktionen State API Bootstrap Provisioner ...
  15. 15. Service Deployment juju juju juju juju deploy deploy deploy expose juju-gui juju-gui wordpress mysql juju-gui wordpress mysql Bootstrap
  16. 16. Relationen
  17. 17. Services verknüpfen juju add-relation wordpress mysql juju expose wordpress juju-gui wordpress mysql Bootstrap
  18. 18. Konfiguration
  19. 19. Konfigurieren juju set mysql dataset-size=50% juju set wordpress tuning=optimized juju-gui wordpress* mysql* Bootstrap
  20. 20. Skalieren
  21. 21. Skalieren juju deploy memcached juju add-relation wordpress memcached juju add-unit wordpress memcached juju-gui wordpress* wordpress* mysql* Bootstrap
  22. 22. Varianten
  23. 23. Wie viele Units pro Maschine? Unit Unit Unit Untergeordnete Unit Unit Unit Standard Direkte Abhängigkeit Container
  24. 24. Komfort
 als
 Geschenk
  25. 25. Juju GUI (1)
  26. 26. Juju GUI (2)
  27. 27. Charms
  28. 28. 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
  29. 29. Vom Charm zur Unit Charm Zentrale Agenten Provisioner / Firewaller Individuelle Agenten Machiner / Uniter Unit
  30. 30. Einige Charms … haproxy hadoop mediawiki hbase mysql postgresql rabbitmq squid mongodb apache2 ceph cassandra ntp nfs wordpress rails couchdb
  31. 31. Architektur
  32. 32. Implementierung
 in Google Go
  33. 33. State / API / Worker Watcher
 - Sammlungen
 - Individuelle Objekte CLI Provisioner Firewaller State ! API Machiner Deployer - MongoDB
 - Zugriffsschicht GUI Uniter
  34. 34. Ereigniskette CLI Worker ! API Worker State Worker
  35. 35. Netz und Crypto WebSockets Bestandteile der API Reflection für Dispatching Serialisierung via JSON
  36. 36. 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
  37. 37. Beispiel: Firewaller State Environment Configuration
 Machines Exposes Machines Main Loop Ports Machine Loop Machine Loop Unit Loop Unit Loop Service Loop Service Loop
  38. 38. Plattformen kapseln Command Worker … Environment EC2 OpenStack Azure MAAS EC2 OpenStack Azure MAAS
  39. 39. Vom Umgang
 mit
 heißen
 Situationen
  40. 40. Strikte Fehlerkontrolle • Keine Exceptions in Go • Rückgabe von Fehlerwerten • Kein Ignorieren von Fehlern • launchpad.net/tomb für Fehler und Lebenszyklus von Goroutines
  41. 41. Wiederanlauf • Soll-Zustand in State ist Master • Nach Ausfall Abfrage des Soll-Zustands • Abgleich mit Ist-Zustand • Bei Abweichung Anpassung an SollZustand
  42. 42. Viel Spaß
 in den Wolken
  43. 43. ❝ Zitat hier eingeben. Bildquellen –Christian Bauer 123RF iStockphoto eigene Quellen

×