SlideShare a Scribd company logo
1 of 43
Download to read offline
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

More Related Content

Similar to Clouds, leicht beherrschbar

skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft AzureCarola Pantenburg
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppetinovex GmbH
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Managementinovex GmbH
 
Microsoft Azure Platform - System Management v.0.5
Microsoft Azure Platform -  System Management v.0.5 Microsoft Azure Platform -  System Management v.0.5
Microsoft Azure Platform - System Management v.0.5 Oliver Michalski
 
Einsatzmöglichkeiten von Virtual Private Workspace
Einsatzmöglichkeiten von Virtual Private WorkspaceEinsatzmöglichkeiten von Virtual Private Workspace
Einsatzmöglichkeiten von Virtual Private WorkspaceUniversity St. Gallen
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Windows Azure Platform Overview
Windows Azure Platform   OverviewWindows Azure Platform   Overview
Windows Azure Platform OverviewOliver Michalski
 
OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013NETWAYS
 
Microsoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agMicrosoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agInke Kauer
 
OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013NETWAYS
 
Cloud-native Apps 2.0
Cloud-native Apps 2.0Cloud-native Apps 2.0
Cloud-native Apps 2.0QAware GmbH
 
Einführung in das TCF Microsoft Cloud Onboarding Model
Einführung in das TCF Microsoft Cloud Onboarding ModelEinführung in das TCF Microsoft Cloud Onboarding Model
Einführung in das TCF Microsoft Cloud Onboarding ModelTwin Cap First AG
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013NETWAYS
 
OpenStack und EC2 in Univention Virtual Machine Manager verwalten
OpenStack und EC2 in Univention Virtual Machine Manager verwaltenOpenStack und EC2 in Univention Virtual Machine Manager verwalten
OpenStack und EC2 in Univention Virtual Machine Manager verwaltenUnivention GmbH
 
Icinga mit Puppet - Hamburg 2013
Icinga mit Puppet  - Hamburg 2013Icinga mit Puppet  - Hamburg 2013
Icinga mit Puppet - Hamburg 2013NETWAYS
 

Similar to Clouds, leicht beherrschbar (20)

skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
 
Opensource Tools für das Data Center Management
Opensource Tools für das Data Center ManagementOpensource Tools für das Data Center Management
Opensource Tools für das Data Center Management
 
Microsoft Azure Platform - System Management v.0.5
Microsoft Azure Platform -  System Management v.0.5 Microsoft Azure Platform -  System Management v.0.5
Microsoft Azure Platform - System Management v.0.5
 
Einsatzmöglichkeiten von Virtual Private Workspace
Einsatzmöglichkeiten von Virtual Private WorkspaceEinsatzmöglichkeiten von Virtual Private Workspace
Einsatzmöglichkeiten von Virtual Private Workspace
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Windows Azure Platform Overview
Windows Azure Platform   OverviewWindows Azure Platform   Overview
Windows Azure Platform Overview
 
OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013OpenNebula - LinuxTag 2013
OpenNebula - LinuxTag 2013
 
Openshift
OpenshiftOpenshift
Openshift
 
Microsoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit agMicrosoft Operations Management Suite Webinar - innobit ag
Microsoft Operations Management Suite Webinar - innobit ag
 
OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013OpenNebula - CeBIT 2013
OpenNebula - CeBIT 2013
 
Cloud-native Apps 2.0
Cloud-native Apps 2.0Cloud-native Apps 2.0
Cloud-native Apps 2.0
 
Einführung in das TCF Microsoft Cloud Onboarding Model
Einführung in das TCF Microsoft Cloud Onboarding ModelEinführung in das TCF Microsoft Cloud Onboarding Model
Einführung in das TCF Microsoft Cloud Onboarding Model
 
Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013Monitoring Openstack - LinuxTag 2013
Monitoring Openstack - LinuxTag 2013
 
OpenStack und EC2 in Univention Virtual Machine Manager verwalten
OpenStack und EC2 in Univention Virtual Machine Manager verwaltenOpenStack und EC2 in Univention Virtual Machine Manager verwalten
OpenStack und EC2 in Univention Virtual Machine Manager verwalten
 
PROFI Cloud Lösung
PROFI Cloud LösungPROFI Cloud Lösung
PROFI Cloud Lösung
 
Node.js
Node.jsNode.js
Node.js
 
Icinga mit Puppet - Hamburg 2013
Icinga mit Puppet  - Hamburg 2013Icinga mit Puppet  - Hamburg 2013
Icinga mit Puppet - Hamburg 2013
 
