Seite wählen

Ergebnisse für " die zeit ist reif "

Eine eindrucksvolle Technikwoche 2023

Darum geht’s bei der Technikwoche

Alle NETWAYS Azubis aus dem ersten Lehrjahr sowie die kaufmännischen Azubinen aus dem zweiten Lehrjahr durften vor einigen Wochen an der alljährlichen Technikwoche teilnehmen. Hier wurden uns an mehreren Tagen die technischen Abteilungen bei NETWAYS und deren Aufgaben, mit denen sie tagtäglich beschäftigt sind, näher gebracht.

 

Tag 1: ITSM

Am ersten Tag der Technikwoche haben uns Marius, Tim und Andre ihre Tätigkeiten näher gebracht. Sie sind für die Technik im Haus zuständig und kümmern sich darum, dass die ganze Hard- und Software, welche von unserem Kolleg:innen benutzt wird, so funktioniert wie sie funktionieren sollte. Anmeldedaten, Interne-Datenbanken Mailserver etc. werden von ITSM angelegt und gepflegt.

Sie sind ebenfalls für die Sicherheit der Firma zuständig und tragen dadurch hohe Verantwortung. Damit Mitarbeiter:innen auch die Möglichkeit haben, aus dem Homeoffice zu arbeiten, bietet uns das VPN-System an, auch von daheim aus auf firmeninterne Programme, Systeme und Apps zu zugreifen.

 

Tag 2: NMS

Am zweiten Tag hat sich die Abteilung NMS bei uns vorgestellt. Sebastian, Head von NMS, hat uns Einblicke in die einzelnen Tätigkeitsbereiche gegeben. NMS unterteilt sich in NWS und NMS. Das Team NWS kümmert sich rund um Webanwendungen, das wichtigste dabei ist die Pflege der einzelnen Apps. Die sogenannten MyEngineers bei NMS kümmern sich um den Support der Kunden. Hier betreuen sie bestehende Kunden oder bieten komplette Lösungen rund um Cloud, Datenbanken, Kubernetes und vieles mehr an.

Nachdem uns die einzelnen Aufgaben und Produkte gezeigt wurden, hat Sebastian uns das Rechenzentrum gezeigt und etwas über die Netzwerk-Architektur darin erklärt. Hierbei ging er auf Themen wie Ausfallsicherheit, Backups, virtuelle Netzwerke etc. ein.

 

Tag 3: Icinga

Am Mittwoch hatte Blerim uns das Team und die Aufgaben im Bereich Icinga vorgestellt. Hier wurden wir Azubis in kleineren Grüppchen aufgeteilt und durften an einem Projekt arbeiten: Wir sollten alle für das Icinga Camp Amsterdam jeweils einen kleinen Teil bearbeiten. Evelyn hatte z.B. den Verkaufsteil übernommen. Ihre Aufgabe war es, zu überlegen, wie sie am besten Tickets fürs Icinga Camp verkauft bzw. wie die Tickets an die Kunden besser dargestellt werden können.

Außerdem haben Valeria, Leander und Apostolos versucht, Icinga zu installieren und mussten dabei auf ziemlich vieles achten.

Jan und Christoph haben ein Icinga Plugin zur Erreichbarkeit von Webseiten getestet.

Ich hatte die Aufgabe, mich mit der Rechnungsstellung auseinander zu setzen und überlegte,  welche Kosten für diese Veranstaltung alle so anfallen würden.

 

Tag 4: NPS

Am letzten Tag wurde uns die Abteilung NPS vorgestellt. Head dieses Bereichs ist Tobias Redel. Unterteilt wird das gesamte Team nochmal in Development, Operation Planung und Support. Hier wurden uns zunächst alle Kolleg: innen aus den jeweiligen Bereichen vorgestellt und jegliche Consulting Produkte näher erklärt.

Im Support werden Kundenanfragen bearbeitet. Z.B. über Softwarelösungen mit Icinga oder anderen Tools. Operation bzw. Betriebsunterstützung bedeutet, dass ein Mitarbeiter in einem bestehenden Betrieb aktiv eingesetzt wird. Für das Consulting eines Produktes wird zunächst erstmal ein Konzept erstellt, mit einer gewissen Zeiteinschätzung. Dieses wird dem Kunden angeboten und nach einer Annahme wird dieses an NPS weitergeleitet. Hier findet die Terminplanung statt und die Umsetzung der Projekte nach Kundenwünschen.

 

Vielen Dank dafür dass, wir die Möglichkeit bekommen hatten, nähere Einblicke in die jeweiligen technischen Bereiche zu werfen. Wir bedanken uns ebenfalls bei den Kolleg:innen, dass sie sich Zeit für uns genommen haben!

Luxshana Sinnathurai
Luxshana Sinnathurai
Accountant

Luxshana ist seit September 2021 bei NETWAYS. Sie macht im Bereich Finance & Administration ihre Ausbildung zur Kauffrau für Büromanagement. Sie ist ein Familienmensch und verbringt ihre Freizeit gerne mit Ihrer Familie und Verwandtschaft. Sei es gemeinsam zu kochen oder den kleineren mit Ihren Hausaufgaben zu helfen.

Unsere neuen Open Source Trainingskategorien

Um Dich in unserer Welt der Open-Source Schulungen jetzt noch besser zurecht finden zu können, haben wir unsere Webseite um Kategorieseiten erweitert. Wirf gleich mal einen Blick darauf, und stöbere in Deinen Lieblingsbereichen.
Erfahre jetzt, was zu unserem Trainings-Portfolio dazu gehört und wähle, ob Du Online oder lieber vor Ort an unseren Trainings teilnehmen möchtest. Lass uns Dein Partner sein, wir begleiten Dich bei der Optimierung Deiner IT Infrastruktur!

