Effizientere IT durch Automatisierung

Vier Argumente für Microservice-Architekturen

Johann Füchsl

(c) Shutterstock / faithie

Auf der DevOpsCon 2016 (13. bis 16. Juni) wird Johann Füchsl (Red Lever Solutions GmbH) zeigen, wie sich mit Terraform und Consul Infrastrukturcode auf verteilten Server-Umgebungen verwalten lässt. In diesem Artikel gibt er eine Einführung ins Thema Automatisierung, Continuous Delivery und Microservices.

Mit der Entwicklung des Toyota Production System (TPS) begann eine Revolution, die sich weit über die Grenzen der Automobilindustrie auswirkte. Heute sind diese Prinzipien unter dem Begriff Lean Manufacturing bekannt und haben in der IT Welt zu Agile Software Development geführt.

Gemeinsame Ziele dieser beiden Philosophien sind die Steigerung der Effizienz, der Qualität und die Reduktion des Zeitaufwands. Die Vorteile liegen auf der Hand: Unternehmen können ihre Ressourcen auf das jeweilige Kerngeschäft konzentrieren, Innovationen schneller vorantreiben, bessere Produkte entwickeln und somit die Zufriedenheit der Kunden erhöhen – klare Wettbewerbsvorteile.

DevOpsCon Whitepaper 2018

Free: BRAND NEW DevOps Whitepaper 2018

Learn about Containers,Continuous Delivery, DevOps Culture, Cloud Platforms & Security with articles by experts like Michiel Rook, Christoph Engelbert, Scott Sanders and many more.

Das Potential ist im IT-Sektor, gerade bei Softwareanbietern, besonders hoch und wird von führenden Unternehmen wie Amazon, Netflix und Zalando bereits ausgenutzt, mit Auswirkungen auf das Management sowie die technische Umsetzung. Ein in diesem Bereich oft gehörtes Schlagwort ist Microservice Architectures: Komplexe Applikationen werden in kleinere, unabhängige Services aufgeteilt, die miteinander kommunizieren und so die Funktionalität der Applikation bereitstellen. Microservices bieten gegenüber monolithischen Architekturen wesentliche Vorteile:

  • Die Entwicklung erfolgt in kleineren, unabhängigen Teams, die auf einzelne Services spezialisiert sind. Das reduziert den Verwaltungsaufwand, führt zu einer transparenten Organisation und zu kurzen Releasezyklen. Da einzelne Microservice-Komponenten einfacher strukturiert und weniger komplex sind, erhöht sich die Produktivität von Programmierern.
  • Services kommunizieren miteinander über standardisierte Schnittstellen. Entwicklungsteams sind somit weitgehend unabhängig voneinander und müssen sich lediglich untereinander abstimmen, wenn sich Änderungen bei den jeweiligen Schnittstellen ergeben.
  • Durch die Unabhängigkeit können einzelne Komponenten mit den jeweils optimalen Technologien entwickelt werden. Für CPU intensive Services bieten sich zum Beispiel hardwarenahe Programmiersprachen an, für die Automatisierung von Administrationsaufgaben kann man auf geeignete Skriptsprachen zurückgreifen.
  • Während monolithische Applikationen nur sehr schwer skalierbar sind, können einzelne Microservices sehr leicht skaliert werden und perfekt auf das bestehende Lastmuster angepasst werden. Damit kann auch eine Hochverfügbahrkeit der Applikation gewährleistet werden, indem mehrere Instanzen von kritischen Services gleichzeitig, in unterschiedlichen Datenzentren laufen. Der Ausfall einer einzelnen Instanz wird von den verbleibenden Instanzen kompensiert.

Um diese Vorteile im eigenen Unternehmen auskosten zu können, muss man die nötigen technischen und organisatorischen Voraussetzungen erfüllen. Der wichtigste technische Aspekt ist ein hoher Grad an Automatisierung rund um die Entwicklung und den Betrieb einer Applikation. Dazu gehören die Verwaltung der Infrastruktur (Infrastructure as Code) , standardisierte Entwicklungs­- und Testumgebungen mit Continuous Integration und automatische Deployments mit Continuous Delivery. Zur Koordinierung der einzelnen Microservices muss man Service-Discovery- und Orchestration-Technologien einsetzen. Der hohe Grad an Automatisierung beseitigt fehleranfällige und zeitintensive Prozesse. Die dadurch eingesparten Ressourcen können direkt in die Wertschöpfungskette eingebracht werden.

Terraform & Consul

Auf zwei der genannten Teilaspekte werde ich mit meinem Kollegen in der Session „Infrastructure as Code and Service Discovery with Terraform and Consul“ bei der DevOps Conference 2016 eingehen: Wir stellen mit Terraform eine Technologie vor, mit der moderne IT-Infrastrukturen, wie Amazon Web Services, in Form von Code geplant und verwaltet werden können. In einer Demo zeigen wir, wie Service Discovery praktisch mit Consul umgesetzt werden kann.

Dadurch machen wir deutlich, dass durch Automatisierung signifikant Zeit eingespart werden kann, das Potential für Fehler minimiert wird und so die Basis für eine revolutionäre Agile Software-Entwicklung geschaffen wird.

Aufmacherbild: magnifying glass von Shutterstock / Urheberrecht: faithie

Geschrieben von
Johann Füchsl
Johann Füchsl
Johann Füchsl is co founder at Red Lever Solutions GmbH. Red Lever is specialized in designing and operating scalable, high-availability infrastructures. He loves to automate all aspects of operations and lives by the DevOps principles. In his spare time Johann lifts weights and reads books.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: