Über Physik, Erdnuss-Snacks und Schlangenöl aka Datenbanken

Achtung ein Hinweis in eigener Sache, dieser Artike kann Spuren von Polemik und rant enthalten!

Neal Stephenson hat in seinem wunderbaren Roman Cryptonomicon eine kleine Randgeschichte über eine Bandsäge eingebaut. Der für mich schönste Satz darin ist:

Anecdotes about accidents involving the bandsaw were told in hushed voices and not usually commingled with other industrial-accident anecdotes.

An diesen Satz muss ich immer denken, wenn es auf PostgreSQL-Konferenzen in den abendlichen War-Story-Runden zu Geschichten über MySQL oder MariaDB kommt, zugegeben hauptsächlichen deren Migration zu PostgreSQL.
Bei Entity–Attribute–Value (EAV) Schemas, nicht getesteten Backups, Prozeduren, die nicht maskierte Benutzereingaben als Tabellennamen für dynamisches SQL hernehmen etc. kann man sagen sie hätten es wissen können bzw. müssen. (Halt die üblichen Katastrophen, die man sich in gemütlicher Runde so erzählt, Datenbanker sind halt schon ein komischer Haufen.)

Das ist bei MySQL wie auch diversen anderen Datenbanken irgendwie anders, und ich frage mich immer wieder, warum ist das so?

Es hat evtl. etwas mit einer grundsätzlichen Bereitschaft zu tun, über physikalische Gegebenheiten nachzudenken.

Wenn jemand eine PostgreSQL-Mailingliste anschreibt und erklärt, dass Oracle eine Anfrage in 0,009 ms beantwortet, für die PostgreSQL über zwei Minuten benötigt, dann ist diese Frage erst einmal legitim.

Wenn dann aber nach und nach herauskommt, dass es um eine Tabelle mit 9.649.110 Zeilen und rund 3,5GB geht, die mittels SELECT * FROM table1; komplett gelesen wird, müsste einem doch sofort klar sein, das Ersteres nicht sein kann? Das brandneue DDR5-RAM schafft gerade mal 5,2 GT/s (Megatransfer), und da ist noch keine Netzwerkverbindung im Spiel. In 0,000009 Sekunden schafft selbst Licht “nur” rund 2,7km.

Wie können solche offensichtlichen Mess- oder Denkfehler nicht sofort auffallen? Die 2,7 km muss man ja nicht parat haben, aber dass 0,000009 Sekunden ein sehr kurzer Zeitraum sind, um 3,5GB Daten zu übertragen, liegt doch eigentlich für ITler nah?

Was mich zum Thema MM (Multi-Master-Replication) oder politisch korrekt Multi-Primary, Write-Anywhere etc. bringt…

PostgreSQL-Umsteiger von MySQL, MariaD, CockroachDB, Oracle,… fragen immer wieder (z.B. im Telegram-/Slack-Channel, den Mailinglisten, Seminaren), wie man denn einen MM-Cluster aufbaut.

Der Dialog läuft üblicherweise so ab:
Q: “Ich komme von und habe dort einen Multimaster-Cluster. Wie baue ich dasselbe mit PostgreSQL auf?”
A: “Gar nicht. Wahrscheinlich willst du das aber auch gar nicht.”
Q: “Doch, doch. Ich brauche die Hochverfügbarkeit und die Performance (ein Knoten allein schafft meine Schreiblast nicht)!”
A: “MM kostet Performance und verbessert deine Verfügbarkeit nicht wirklich. Benutze einfach eine klassische Replikation, ggfs. mit Lese-Lastverteilung.”

