Effective DevOps

Effective DevOps ist heute kaum mehr aus der modernen IT wegzudenken. Die alten Konzepte basieren häufig auf monolithischen Applikationen in der sich dann eine oder mehrere Personen als Experte(n) auskannten. Die Auseindersetzung mit den klassischen onPremises-Architekturen, wie Server, Netzwerke und Firewalls usw. war häufig nicht notwendig, da sich die klassischen Administratoren darum kümmerten. Die meisten Monolithen hatten einen großen Nachteil. Diese konnten nur vertikal Skalieren, d.h. bei Ressourcen- oder Performanzproblemen wurde das Problem mit noch größeren Maschinen gelöst. Dies bdeutete mehr CPU, mehr RAM, mehr Speicher. Jede Erweiterung bedeutete einen hohen zeitlichen Aufwand durch Abstimmung, Klärung der Kostenübernahme, Bestellung, Lieferung, Einbau und Installation/Migration.

Neuere Technologien skalieren horizontal besser. So kann die gleiche Applikation mehrfach in einem Cluster ausgeführt werde und über einen Loadbalancer angesprochen werden. Dies bedeutet eine höhere Ausfallsicherheit bis zur Hochverfügbarkeit, da einzelne Knoten ausfallen dürfen ohne gleich das Gesamtsysteme zu beeinträchtigen. Die Erweiterung um weiterer Ressourcen ist so in Sekundenschnelle möglich, da die gleichen Maschinen einfach kopiert und in den Loadbalancer eingehängt werden. Im optimalen Fall orientiert sich die Anzahl der Maschinen im Cluster an der Nutzungsnotwendigkeit: nachts laufen weniger, tagsüber aber mehr.

Die Cloud bietet für diesen Ansatz die beste Umgebung. Nur hier können Ressourcen einfach und in sekundenschnelle “zurückgegeben” und wieder “bestellt” wdren. Nur hier ist die horizontale Skalierung optimal möglich.

Effective DevOps ist die Manifestierung diese Konzeptes in Dienstleistung. Die DevOps-Mitarbeiter kümmern sich um den Aufbau der Infrastruktur, die gesicherte Ausführung sowie den LifeCycle einer Applikation innerhalb der einzelnen Releases. Alles findet in der Cloud statt, d.h. den direkten Kontakt zur physischen Maschinen gibt es nicht mehr. Alle Aufrufe (z.B. zum Starten oder Stoppen eines Servers) erfolgen über restAPI-Aufrufe. Hiermit ergeben sich auch ganz neue Ansätze. Infrastruktur wird nicht mehr bestellt und eingerichtet sondern programmiert (“dev - developed”). Infrastruktur as Code (IaC) ist das dem zugrunde liegende Konzept..

Effective DevOps heißt:

  • Beschleunigte Releasezyclen: Neue Softwarereleases werden nicht mehr nur als Build abgelegt. Diese werden auch automatisiert dem Kunden zur Verfügung gestellt.
  • Alles ist Code (IaC - Infrastructure as Code): Alle Konfigurationen (Webserver, Datenbanken usw.) erfolgt als Code. Theoretisch ist das manuelle Einloggen auf den Servern damit nicht mehr notwendig.
  • Automatische Wiederherstellung: Fallen einzelne Systeme aus, werden diese automatisch wiederhergestellt. Ein manueller Eingriff ist nicht notwendig.
  • Replikation statt Failover: Alles ist repliziert im Cluster vorhanden. Reine Failovermaschinen (z.B. im HotStandby) sind nur im Ausnahmefall möglich.
  • Elastische horizontale Skalierung: Eine horizontale Skalierung erfolgt automatisiert als Reaktion auf die Nachfrage, z.B. wenn tagsüber vermehrte Abfragen auf einer Webseite erfolgen. In der Schwachlastphase, üblicherweise nachts, kann man herunterskalieren um keine Überkapazitäten zu bezahlen.
  • Elastische vertikale Skalierung: Das Ausrollen stärkere Maschinen erfolgt quasi per Knopfdruck und ist in Minuten erledigt. Dabei kommt es zu keiner Ausfallzeit.
  • Desaster Recovery in Minuten/Stunden: Bei einem Komplettausfall erfolgt das Wiederherstellen in Minuten bis Stunden und nicht in Tagen und Wochen.
  • Hochverfügbarkeit: Alles ist hochverfügbar. Der Ausfall einzelner Systeme hat keine Auswirkung auf das Gesamtsysteme. Ausnahmen können in begründeten Fällen aber gemacht werden. Z.B. wenn die Software keine Clusterung erlaubt oder wenn Ausfallzeiten tolerierbar sind um keine fehlerhaften Operationen auszuführen (“Lieber kaputt als falsch”)
  • Datensicherung: Die Datensicherung erfolgt verteilt auf verschiedene, geographisch verteilten Rechenzentren. Zudem werden Tapes als langfristige Sicherungen genutzt.
  • Globales Denken: Ein globales Ausrollen auf anderen Kontinenen erfolgt in Stunden.
  • Echtzeitmonitoring: Das Monitoring erfolgt nahe Echtzeit.
  • 24/7-Service: Eine Rückmeldung an die DevOps-Mitarbeiter bei Problemen erfolgt 7x24h.
  • Trennung von Dev, Stage und Prod durch Parametrisierung: Das Trennen der Umgebungen für Entwicklung (Dev), Abnahme (Stage) und Produktion (Prod) erfolgt durch das einfache Ändern eines Parameters.

Sie brauchen mehr Informationen? Lassen Sie uns telefonieren.

Jörn Kleinbub

YOTRON GmbH is founded by Jörn Kleinbub. A consultant for data management, IT automation, DevOps and cloud management with experience in a wide range of project for a lot of different customers in different sectors.

Verlassen des Chats? / Leaving Chat?

Sie verlieren die aktuelle Chatkommunikation. / You are losing the current chat communication.

Ask YOTRON-AI about us, our services, our supported technologies or some organizational info. It will answer.

Send
Read the GDPR/DSGVO