Brauchst Du eine professionelle Unterstützung bei Automation, Monitoring & Metrics, Logging & Security, Operations oder DevOps & Container? Erfahre mehr, welche Schulungen wir in diesen Bereichen für Dich haben!

 

Monitoring & Metrics

Für jede gesunde IT-Umgebung ist es wichtig, die Verfügbarkeit aller Komponenten zu jeder Zeit zu garantieren. Verfügbarkeitsmonitoring ist ein absolutes Muss, um eine funktionierende Infrastruktur in Deinem Unternehmen sicherzustellen. Durch das Sammeln von Metriken behältst Du den Überblick und grafische Ansichten bieten Dir Aussagekraft. Profitiere von diesen Daten und optimiere Deine Prozesse!

Lerne in unseren Monitoring & Metrics Schulungen alles über die Open Source Tools Icinga, Prometheus, InfluxDB und Grafana und erfahre, wie sie Deinen Arbeitsalltag erleichtern und nachhaltig verbessern werden.

Unsere Monitoring & Metrics Schulungen

Prometheus Fundamentals

Icinga 2 Fundamentals

Icinga 2 Advanced

InfluxDB & Grafana

 

Automation

Automatisierung im IT-Bereich zielt darauf ab, effizientere Prozesse zu etablieren. Mit der steigenden Virtualisierung und dem Einsatz von Cloud-Diensten wird die Anzahl der von IT-Administratoren zu verwaltenden Systeme immer höher. Die Herausforderung besteht darin diese enorme Menge an Aufgaben zu bewältigen.

Lerne mit unseren Automation Trainings alles, was Du wissen musst, um Dich dieser Herausforderung in Zukunft zu stellen und Deinen Arbeitsalltag durch Automatisierung erheblich zu erleichtern.

Unsere Automation Trainings

Ansible Fundamentals

Ansible Advanced

Terraform

Puppet

Foreman

 

DevOps & Container

DevOps ist eine Unternehmenskultur, die die Zusammenarbeit zwischen Softwareentwicklung und IT-Operations verbessern will und dafür gemeinsame Prozesse und Werkzeuge wie GitLab nutzt. Gleichzeitig hat sich Kubernetes als Standard-Plattform für das Container-Deployment etabliert und genießt eine große Benutzerbasis.

Unser weitreichendes und profundes Praxiswissen geben wir in unseren DevOps & Container Schulungen an Dich weiter. Egal ob GitLab, Kubernetes oder ArgoCD – wir machen Dich zum Profi!

Unsere DevOps & Container Schulungen

GitLab Fundamentals

Kubernetes Fundamentals

ArgoCD mit Kubernetes

 

Logging & Security

Logging beschreibt im IT-Umfeld das automatische Protokollieren von Informationen rund um den Betrieb von IT-Systemen. Logeinträge fallen auf allen überwachten Systemen an. Beim Logging werden diese zentral gesammelt, dabei aufbereitet und durchsuchbar gemacht. Dank Logging weißt Du, was läuft und kannst bei konkreten Vorfällen zielgerichtet eingreifen. In diesem Bereich bezieht sich Security darauf, das Logmanagement zu ergänzen, um mögliche Sicherheitsvorfälle zu erkennen.

Verschaffe Dir mithilfe unserer Logging Schulungen eine Übersicht über die Analysemöglichkeiten für Deine ganze Umgebung. Verfolge Abläufe noch genauer und erkenne Zusammenhänge noch besser!

Unsere Logging & Security Schulungen

Graylog

Elastic Stack

 

Operations

IT-Operations umfasst alle Komponenten und Maßnahmen, die notwendig sind, um die moderne IT- Infrastruktur in Unternehmen kontinuierlich und reibungslos am Laufen zu halten. Die Aufgaben des IT-Betriebs können sehr vielseitig und anspruchsvoll sein. Mit dem richtigen Wissen, den richtigen Werkzeugen und der richtigen Erfahrung lassen sie sich jedoch leichter bewältigen.

In unseren NETWAYS Operations-Trainings sind wir spezialisiert auf Linux und PostgreSQL. Sie sind als Betriebssystem und Datenbank maßgeblich für den erfolgreichen Betrieb Deiner IT-Infrastruktur auf Basis von Open Source.

Unsere Operations Schulungen

Linux

PostgreSQL Fundamentals

PostgreSQL Advanced

 

Erfahre mehr über unser Trainingsangebot und schaue in den Trainingskalender rein. Du hast auch die Möglichkeit, unseren Kalender zu abonnieren und rechtzeitig über anstehende Trainings zu erfahren.
Profitiere von unserem speziellen Teamangebot. Nimm Deine Kollegen mit zur Schulung und erhalte satte Rabatte!

Ingrida Leskova
Ingrida Leskova
Marketing Specialist

Ingrida ist seit Mai 2023 im NETWAYS Marketingteam tätig. Sie hat vor kurzem ihr Masterstudium in Marketing Management abgeschlossen und unterstützt uns als Marketing-Spezialistin mit ihrem Wissen in den Bereichen Marketing-Konzeption, Online-Marketing und Branding. Ingrida kann sich fließend in vier Sprachen unterhalten und in zwei weiteren Sprachen auf fortgeschrittenem Niveau. In ihrer Freizeit geht sie gerne schwimmen und bei schönem Wetter wandern oder Inline-Skates fahren. Sie liebt internationale Küche und probiert gern neue Rezepte aus.

Open-Source-Schulungen und Workshops – dein Erfolg mit Icinga, Ansible und Co.

This entry is part 3 of 4 in the series So geht IT Consulting

Moderne IT entwickelt sich in unglaublichem Tempo weiter. Produkte und Software, die vor drei Jahren noch Standard waren, sind heute vielleicht schon Schnee von gestern. Um hier nicht den Überblick zu verlieren und immer auf dem neuesten Stand zu sein, bietet NETWAYS wie viele andere Open Source Dienstleister auch Trainings und Workshops an. Doch was genau unterscheidet diese beiden Modelle eigentlich voneinander? Und welche davon ist vielleicht die Richtige für dich?

Als Senior Manager Services ist Markus Waldmüller zusammen mit seinem Team unter anderem für die Einplanung unserer Open Source Spezialist:innen als (Co-)Trainer:innen verantwortlich. Er gibt dir einen Einblick, was wir bei NETWAYS Professional Services unter Trainings und Workshops verstehen, welche Voraussetzungen du mitbringen solltest und wie wir mit individuellen Anfragen und Wünschen umgehen.

Was sind eigentlich Anwenderschulungen?

Anwenderschulungen bei NETWAYS bezeichnen wir intern in der Regel nur kurz als Schulungen bzw. Trainings. Wir bieten sie zu verschiedenen Open Source Anwendungen an, zum Beispiel Ansible, Icinga, Prometheus oder Kubernetes.

Schulungen bieten wir über unsere Webseite in regelmäßigen Abständen zur öffentlichen Teilnahme an. Das heißt, dass sich das Teilnehmerfeld sehr oft aus Menschen aus verschiedenen Firmen oder Organisationen mit unterschiedlichem Hintergrund zusammensetzt. Allerdings ist die Sprache hierbei auf Deutsch begrenzt. Außerdem gibt es seit der Pandemie bei uns eine gesunde Mischung aus Online-Trainings und Schulungen vor Ort.
Für diese Vor-Ort-Termine haben wir hier in Nürnberg ein eigenes NETWAYS Schulungszentrum, das sogenannte „Kesselhaus“. Dieses kann neben den Schulungen auch für andere Veranstaltungen gebucht werden. Spätestens hier findet vor, während und nach der Schulung – nicht zuletzt auch bei der gemeinsamen und reichlichen Nahrungsaufnahme – auch ein reger Austausch zwischen den Teilnehmer:innen statt. Du lernst also nicht nur den Umgang mit der von dir gewählten Anwendung, sondern kannst zeitgleich wertvolle Kontakte knüpfen. Die Möglichkeit, in besonderen Maß von einer Teilnahme zu profitieren, ist jederzeit vorhanden. Wenn deine Firma oder Organisation gleich mehrere Teilnehmer:innen zur Schulung schicken möchte, bieten wir hierfür entsprechende Staffelungen für Rabattcodes an.

Das besondere Merkmal einer NETWAYS Schulung ist, dass sie einen roten Faden hat und einem vorgegebenen Stoff folgt. So ist sichergestellt, dass alle Teilnehmer:innen der Schulung dieselben Grundinhalte und Best Practices vermittelt bekommen und darauf aufbauen können. Bei unseren Schulungen haben wir stets einen hohen Anteil an praktischen Übungen, sodass du dein neu erlangtes Wissen durch Übungen prüfen und vertiefen kannst. Wenn du einmal an einer Stelle nicht weiter kommst, bekommst Du Ad-hoc Hilfestellungen und Fragen können am spezifischen Problem beantwortet werden.
Findet die Schulung vor Ort statt, so erhalten die Teilnehmer:innen die Schulungsunterlagen (inkl. Aufgaben und Musterlösungen) auch noch mal in ausgedruckter Form. Bei Online-Terminen erfolgt dies zumindest in digitaler Form als PDF.

Interesse und Neugier, den Rest erledigen wir

Ein weiterer Aspekt ist, dass alle unsere Trainer:innen aus der Praxis stammen und den fest vorgegebenen Schulungsstoff sowie Pausen- und Abendgespräche auch mit großem Wissen ergänzen können. Damit diese Wissensvermittlung auch gewährleistet bleibt und unterschiedliche Vorkenntnisse bzw. Verhaltens- oder Arbeitsweisen der Teilnehmer:innen nicht zum Problem werden, versuchen wir die Anzahl auf ca. 12 Personen zu begrenzen. Bei Vor-Ort-Terminen setzen wir deswegen ab 6 Teilnehmern eine:n zusätzlichen Co-Trainer:in ein, dessen Hauptaufgabe darin besteht, dich und die anderen Schulungsteilnehmer:innen entsprechend zu unterstützen, damit ihr den Schulungsinhalten weiter folgen und aufnehmen könnt.

Für die Vor-Ort-Schulungen wird Dir ein eigenes Schulungsnotebook (inkl. entsprechender Peripherie) zur Verfügung gestellt. Dieses verfügt über Internetzugriff und dient dazu, die praktischen Übungen in einer vorgegebenen Umgebung durchführen zu können. Bei vielen Schulungen arbeiten wir inzwischen nicht mehr auf den Notebooks, sondern mit virtuellen Maschinen. Dabei bekommst du (je nach Schulung) eine oder mehrere eigene VMs um dort autark in Deinem eigenen Kosmos arbeiten zu können. Bei Online-Trainings verzichten wir natürlich auf die Bereitstellung eigener Hardware, jedoch bekommst du hier mindestens eine eigene VM für die Dauer der Schulung.

Individuelle Schulungen: wir setzen Deine Wünsche um

Neben den Schulungen an den öffentlichen Terminen bieten wir dir und deinem Unternehmen auf Bestellung auch individuell abgestimmte Schulungstermine und bei Bedarf auch auf Englisch an. Auch hier unterscheiden wir zwischen Online und vor Ort. Zu Vor-Ort-Terminen bei Kunden, sog. „Inhouse-Schulungen„. Wir bringen unser Schulungsequipment mit in Dein Unternehmen oder senden es im Vorfeld, je nach Anreise des bzw. der Trainer:innen.
So kannst du auch hier ohne Restriktionen auf dem Schulungsnotebook arbeiten. Wir mussten leider schon oft die Erfahrung machen, dass sich Teilnehmer mit eigener Hardware aufgrund von Sicherheitsvorkehrungen nicht bzw. nur mit viel Aufwand auf den Trainings-VM’s oder deren Interfaces einloggen und arbeiten konnten. Außerdem steigt die Gefahr, das die Wissensvermittlung durch Mails oder Chats unterbrochen oder zumindest gestört werden kann. Mit unserer eigenen, speziell auf das Thema vorbereiteten Hardware stellen wir sicher, das du ein funktionierendes und getestetes Notebook hast und Störfälle soweit möglich minimiert werden können.
Natürlich ist dazu bzgl. des Schulungsraumes oder benötigtem Internetzugriff im Vorfeld eine höhere Abstimmung notwendig.

Als Sonderform des NETWAYS Schulungsangebots bleiben noch individuelle Schulungen zu erwähnen. Diese stellen die absolute Ausnahme dar und werden eher selten bestellt. Eine individuelle Schulung zeichnet sich, wie der Name schon vermuten lässt, durch individuelle Schulungsinhalte aus. Das heißt, wir erstellen in deinem Auftrag die Schulung nach Deinen Themenwünschen. Da bereits eine 1-2 tägige Schulung mehrere Wochen an Vorbereitung und dem eigentlichen Schreiben der Schulung an Aufwand bedeutet, ist es natürlich eine Frage der Kosten und ob nicht doch eine Schulung aus unserem bestehenden Portfolio Kosten-Nutzen-technisch gesehen besser geeignet ist. Nicht zuletzt wollen wir bei unseren Schulungen ja sowieso bestmöglich Wissen und Best Practices vermitteln.

Eine andere, teilweise gewünschte Variante ist das Überspringen mancher Themen, das sogenannte „Picking„. Viele unserer Schulungen folgen einem bestimmten Muster und die jeweiligen Kapitel bauen aufeinander auf. Ein Weglassen eines Kapitels würde dazu führen, das auch der Rest der Schulung nicht ohne Weiteres behandelt werden kann oder zumindest Lücken im Schulungsstoff entstehen.
Vielleicht mag es für dich auf den ersten Blick sinnvoll sein, für dich eher nicht relevante Teile auszulassen, um somit die Gesamtzeit der Schulung zu kürzen, auf den zweiten Blick hat bei unseren Schulungen jedoch jedes Kapitel seine Daseinsberechtigung.
Es kann durchaus vorkommen, dass du nicht alle Teile aus einem Kapitel oder das Ganze sofort in deiner jeweiligen IT-Umgebung brauchst, es kann aber natürlich durchaus sein, das dies zukünftig mal der Fall sein wird. Zumindest lassen sich daraus auch Lösungen für ähnliche oder andere Fälle herleiten.

Erst Fundamentals dann Advanced – unsere Empfehlung

Wenn eine Schulung mehrere Level hat, z.B. „Icinga 2 Fundamentals“ und „Icinga 2 Advanced“ empfehlen (und erwarten) wir das du als Teilnehmer der Advanced-Schulung zuvor auch die Fundamentals-Schulung besucht hast. Die Schulungen bauen aufeinander auf und klar, in der Fundamentals-Schulung vermitteln wir auch Grundlagen, die manche Advanced-Interessenten zum teil schon haben mögen.
Durch den sehr hohen praktischen Anteil orientiert an Best Practices fehlen Ihnen aber vielleicht und erfahrungsgemäß auch einige Dinge, die wir in der Advanced-Schulung voraussetzen. Das hat zur Folge, dass der Stoff aus der Fundamentals nachgearbeitet werden muss und dieser zeitliche Mehraufwand ist in der Advanced-Schulung nicht vorgesehen. Warum wir das so handhaben? Eine regelmäßige Nachbearbeitung von Wissenslücken aus einer Grundlagenschulung würde dazu führen das andere relevante Teile nicht mit der nötigen Zeit behandelt werden können.
Und das möchten wir nicht zuletzt auch zum Wohl anderer Schulungsteilnehmer vermeiden.

Nichtsdestotrotz versuchen natürlich alle deiner individuellen Wünsche bestmöglich zu bedienen und darauf einzugehen. Unser Schulungsportfolio ändert sich von Zeit zu Zeit, weswegen wir auf bestehenden Schulungsstoff zurückgreifen können, auch wenn wir die Schulung dazu aktuell nicht auf der Webseite anbieten. Auch im Rahmen unserer internen Ausbildung haben wir einige Schulungen, die es (noch) nicht in unser offizielles Angebot und damit auf die Webseite geschafft haben.
Wenn du also den Wunsch nach einer bestimmten Schulung hast, sie aber aktuell nicht auf unserer Homepage sehen kannst, schreib uns einfach eine kurze Mail mit deinem Anliegen. In den meisten Fällen finden wir eine Lösung!

Das wichtigste Wissen kurz und kompakt – unsere Workshops

Falls eine mehrtägige Schulung deinen Zeit- oder Budgetrahmen übersteigt, haben wir eine Lösung für dich: unsere Workshops. Meistens veranstalten wir diese im Rahmen unserer Fachkonferenzen wie der Open Source Monitoring Conference oder der Stackconf.
Im Gegensatz zu unseren Schulungen gibt es für die Workshops keine ausführlich ausgefertigten Unterlagen. Stattdessen erhältst du in vielen Fällen Handouts mit den wichtigsten Eckdaten und Erkenntnissen. Dennoch folgen auch unsere Workshops einer vorgegebenen Linie. Diese kann jedoch von dir und anderen Teilnehmer:innen beeinflusst werden.
Beispiel gefällig? Das Teilnehmer:innenfeld hat bereits die Grundlagen verinnerlicht, aber spezifische Fragen zu bestimmten Aspekten einer Anwendung. Unsere erfahrenen Trainer:innen passen den Workshop an einigen Stellen auf Fragen und Wissenstand an. So kommst du immer auf Deine Kosten.

Dieser Ansatz kann bei unseren Schulungen meistens aus Zeitgründen nicht verfolgt werden. Hier kann, wenn dann nur kurz auf das zusätzliche Thema eingegangen werden.
Eine weitere Besonderheit unserer Workshops ist, dass sie ausschließlich vor Ort stattfinden. Ähnlich wie bei Schulungen setzen wir auf ein gesundes Maß an Teilnehmer:innen und setzen bei Bedarf eine:n zweiten Trainer:in ein.
Zur Open Source Enterprise Monitoring Software Icinga bieten wir derzeit jedoch keine Workshops an, andere Workshops werden im Rahmen der jeweiligen Konferenz publiziert.

Ich hoffe, ich konnte dir einen guten und vor allem spannenden Einblick in unser Schulungsangebot geben und was dich als Teilnehmer:in bei NETWAYS erwartet. Wir erweitern und aktualisieren regelmäßig unser Trainingsangebot. Ich empfehle dir also regelmäßig einen Blick auf unsere aktuelle Trainings-Webseite zu werfen. Ich bin mir sicher, dass das richtige Training für dich und deine Kolleg:innen dabei ist.
Falls du dich jetzt für ein Training interessierst oder weitere Fragen hast, zögere nicht, uns einfach eine kurze Kontaktanfrage zu schicken.

Markus Waldmüller
Markus Waldmüller
Head of Strategic Projects

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Senior Manager Services gelandet. Seit September 2023 kümmert er sich bei der NETWAYS Gruppe um strategische Projekte. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.

Kubernetes 101: So installierst und verwaltest du Anwendungen

This entry is part 4 of 7 in the series Alles rund um Kubernetes

Nachdem wir uns vergangene Woche damit befasst haben, welche Mittel und Wege existieren, um sich ein Cluster für Tests oder die Produktion zu installieren, sind wir nun (hoffentlich) an dem Punkt angekommen, an dem wir erste Anwendungen auf Kubernetes portieren oder neu installieren möchten. Da sich Kubernetes als Containerorchestrator deutlich von „althergebrachten“ Betriebsumgebungen für Anwendungen unterscheidet, ist es nur logisch, dass sich auch Best Practices für die Installation und den Betrieb von Anwendungen unterscheiden. Grob lassen sich die zu beachtenden Gesichtspunkte in 5 Felder unterteilen:

  • Dateisystem vs. Container
  • Monolithen vs. Microservices
  • Stateful vs. Stateless
  • Blackbox vs. Whitebox
  • Monitoring vs. Observability

Diese Felder und ihre Implikationen bedingen einander teilweise. Fangen wir also mit dem evtl. offensichtlichsten an – der Installationsmethodik.

Dateisystem vs. Container

Der größte und für viele auch folgenschwerste Unterschied zwischen Anwendungen, die in Kubernetes laufen ,und solchen, die auf VMs oder physischen Servern installiert werden, ist Containerisierung der Workloads. Jede Anwendung muss als Containerimage definiert, gebaut, gesichert und verteilt werden – dies erfordert oftmals eine Umstellung bestehender Abläufe für Tests, Bau und Verteilung der Software, bspw. in den CI/CD-Pipelines der Entwickler- und DevOps-Teams. Des Weiteren muss oftmals neue Infrastruktur eingerichtet werden, um etwa Imagescans oder eine eigene Container- und Artefaktregistry für das Unternehmen bereitstellen zu können.

Des Weiteren gilt es natürlich, entsprechendes Know-How in den Teams aufzubauen – nicht jede/r Entwickler/in hat in der Vergangenheit mit Docker und containerisierten Anwendungen gearbeitet, geschweige denn entwickelt. Auch wenn Tools wie Docker Desktop oder Podman Desktop den Einstieg heutzutage erleichtern, müssen Mindset, Praktiken und Routinen oftmals erst aufgebaut werden. Gleiches gilt für die Handhabe der Containerimages nach dem Bau: Wie werden Sie gespeichert und für Pipelines und Cluster verfügbar gemacht? Nutzt man hierfür eine offene Plattform (GitHub Container Registry, DockerHub), eine SaaS-Lösung (Artifactory), oder baut eigene Infrastruktur auf (Harbor)?
Mit diesen möglichen Problematiken sollte man sich im Bestfall bereits im Vorfeld befassen und aufkommende Fragen initial klären, um einen möglichst reibungslosen Umstieg auf Kubernetes für alle beteiligten Teams zu gewährleisten.

Monolithen vs. Microservices

Eine direkte Folge der Containerisierung von Anwendungen ist die Transition von sog. Monolithen zu Microservices. Der Grund hierfür ist klar: In einer Umgebung, in der Softwarereleases oft mehrmals täglich stattfinden und ein Orchestrator installierte Anwendungen nach Belieben skalieren, verwerfen oder an anderer Stelle erneut initialisieren kann, sind Anwendungen mit einer Paketgröße von mehreren Gigabyte nicht praktikabel – man möchte schmale Pakete im Bereich von maximal einigen Hundert Megabyte, um flexibel und schnell in Sachen Verteilung und Installation zu sein.

Hierfür ist es gängige Praxis, bestehende Anwendungen umzustrukturieren bzw. bei der Entwicklung neuer Anwendungen bereits in der Designphase auf die spätere Installation als Microservices hinzuwirken, um Monolithen zu vermeiden. Unter einem Monolithen versteht man ein einzelnes Softwarepaket, das sich von Operatoren nur als eine Einheit installieren lässt und keinerlei Flexibilität und Unabhängigkeit seiner Komponenten bietet – alle Bestandteile sind unter der Haube fest miteinander „verdrahtet“. Hat man nun Probleme mit der Performanz eines bestimmten Features (ein sog. Bottleneck) bleibt einem keine andere Wahl, als den gesamten Monolithen zu skalieren – in den meisten Fällen Ressourcenverschwendung.