Verdeutlichen wir uns kurz, was es für eine Datenbank bedeutet, auf mehr als einem Clusterknoten schreibenden Zugriff zu erlauben:

  • Sequenzen (für Primärschlüssel bzw. “auto-increment/identity” Spalten) müssen synchronisiert werden, damit keine IDs doppelt vergeben werden
  • es muss sichergestellt werden, dass bei z.B. DELETE-Statements die referentielle Integrität erhalten bleibt; es muss also die Möglichkeit geben,
    clusterweit Datensätze oder sogar ganze Tabellen zu LOCKen
  • wenn auf mehreren Knoten derselbe Datensatz verändert wird, muss eine Konfliktbehandlung erfolgen. Wenn die nicht dem Zufall, sprich dem Replikations-Lag überlassen werden soll, werden clusterweite Transaktions-IDs benötigt
  • und zum Thema Schreiblast: Ziel ist es ja weiterhin, einen einheitlichen und konsistenten Datenbestand zu haben, die Schreiblast pro Knoten bleibt also unverändert!

Je mehr Knoten beteiligt sind, desto mehr Koordination ist erforderlich. Und jede dieser Aktivitäten benötigt Zeit, mindestens 1-2 Netzwerk-Roundtrips.

Je weiter meine Knoten voneinander entfernt sind, desto mehr Zeit und damit Performance geht allein schon durch pure Physik verloren!

Für PostgreSQL gibt bzw. gab es einige FOSS-Varianten, die MM beherrschen (Postgres-XC, Postgres-XL, BDR). Und 2ndQuadrant, deren derzeitiger Maintainer, sagt sinngemäß:

Die Einschränkungen und zusätzlichen Maßnahmen, die MM mit sich bringt bzw. erfordert, sind so eklatant, dass MM wahrscheinlich nie Einzug in den PostgreSQL-Core kommen wird. Und so ein Cluster ist explizit nicht für Hochverfügbarkeit gedacht, sondern um z.B. logisch weitgehend voneinander getrennte Datenbestände, z.B. Verkäufe und Lagerbestände in verschiedenen Ländern, in den jeweils anderen Standorten verfügbar zu machen.

Der Aufwand ist also durchaus erheblich, und mit ein klein wenig Nachdenken sollten sich die Zusammenhänge und Gründe auch jedem Interessenten erschließen.

Oder man macht sich einfach keine Gedanken und setzt bidirektionale Replikation auf, “was soll schon passieren” und “war ganz einfach, mit diesem Tutorial aus dem Netz”…

Multimaster-Clustering ist ein wenig wie im Dunkeln, bei Regen, mit 250 km/h über die Autobahn zu fahren. Als Beifahrer…

  1. Man wünscht sich auf jeden Fall, dass die Person am Steuer nicht nachtblind (sprich: “has RTFM”) ist
  2. das Auto und seine Grenzen sehr genau kennt (pun intended!)
  3. ein oder besser mehrere Fahrsicherheitstrainings hinter sich hat.

Und trotzdem ist man letztlich Faktoren überlassen, auf die man keinen Einfluss hat. Meist geht es ja auch gut…