Dev ops für php talk
Dev ops für php talkDev ops für php talk
Dev ops für php talk
 

More from Frank Müller

JAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIsJAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIsFrank Müller
 
JAX 2023 - Generics in Go
JAX 2023 - Generics in GoJAX 2023 - Generics in Go
JAX 2023 - Generics in GoFrank Müller
 
Let The Computer Do It
Let The Computer Do ItLet The Computer Do It
Let The Computer Do ItFrank Müller
 
2021 OOP - Kubernetes Operatoren
2021   OOP - Kubernetes Operatoren2021   OOP - Kubernetes Operatoren
2021 OOP - Kubernetes OperatorenFrank Müller
 
DevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in GoDevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in GoFrank Müller
 
Devs@Home - Einführung in Go
Devs@Home - Einführung in GoDevs@Home - Einführung in Go
Devs@Home - Einführung in GoFrank Müller
 
Blockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale WährungenBlockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale WährungenFrank Müller
 
Spaß an der Nebenläufigkeit
Spaß an der NebenläufigkeitSpaß an der Nebenläufigkeit
Spaß an der NebenläufigkeitFrank Müller
 
Juju - Scalable Software with Google Go
Juju - Scalable Software with Google GoJuju - Scalable Software with Google Go
Juju - Scalable Software with Google GoFrank Müller
 
RESTful Web Applications with Google Go
RESTful Web Applications with Google GoRESTful Web Applications with Google Go
RESTful Web Applications with Google GoFrank Müller
 
Skalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoSkalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoFrank Müller
 
OOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source SoftwareOOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source SoftwareFrank Müller
 
Pecha Kucha: Nebenläufigkeit als natürliches Paradigma
Pecha Kucha: Nebenläufigkeit als natürliches ParadigmaPecha Kucha: Nebenläufigkeit als natürliches Paradigma
Pecha Kucha: Nebenläufigkeit als natürliches ParadigmaFrank Müller
 
Agility And The Way To SOA
Agility And The Way To SOAAgility And The Way To SOA
Agility And The Way To SOAFrank Müller
 

More from Frank Müller (17)

JAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIsJAX 2023 - Cloud Provider APIs
JAX 2023 - Cloud Provider APIs
 
JAX 2023 - Generics in Go
JAX 2023 - Generics in GoJAX 2023 - Generics in Go
JAX 2023 - Generics in Go
 
Let The Computer Do It
Let The Computer Do ItLet The Computer Do It
Let The Computer Do It
 
Concurrency with Go
Concurrency with GoConcurrency with Go
Concurrency with Go
 
2021 OOP - Kubernetes Operatoren
2021   OOP - Kubernetes Operatoren2021   OOP - Kubernetes Operatoren
2021 OOP - Kubernetes Operatoren
 
DevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in GoDevOpsCon - Verteilte Entwicklung in Go
DevOpsCon - Verteilte Entwicklung in Go
 
Devs@Home - Einführung in Go
Devs@Home - Einführung in GoDevs@Home - Einführung in Go
Devs@Home - Einführung in Go
 
Fun with functions
Fun with functionsFun with functions
Fun with functions
 
Ein Gopher im Netz
Ein Gopher im NetzEin Gopher im Netz
Ein Gopher im Netz
 
Blockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale WährungenBlockchains - Mehr als nur digitale Währungen
Blockchains - Mehr als nur digitale Währungen
 
Spaß an der Nebenläufigkeit
Spaß an der NebenläufigkeitSpaß an der Nebenläufigkeit
Spaß an der Nebenläufigkeit
 
Juju - Scalable Software with Google Go
Juju - Scalable Software with Google GoJuju - Scalable Software with Google Go
Juju - Scalable Software with Google Go
 
RESTful Web Applications with Google Go
RESTful Web Applications with Google GoRESTful Web Applications with Google Go
RESTful Web Applications with Google Go
 
Skalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google GoSkalierbare Anwendungen mit Google Go
Skalierbare Anwendungen mit Google Go
 
OOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source SoftwareOOP 2013 - Weltweite Entwicklung von Open Source Software
OOP 2013 - Weltweite Entwicklung von Open Source Software
 
Pecha Kucha: Nebenläufigkeit als natürliches Paradigma
Pecha Kucha: Nebenläufigkeit als natürliches ParadigmaPecha Kucha: Nebenläufigkeit als natürliches Paradigma
Pecha Kucha: Nebenläufigkeit als natürliches Paradigma
 
Agility And The Way To SOA
Agility And The Way To SOAAgility And The Way To SOA
Agility And The Way To SOA
 

Clouds, leicht beherrschbar