Viel sinniger wäre es doch, die einzelnen Bestandteile zu trennen – das Ergebnis sind viele verschiedene Microservices, die im Bestfall jeweils nur eine Aufgabe übernehmen. Ein solcher Ansatz ermöglicht die Skalierung einzelner Bestandteile der Anwendung, bspw. des viel frequentierten Webshops, anstatt direkt die gesamte Anwendung skalieren zu müssen. Die Kommunikation der einzelnen Microservices untereinander geschieht in solchen Szenarien über das (clusterinterne) Netzwerk bspw. via HTTP oder gRPC.

Stateful vs. Stateless

Eine direkte Folge der Umsetzung von Anwendungen als Microservices wiederum ist eine Transition von zustandsabhängigen (stateful) zu größtenteils zustandslosen (stateless) Anwendungen – während die meisten Monolithen zustandsabhängig sind (fast jede nennenswerte Anwendung muss an irgendeinem Punkt Daten persistent speichern können), müssen nur die wenigsten Microservices Daten persistent speichern. In vielen Fällen reicht ein lokaler Cache, bspw. zum Speichern von Nutzersitzungen oder dem Vorhalten von oft angefragten Daten.

Wirkliche Persistenz benötigen nur die Microservices, die sich unmittelbar mit der Verarbeitung und Speicherung von Daten befassen und hierfür bspw. mit rückgelagerten Datenbanken oder Dateisystemen kommunizieren. Mittlerweile gibt es allerdings genug Fallstudien, in denen auch Services wie Blockspeicher oder Datenbanken direkt auf Kubernetes betrieben werden.

Blackbox vs. Whitebox

Neben der Umstellung von „Stateful“ auf „Stateless“ betrifft eine weitere große Veränderung im Design von Anwendungen bestehend aus Microservices den Ansatz ihrer Überwachung: Anstatt lediglich von außen auf die Anwendung zu blicken und evtl. auftretende Symptome einer Fehlfunktion zu erkennen, bspw. durch HTTP-Anfragen an für Nutzer angebotene Webendpunkte (sog. Blackbox-Monitoring), instrumentalisiert man seine Microservices von vornherein so dass man tatsächliche Metriken aus den im Service ablaufenden Prozessen erhält (sog. Whitebox-Monitoring).

Beliebt für die Umsetzung ist hierbei Prometheus, was einen etablierten Standard für Metriken liefert, weit verbreitet ist und Funktionsbibliotheken für die Instrumentalisierung von Code in verschiedenen Programmiersprachen bietet. Prometheus sammelt die Metriken der Services über Webendpunkte ab und speichert sie in einer internen Timeseriesdatenbank (TSDB) ab. Ist Prometheus für euch ein gänzlich unbekannter Begriff, kann ich euch an dieser Stelle wärmstens unser Prometheus Fundamentals Training ans Herz legen, mit dem man in kürzester Zeit relativ vertraut mit Prometheus und seinem Funktionsumfang wird.
Verfolgt man also Whitebox- statt Blackboxmonitoring, hat man die tatsächlichen Metriken seiner Microservices zur Verfügung und kann bei aufkommenden Komplikationen Ursachen statt Symptomen bekämpfen. Des Weiteren können die Metriken zur permanenten Weiterentwicklung und Verbesserung der Serviceperformanzen genutzt werden – eine Win-Win-Situation!

Monitoring vs. Observability

Aufbauend auf dem letzten Absatz zu Blackbox- vs. Whiteboxmonitoring lässt sich die Monitoring-Philosophie im Hinblick auf K8s oder „Cloud-Native“ generell noch vertiefen und erweitern: Man spricht von den Three pillars of observability (Drei Säulen der Beobachtbarkeit/Observability) Metrics, Traces und LogsMetriken werden von Anwendungen und Services selbst bereitgestellt und bieten wie bereits erklärt einen ungetrübten Einblick in das Innenleben einzelner Services. Traces erlauben es, Prozessketten über Servicegrenzen hinweg zu verfolgen und bspw. zu ermitteln, in welchen Stadien der Verarbeitung besonders hohe Latenzen entstehen. Logs ermöglichen die Verarbeitung von Events o.Ä., die von den einzelnen Anwendungen protokolliert werden.

Aus der Fülle an verschiedenen Datentypen und den dafür benötigten Praktiken entsteht die Entwicklung von Monitoring hin zu Observability – es ist nicht mehr ausreichend, lediglich „von außen“ auf seine monolithische Anwendung zu blicken, sondern es gilt, stattdessen in den Services selbst anzusetzen und soviel Informationen wie möglich abzugreifen.
Für alle drei Arten an Beobachtungen gibt es umfangreiches Tooling in der Opensource-Gemeinschaft, das einem hilft, den Überblick über seine Cluster und die darauf betriebenen Anwendungen zu behalten, diese nach und nach zu optimieren und bei Fehlern schnell oder sogar proaktiv reagieren zu können. Auch bei der Einhaltung von Service Level Agreements (SLAs) gegenüber den Kunden oder internen Service Level Agreements (SLAs) hilft eine lückenlose Observability-Strategie.

 

Sollten diese Punkte etwas viel auf einmal gewesen sein oder du bereits absehbare Probleme bei der Umsetzung auf dich zukommen siehst, kann ich euch erneut auf unsere Services rund um Container, DevOps und Kubernetes verweisen – wir sind in vielen der genannten Bereichen bereit, dir mit Rat und Tat zur Seite zu stehen und bei der Umsetzung zu unterstützen. Ansonsten bleibt mir für heute nur, „bis zum nächsten Mal“ zu sagen, wenn wir uns genauer anschauen, wie man Anwendungen auf Kubernetes denn nun im Detail verwaltet und skaliert.