Hier schließt sich der Kreis zur Bandsäge von oben, denn gewisse DBMS (Datenbank Management Systeme) stehen ja schon ohne bidirektionale Replikation nicht unbedingt im Ruf, Datenintegrität besonders hoch zu bewerten (https://bugs.mysql.com/bug.php?id=11472).

Zur Performance:

Ich erinnere mich, dass Oracle seinerzeit für ihr RAC angegeben hat, dass jeder neue Knoten 90% der Leistung des vorherigen Knotens bringt*. Was ein sensationell guter Wert wäre, aber eben alles andere als lineare Skalierung (linear steigt lediglich der Preis…):


WITH perf AS (
SELECT nodes, 0.9^(nodes-1) AS nextnodes_performance
FROM generate_series(1,8) AS nodes
)
SELECT *
,avg(nextnodes_performance) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
AS average_performance
,nodes * avg(nextnodes_performance) OVER (ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
AS overall_performance
FROM perf;
┌───────┬───────────────────────┬────────────────────────┬────────────────────────┐
│ nodes │ nextnodes_performance │ average_performance │ overall_performance │
├───────┼───────────────────────┼────────────────────────┼────────────────────────┤
│ 1 │ 1.0000000000000000 │ 1.00000000000000000000 │ 1.00000000000000000000 │
│ 2 │ 0.9000000000000000 │ 0.95000000000000000000 │ 1.90000000000000000000 │
│ 3 │ 0.8100000000000000 │ 0.90333333333333333333 │ 2.70999999999999999999 │
│ 4 │ 0.7290000000000000 │ 0.85975000000000000000 │ 3.43900000000000000000 │
│ 5 │ 0.6561000000000000 │ 0.81902000000000000000 │ 4.09510000000000000000 │
│ 6 │ 0.5904900000000000 │ 0.78093166666666666667 │ 4.68559000000000000002 │
│ 7 │ 0.5314410000000000 │ 0.74529014285714285714 │ 5.21703099999999999998 │
│ 8 │ 0.4782969000000000 │ 0.71191598750000000000 │ 5.69532790000000000000 │
└───────┴───────────────────────┴────────────────────────┴────────────────────────┘

* vielleich waren es auch 80% oder 95% oder die Aussage war einfach kompletter Humbug?

Zur Verfügbarkeit:

Ein anderes gerne vorgebrachtes Argument, z.B. auf galeracluster.com ist “Transparent to Applications: Required no or minimal changes to the application”.

Ich habe mich immer gefragt, wie Oracle beim RAC das TCP-Protokoll aushebelt, eine Netzwerkverbindung bricht nun einmal ab, wenn der Host offline geht. Bis mir mal jemand gesteckt hat, dass man auf ein RAC mit einer anderen Client-Bibliothek zugreift. Mit anderen Worten: der Verbindungsabbruch wird nicht an das Programm durchgereicht, sondern das Statement (bzw. die Transaktion?) wird auf einer neuen Verbindung wiederholt. Ich unterstelle einfach mal, dass Galera etc. ähnlich arbeiten.

Können das die modernen Connection-Pools, ORMs etc. nicht auch alle schon mehr oder weniger selbsttätig oder mit “minimal changes”? Eine Applikation sollte es auf jeden Fall können. Aber gut, es sollte auch keine Applikationen mehr geben, die mehr als ein Statement außerhalb einer Transaktion durchführen…!

Auf jeden Fall rücken solche Aussagen die entsprechenden Produkte m. E. in die Nähe eines Worts, das im Titel dieses Beitrags steht…

Der klassische Ansatz:

Der Vollständigkeit halber sei noch kurz umrissen, wie eine hochverfügbare Cluster-Lösung mit PostgreSQL oder auch anderen DBMS aussehen kann.

  • ein Knoten (“Primary” oder non-PC “master”, P) erlaubt lesende und schreibende Zugriffe (R/W)
  • n andere Knoten (“Secondaries” oder “slaves”, S1,…,Sn) erhalten die Änderungen von P und erlauben lesende Zugriffe (RO)
  • zusätzlich landen alle Änderungen in einem Archiv, aus dem jeder beliebige Zeitpunkt wieder hergestellt werden kann (PITR)
  • Sn können synchron oder asynchron replizieren (bei synchroner Replikation sollte n > 1 sein!)

Der Zugriff auf den Knoten P kann auf verschiedene Arten erfolgen:

  • Clients erhalten die IPs aller Knoten und können selbst festlegen, ob sie Schreib-Lesezugriff benötigen
  • P hat eine zusätzliche virtuelle IP-Adresse, unter der er angesprochen wird (gerne zusammen mit P in einer Resource-Group der eingesetzten HA-Lösung)
  • ein vorgeschaltetes Tool, z.B. HAProxy weiß, welcher Knoten gerade P ist

Zusätzlich können Clients entscheiden, ob ihre jeweilige Aktivität nur lesend oder schreibend ist und sich entsprechend mit P oder einem Sn unterhalten, um die Gesamt-Performance zu verbessern.

Manche Pooler, z.B. PGPool-II können diese Unterscheidung sogar selber mehr oder weniger gut treffen. Vorsicht aber mit z.B. schreibenden Triggern!

Dass eine Client-Software eine halbwegs funktionale Fehlerbehandlung haben sollte, vielleicht sogar mit ein wenig Wartezeit vor’m retry, versteht sich von selbst.

Multi-Master-Datenbankcluster bringen einige Aspekte mit, die zu wenig oder zumindest selten beachtet werden. Manche sind ausgesprochen gefährlich!

Eine klassische Replikationslösung bietet annähernd dieselbe Verfügbarkeit, i.A. deutlich bessere Performance und bereitet auf Dauer wesentlich weniger Kopfschmerzen.

Wie man ein solches Cluster aufbaut, lernt man in unserem Kurs PostgreSQL Fundamentals.

Gunnar “Nick” Bluth hat seine Liebe zu relationalen Datenbanken Ende des letzten Jahrtausends entdeckt. Über MS Access und MySQL 3.x landete er sehr schnell bei PostgreSQL und hat nie zurückgeschaut, zumindest nie ohne Schmerzen. Er verdient seine Brötchen seit beinahe 20 Jahren mit FOSS (Administration, Schulungen, Linux, PostgreSQL). Gelegentlich taucht er auch tiefer in die Programmierung ein, so als SQL-Programmierer bei der Commerzbank oder in App-Nebenprojekten.

Kühlen Kopf bewahren mit NETWAYS Trainings!

Die Temperaturen steigen. Du hast dieses neue Tool am Start und eigentlich weißt Du auch, wie es läuft, aber so richtig rund läuft’s momentan noch nicht und… Keine Panik, kühlen Kopf bewahren!

Nach Deiner nächsten NETWAYS Schulung weißt Du

  • wie Du mit GitLab deinen Git-Workflow im Fluss hältst
  • oder wie Du Ansible Playbooks und Rollen spielend erstellst
  • oder wie Du aus PostgreSQL noch mehr herausholst
  • oder wie Du …

Wir haben das Wissen zu den beliebtesten Open Source Anwendungen und teilen gerne!

Diese Schulungen haben wir in der Pipeline:

GitLab | 25. – 26. Juni oder 23. – 24. Juli | beide in Nürnberg
Fundamentals for Puppet | 02. – 04. Juli | Nürnberg
Ansible | 09. – 11. Juli | Nürnberg
Ansible AWX/Tower | 12. Juli | Nürnberg
Elastic Stack | 23. – 25. Juli | Nürnberg
PostgreSQL Advanced | 06. – 09. Juli | Nürnberg

Und viele weitere. Guck doch mal in unseren Veranstaltungskalender.

Und was bringt es Dir, mit Kolleg*innen zur Schulung zu kommen?

Satte Rabatte! Erfahre hier mehr.

Die komplette Verpflegung, Unterlagen, ein Leih-Notebook und WLAN sind im Schulungspreis enthalten. Bei der Buchung eines Hotels ist Dir Stefan gerne behilflich, der auch alle Fragen rund um unsere Schulungen beantwortet – per Mail oder telefonisch 0911 92885-0.

 

 

Julia Hornung
Julia Hornung
Marketing Manager

Julia ist seit Juni 2018 Mitglied der NETWAYS Family. Vor ihrer Zeit in unserem Marketing Team hat sie als Journalistin und in der freien Theaterszene gearbeitet. Ihre Leidenschaft gilt gutem Storytelling, klarer Sprache und ausgefeilten Texten. Privat widmet sie sich dem Klettern und ihrer Ausbildung zur Yogalehrerin.

Meine erste Reise bei NETWAYS!

Letzte Woche war es soweit ich durfte meine erste Dienstreise antreten. Zwar handelte es sich hierbei nur um eine Schulung, aber immerhin. Es ging nach München für die Icinga 2 Fundamentals Schulung.

Mit Lennart als Trainer, ging es Montag Nachmittag los. Zwei Stunden später waren wir angekommen. Natürlich mussten wir noch den Schulungsraum auf Vordermann bringen. Tische zurecht rücken, mit Notebooks bestücken, Unterlagen verteilen, Stromanschluss bereitstellen und so weiter. Der Aufbau nahm schon etwas Zeit in Anspruch, aber zu zweit ging das ganze doch schneller als erwartet. Ab aufs Zimmer um für den nächsten Tag fit zu sein, denn um neun Uhr geht es los. Themen der Icinga 2 Fundamentals Schulung? Wie der Name schon erwarten lässt, Grundkentnisse und Grundlagen zu Icinga2. Doch wer Lennart kennt, weiß dass er in den gegebenen Tagen meist mehr schafft als geplant.

Also eine erholsame Nacht im Hotel später wurden die Schulungsteilnehmer in Empfang genommen. Um acht Uhr trafen die ersten bereits ein um ihre Plätze einzunehmen. Nach einer kleinen Vorstellungsrunde bei der sich Lennart mit dem derzeitigen Wissenstand der Teilnehmer auseinandersetzte sind wir auch schon gleich mit Icinga2 eingestiegen. Egal ob Icinga selbst, einfache Plugins oder der Icinga Director es wurde alles abgedeckt.

Selbstverständlich gab es reichlich Pausen, sowie Getränke und Essen zu genüge. Auf leeren Magen lässt es sich schlecht lernen und die Worte NETWAYS und leerer Magen sind nicht miteinander vereinbar. Am zweiten Schulungstag wurde es gegen Abend mal Zeit für einen Tapetenwechsel und wir machten uns auf dem Weg zum Augustiner Klosterwirt. In geselliger Atmosphäre in diesem rauen Etablissement wurde der Abend ausgeklungen und nach einem deftigen Abendessen auch das ein oder andere Bier getrunken.

Die vier Tage gingen schnell vorüber. Für mich als zukünftigen Consultant war es praktisch zu sehen, wie Lennart den Schulungsteilnehmern individuell zur Seite stehen konnte und noch während der Schulung Auskunft gegeben konnte über die Anwendung in den entsprechenden Umgebungen der Kunden. Es waren vier sehr intensive Tage vollgestopft mit sehr viel Informationen. Seit Freitag bin ich wieder in Nürnberg und jetzt heißt es erst einmal sacken lassen. Wird bestimmt nicht lange dauern bis ich mein erstes Icinga-Projekt bekomme.

Um ehrlich zu sein, war ich schon ein bisschen nervös. Vor der ersten richtigen Dienstreise, aber jetzt kann ich die nächste kaum erwarten.

Tobias Bauriedel
Tobias Bauriedel
Junior Consultant

Tobias ist ein offener und gelassener Mensch, dem vor allem der Spaß an der Arbeit wichtig ist. Bei uns macht er zurzeit seine Ausbildung zum Fachinformatiker. In seiner Freizeit ist er viel unterwegs und unternimmt gern etwas mit Freunden.

Neu im NETWAYS Trainings-Portfolio: PostgreSQL

Ihr liebt sie! Zweimal in Folge, 2017 und 2018, wurde PostgreSQL “DBMS of the Year” im DB-Engines Ranking. Na klar nehmen wir für all ihre Fans und solche, die es werden wollen, die freie, objektrelationale Datenbank PostgreSQL in unser Schulungs-Portfolio auf.

PostgreSQL steht für Zuverlässigkeit, Flexibilität und viele fortgeschrittene Features. Deswegen entwickelt es sich immer mehr zur Alternative zu anderen Open-Source-Datenbanken wie MySQL/MariaDB, aber auch den großen, kommerziellen Systemen.

Für einen stabilen, stressfreien Betrieb

Die Schulung „PostgreSQL Fundamentals“ richtet sich an Administratoren, die an einem stabilen, wartungsarmen Betrieb einer PostgreSQL-Datenbank interessiert sind. Fundamentals-Inhalte sind unter anderem Entwicklungs- und Release-Zyklus, Beschaffung und Installation, (G)UIs, grundlegende Konfiguration, Backup und Restore, Replikation und (Hoch)Verfügbarkeit und vieles weitere.

PostgreSQL als „Data Center“

Die Schulung „PostgreSQL Advanced“ richtet sich an Datenbank-Architekten und -Designer sowie Entwickler, aber auch DevOps, die ihre Kunden aus ebenjenen Bereichen beraten wollen. Advanced-Inhalte sind, grob skizziert, Performance, PostgreSQL als „Data Center“ und Programmierung und Design.

Im Schulungs-Paket enthalten sind wie immer umfangreiche Schulungsunterlagen, ein Notebook für die Dauer des Trainings, sowie unsere legendäre Rund-um-sorglos-Verpflegung mittags, abends und in allen Pausen.

 

TRAININGS DETAILS
PostgreSQL Fundamentals: 4. Juni / 10. September / 19. November 2019
PostgreSQL Advanced: 6. August / 22. Oktober / 3. Dezember 2019

 

Weitere Informationen & Anmeldung
www.netways.de/trainings
training@netways.de

Julia Hornung
Julia Hornung
Marketing Manager

Julia ist seit Juni 2018 Mitglied der NETWAYS Family. Vor ihrer Zeit in unserem Marketing Team hat sie als Journalistin und in der freien Theaterszene gearbeitet. Ihre Leidenschaft gilt gutem Storytelling, klarer Sprache und ausgefeilten Texten. Privat widmet sie sich dem Klettern und ihrer Ausbildung zur Yogalehrerin.

Der Abteilungsdurchlauf: Von Managed Services zum Eventmanagement

Gut vier Monate sind vergangen seitdem ich bei NETWAYS angefangen habe. Viel hat sich seitdem ereignet: Ein LAMP-Projekt, die Open Source Monitoring Conference, dann diverse interne Schulungen und ein paar eingestreute Berufsschulblöcke später finde ich mich zuerst bei Managed Services und dann bei Events wieder.

Wie war es bei Managed Services

Managed Services im Customer Hosting umfasst viele Themengebiete, die für mich als zukünftigen Consultant relevant sind. Die acht Wochen dort, waren zunächst vor allem eine Möglichkeit die anderen Kollegen kennenzulernen, aber auch eine Zeit, in der ich bei NETWAYS das erste Mal Verantwortung übernehmen durfte und für die Kunden direkt arbeiten konnte. Natürlich in einem abgesicherten Umfeld, da mir bei Fragen eine Reihe erfahrener Kollegen zur Seite stand.

Was hat dir Events gebracht?

Durch meine Zeit bei Events habe ich vielleicht noch ein bisschen mehr verstanden, wie die Zahnräder bei NETWAYS ineinandergreifen.

Wenn man so möchte, kann man Events unterteilen in  Training und Events (Konferenzen). Die Woche über habe ich mit Stefan ungefähr 80 % einer GitLab-Schulung vorbereitet. Ich habe die Handouts, Aufgaben, sowie Lösungen ausgedruckt, gestanzt, abgeheftet, eine Vielzahl an Laptops für die Schulung vorbereitet, Reservierungen und Bestellungen getroffen und so weiter.

Ich habe zum Beispiel auch Kontakt zu unserem Trainer für die Schulung aufgenommen und die Unterlagen für ihn vorbereitet. Eben dieser Trainer kann mit dem nötigen Know-How irgendwann ich sein und dann bin ich mir bereits über vieles im Klaren und kann so besser mit Stefan zusammenarbeiten.

Was ich sonst gelernt habe: Das Marketing braucht Input der anderen Abteilungen, um Produkte und Dienstleistungen möglichst konkret darstellen zu können und Events, wie die OSMC oder die bevorstehende OSDC, sind Veranstaltungen auf denen sich Leute austauschen können und bieten Experten eine Plattform, um ihr Wissen zu teilen. Eben diesen Experten, die mir helfen meinen Job besser zu machen.

 

Alexander Stoll
Alexander Stoll
Junior Consultant

Alexander ist ein Organisationstalent und außerdem seit Kurzem Azubi im Professional Services. Wenn er nicht bei NETWAYS ist, sieht sein Tagesablauf so aus: Montag, Dienstag, Mittwoch Sport - Donnerstag Pen and Paper und ein Wochenende ohne Pläne. Den Sportteil lässt er gern auch mal ausfallen.

Raus aus der Winterstarre! Rein ins NETWAYS Training!

Wir haben für das Frühjahr 2019 wieder ein feines Trainingsprogramm für euch vorbereitet. Unser weitreichendes und profundes Praxiswissen geben wir in verschiedenen Schulungen und Workshops gerne weiter – damit ihr die winterliche Lethargie hinter euch lassen und beschwingt durchstarten könnt!

Was ist eigentlich der Unterschied zwischen NETWAYS Schulungen und Workshops?

Die NETWAYS Schulungen bestehen aus einer Kombination von Vortrag und praktischen Übungen. Ihr erhaltet einen tiefen Einblick in die Funktionsweise und Einsatzgebiete der jeweiligen Anwendung und festigt euer neu gewonnenes Wissen, indem ihr es direkt selbst testet.

Die NETWAYS Workshops richten sich an erfahrene Entwickler und Administratoren, die bereits umfassendes Wissen zu den entsprechenden Tools besitzen und ihre Fähigkeiten in Bezug auf spezielle Funktionen erweitern wollen. Ihr legt nach einer knackigen Einführung ins Thema, direkt selbst los, mit dem Ziel, euch am Ende des Tages die jeweiligen Skills unter fachkundiger Anleitung angeeignet zu haben.

Darin machen wir Dich stark:

  1. Jenkins | Schulung | 12. März | Nürnberg
  2. Icinga Fundamentals | Schulung | 26. – 29. März | Nürnberg
  3. Ansible | Schulung| 2. – 4. April | Nürnberg
  4. Ansible (AWX) Tower | Schulung | 5. April | Nürnberg
  5. Foreman | Schulung | 9. – 10. April | Nürnberg
  6. Fundamentals for Puppet | Schulung| 9. – 11. April | Nürnberg
  7. Icinga Fundamentals | Schulung | 7. – 10. Mai | München
  8. Linux | Schulung | 7. – 9. Mai | Nürnberg
  9. Elastic Stack | Schulung | 14. – 16. Mai | Nürnberg
  10. Icinga 2 / Puppet | Workshop | 21. – 22. Mai | Nürnberg
  11. Graphite & Grafana | Schulung | 21. – 22. Mai | Nürnberg
  12. Graylog | Schulung | 28. – 29. Mai | Nürnberg
  13. Icinga Web Modul-Entwicklung | Workshop | 28. – 29. Mai | Nürnberg

Unsere kompetenten Trainer arbeiten als Praktiker tagtäglich mit den entsprechenden Open Source Anwendungen und kennen sie im Kundeneinsatz. Im Preis der Schulungen enthalten sind umfangreiche Unterlagen. In allen Veranstaltungen versorgen wir euch mit reichlich Verpflegung, Leih-Notebooks und Wifi.

Special Rabatt für unsere Fans

Und für all unsere treuen Blog-Leser*innen haben wir ein extra Goodie: Du erhältst 15% Rabatt für Deine Anmeldung bis zum 28. Februar! Melde dich jetzt an!

Zur Übersicht über alle Trainings geht’s hier.

Julia Hornung
Julia Hornung
Marketing Manager

Julia ist seit Juni 2018 Mitglied der NETWAYS Family. Vor ihrer Zeit in unserem Marketing Team hat sie als Journalistin und in der freien Theaterszene gearbeitet. Ihre Leidenschaft gilt gutem Storytelling, klarer Sprache und ausgefeilten Texten. Privat widmet sie sich dem Klettern und ihrer Ausbildung zur Yogalehrerin.