Daniel Bodky
Daniel Bodky
Platform Advocate

Daniel kam nach Abschluss seines Studiums im Oktober 2021 zu NETWAYS und beriet zwei Jahre lang Kunden zu den Themen Icinga2 und Kubernetes, bevor es ihn weiter zu Managed Services zog. Seitdem redet und schreibt er viel über cloud-native Technologien und ihre spannenden Anwendungsfälle und gibt sein Bestes, um Neues und Interessantes rund um Kubernetes zu vermitteln. Nebenher schreibt er in seiner Freizeit kleinere Tools für verschiedenste Einsatzgebiete, nimmt öfters mal ein Buch in die Hand oder widmet sich seinem viel zu großen Berg Lego. In der wärmeren Jahreszeit findet man ihn außerdem oft auf dem Fahrrad oder beim Wandern.

Hochverfügbarkeit bei Datenbanken, wofür ist das gut?

Hallo, ich bin Valeria, Junior-Developerin bei NETWAYS und habe mich lange damit beschäftigt, über welches Thema ich in meinem nächsten Blogpost schreiben soll. Vor Kurzem habe ich an einer MySQL-Schulung von NETWAYS teilgenommen und mich anschließend mit dem Thema der Hochverfügbarkeit bei Datenbanken in einem Projekt auseinandergesetzt. Da ich das Thema sehr interessant fand, möchte ich nun mein Wissen gerne mit Euch teilen.

  • Was bedeutet Hochverfügbarkeit?
  • Warum ist es so wichtig, Daten permanent abrufen zu können?
  • Wie kann man Hochverfügbarkeit gewährleisten?
  • Welche Varianten gibt es?
  • Fazit

 

Was bedeutet Hochverfügbarkeit?

In einer Welt, in der Daten für Unternehmen immer wichtiger werden, ist es entscheidend, dass diese Daten immer verfügbar sind. Abhilfe schafft hier Hochverfügbarkeit oder auch HADR (High Availability and Disaster Recovery). Datenbanken sind demnach so eingerichtet, dass sie selbst bei einem Ausfall eines Servers oder einer anderen kritischen Komponente, unabhängig von äußeren Einflüssen wie Hardwareausfällen, Netzwerkausfällen oder Stromausfällen, weiterhin verfügbar sind.

 

Warum ist es so wichtig, Daten permanent abrufen zu können?

Es gibt einige Bereiche, in denen Hochverfügbarkeit von Daten nicht mehr wegzudenken ist. Stell Dir vor, Du betreibst eine große E-Commerce-Plattform, welche für ein paar Stunden nicht abrufbar ist. Was passiert?

Der fehlende Zugriff auf Unternehmensdaten kann einen massiven Umsatzverlust bedeuten. Wenn ein Kunde nicht auf seine Kundendaten zugreifen kann, kann er keine Bestellungen aufgeben, wodurch potenzielle Einnahmen verloren gehen.

Dies führt in der Regel auch zu einer sinkenden Kundenzufriedenheit und/oder möglicherweise sogar zu Kundenverlusten. Wenn ein Unternehmen nicht in der Lage ist, seinen Kunden einen effektiven und reibungslosen Service zu bieten, wird er es schwer haben, neue Kunden zu gewinnen.

Wenn ein Kunde die Webseite nicht aufrufen kann, wird er sich mit großer Wahrscheinlichkeit auf die Suche nach einer anderen Webseite machen, was die Chance diesen Kunden zu gewinnen zunichte macht.

In diesem Beispiel ging es „nur“ um Verluste, die mit einer Minderung des Umsatzes einhergehen. Doch wie sieht es in anderen Bereichen aus?

Wenn Datenbanken im Bereich autonomer Fahrzeuge ausfallen, kann dies schwerwiegende Konsequenzen haben. Zum Beispiel kann es dazu führen, dass die autonomen Fahrzeuge nicht mehr in der Lage sind, ihre Umgebung korrekt wahrzunehmen und somit Unfälle oder andere sicherheitsrelevante Vorfälle verursachen.

Auch könnten wichtige Informationen wie Verkehrsdaten, Wetterinformationen oder Straßenbedingungen nicht mehr verfügbar sein, was die Sicherheit und Zuverlässigkeit der autonomen Fahrzeuge beeinträchtigen würde. Zudem könnten Service- und Wartungsprozesse beeinträchtigt werden, was zu Verzögerungen oder Ausfällen führen könnte.

Auch im Gesundheitswesen, Flugverkehr, Energieversorgung, Finanzdienstleistungen, Sicherheitsbehörden ect. spielt Hochverfügbarkeit eine große Rolle.

 

Wie kann man Hochverfügbarkeit gewährleisten?

  1. Vermeidung eines Single Point of Failure (SPoF). Dies beschreibt eine Komponente in einem System, bei deren Ausfall das gesamte System ausfallen würde. Ein Beispiel hierfür wäre ein Server, auf dem eine Anwendung läuft. Wenn dieser Server ausfällt, ist die Anwendung nicht mehr verfügbar.
  2. Redundanz integrieren. Dadurch wird sichergestellt, dass eine Backup-Komponente einspringen kann, falls eine Komponente ausfällt. Es ist dabei wichtig, dass ein zuverlässiges Crossover oder Failover gewährleistet ist, um einen Wechsel von der ausgefallenen Komponente zur Backup-Komponente ohne Datenverlust oder Leistungseinbußen zu ermöglichen.
  3. Monitoring. Um die Erkennbarkeit von Ausfällen zu gewährleisten, sollten Systeme über Mechanismen verfügen, um Fehler automatisch zu erkennen und zu beheben. Es sollten auch eingebaute Mechanismen zur Vermeidung von Fehlern mit gemeinsamer Ursache vorhanden sein, bei denen mehrere Komponenten gleichzeitig ausfallen können. Dadurch kann sichergestellt werden, dass Ausfälle schnell erkannt und behoben werden können, um eine schnelle Wiederherstellung des Systems zu gewährleisten.

 

Welche Varianten für Hochverfügbarkeitslösungen bei Datenbanken gibt es?

Ein häufig verwendetes Konzept ist die Verwendung von Redundanz und Replikation. Dabei werden die Daten auf mehreren Servern repliziert. Im Falle eines Serverausfalls kann ein anderer Server sofort einspringen und die Daten bereitstellen.

Es gibt zwei Arten von Replikationen: Master-Slave- und Multi-Master-Replikationen.

Bei einer Master-Slave-Replikation wird der Master-Server als Hauptserver betrachtet welcher alle Zugriffsverhältnisse beherrscht. Der Slave-Server stellt nur Lese-Zugriff zur Verfügung. Das bedeutet, dass die Suchlast auf den Slave-Servern verteilt werden kann.

Kommt es jedoch zu einem Ausfall des Master-Servers, kann dies zu einer Unterbrechung des Schreibzugriffs führen, da kein Knoten als neuer Masterknoten fungieren kann, bis der ursprüngliche Masterknoten wieder verfügbar ist. Infolgedessen ist der Masterknoten ein Single Point of Failure, der das gesamte System beeinträchtigen kann.

Bei einer Master-Slave-Kombination sollte insbesondere sichergestellt werden, das der Master-Server die indizierende Datenmenge auch bewältigen kann. Wenn große Datenmengen zu indizieren sind, empfiehlt es sich dann die Indizes aufzuteilen und mehrere Master-Server einzusetzen.

Bei einer Multi-Master-Replikation sind alle Server gleichwertig und replizieren Daten untereinander. Wenn ein Server ausfällt, übernehmen die verbleibenden Server seine Aufgaben. Doch hier wird es kniffelig. Wenn alle Server gleiches Stimmrecht haben, was passiert wenn mehrere Server an der selben Datei zeitgleich eine Änderung vornehmen?

Es kann zu einem „Split-Brain“ kommen. Jeder Knoten glaubt, dass er der Hauptknoten ist, was zu Inkonsistenzen und Datenverlust führen kann. Diese müssen manuell aufgelöst werden, bevor die Änderungen an alle Knoten weitergeleitet werden und sich der Cluster abschaltet.

Um dies zu vermeiden wird immer eine ungerade Anzahl an Knoten empfohlen, damit ein Quorum (eine Mehrheit der verfügbaren Knoten) bestimmt werden kann. Wenn beispielsweise ein Cluster aus fünf Knoten besteht, würde das Quorum aus mindestens drei Knoten bestehen. Wenn das Quorum unterschritten wird, kann es zu einem Ausfall des Clusters kommen.

Ein Quorum stellt somit sicher, dass immer eine ausreichende Anzahl von Knoten verfügbar ist, um eine Abstimmung über Datenänderungen durchzuführen.

Zudem sind Multi-Master-Systeme in der Regel etwas komplexer als Master-Slave-Systeme und erfordern mehr Konfiguration und Wartung, was zu höheren Betriebskosten führen kann.

Welche der Varianten genutzt wird, hängt letztendlich von den spezifischen Anforderungen und Bedürfnissen des Datenbanksystems ab. Wenn die Anwendung eine hohe Schreiblast aufweist und eine hohe Verfügbarkeit erfordert, kann eine Multi-Master-Replikation bevorzugt werden, da sie eine effiziente Lastverteilung und eine schnelle Wiederherstellung nach einem Ausfall ermöglicht. Wenn jedoch die Schreiblast nicht so hoch ist und die Konsistenz der Daten wichtiger ist als die Verfügbarkeit, kann eine Master-Slave-Replikation bevorzugt werden, da sie eine strengere Konsistenz der Daten gewährleistet.

Fazit:

Die Bedeutung von Hochverfügbarkeit nimmt in der heutigen Zeit immer mehr zu, da die Abhängigkeit von Daten und Systemen in allen Bereichen des Lebens und der Wirtschaft zunimmt. Unternehmen müssen in der Lage sein, ihre Daten und Anwendungen rund um die Uhr zu nutzen, um wettbewerbsfähig zu bleiben und Kundenbedürfnisse zu erfüllen. Dies gilt nicht nur für große Unternehmen, sondern auch für kleine und mittelständische Unternehmen, die auf stabile und verlässliche IT-Infrastrukturen angewiesen sind. Zudem wird die Verfügbarkeit von Daten auch in immer mehr Bereichen des täglichen Lebens wichtiger, beispielsweise im Gesundheitswesen oder in der öffentlichen Verwaltung.

Valeria Thiele
Valeria Thiele
Junior Developer

Valeria unterstützt seit September 2022 das NETWAYS Managed Services Team. Als Auszubildende Fachinformatikerin für Anwendungsentwicklung packt sie stets der Ehrgeiz, etwas zu programmieren. Sie ist aber auch sehr gespannt und neugierig, was sie in ihrer Ausbildung noch alles erwarten wird. In ihrer Freizeit findet man sie nahezu überall: auf dem Bike in den Bergen, am Piano spielend, nächtelang Zocken oder Netflixen, auf Wanderwegen, in Museen interessante Dinge entdecken oder auf dem Wasser im Kajak. Sie ist einfach immer wieder auf der Suche nach neuen Entdeckungen und Abenteuern, digital wie analog, offline wie auch online.