Microservices
Was sind Microservices?
Der Begriff Microservices bezieht sich auf die zahlreichen unabhängigen Webstandards, Programmiersprachen, Datenbankplattformen und Webserverkomponenten, die im heutigen Software-Entwicklungslebenszyklus als Entwicklertools dienen. Der herkömmliche Ansatz von Unternehmen sah den Einsatz einer Service-Oriented Architecture (SOA) vor, die eine von einem einzigen IT-Unternehmen integrierte Hardware- und Softwaretechnologie darstellte. Bei Microservices werden Tausende verschiedener Komponenten in Cloud-Softwareanwendungen und Webservern von unabhängigen Entwicklungsunternehmen oder Open Source-Communitys unterstützt. IT-Abteilungen brauchten eine neue Philosophie, um Microservices in der Produktion in isolierten mandantenfähigen Umgebungen in hyperskalierten Public Cloud-Rechenzentren zu verwalten. Daher führten Sie Virtualisierungslösungen mit auf Service-Mesh-Technologie basierten SDDC-Standards ein. Microservices bilden die Bausteine oder grundlegenden Komponenten, Plattformen und Frameworks, auf denen der Code erstellt und auf Webservern in einem Cloud-Rechenzentrum betrieben wird.
Verwandte Themen
Monolithische Architektur im Vergleich zur Microservices-Architektur
- Monolithische Architektur: stammt aus der Ära der IBM-Großrechner und der Monopolstellung des Betriebssystems Microsoft Windows in der Enterprise-IT.
- Microservices: ursprünglich entwickelt von Open Source-Communitys, Entwicklern bei Drittanbietern und Start-ups mit unabhängigen Programmierern, die Code beisteuern, der die Basisfunktionen der am häufigsten verwendeten Webserver-Plattformen erweitert. Heute veröffentlichen die meisten großen IT-Unternehmen eigene Microservices und Beiträge zu Open Source-Projekten. Die Standards dafür werden von verschiedenen Branchen und Teams aus einem größeren Lösungsmarkt übernommen, um eindeutige Grundlagen zu schaffen. Microservices werden nach dem gleichen Prinzip der Entwicklerinnovation durch Open Source-Codelösungen für Cloud-Anwendungen betrieben, obwohl heute auch proprietäre lizenzierte Microservices üblich sind.
Vorteile von Microservices
- Schnelle Innovation: Unternehmen und Start-ups können innovative neue Funktionen für Softwareanwendungen schneller auf den Markt bringen als mit einer monolithischen Architektur. Kunden, die Web- und mobile Anwendungen nutzen, verlangen neue Funktionen. Innovative Technologie wird durch breite Akzeptanz und Übernahme in Unternehmen finanziert. Es ist sowohl für große IT-Unternehmen als auch für Start-ups von Vorteil, durch Integration neuer Microservices auf dem neuesten Stand der Programmierung und Entwicklung zu bleiben.
- Größerer Automatisierungsgrad im Rechenzentrum: Entwickler bevorzugen bestimmte Plattformen oder Standards. Dazu gehört auch die Unterstützung von Programmiersprachen und Datenbanken in Web- und mobilen Anwendungen mit Microservices. Die Vernetzung von Microservices erfolgt über skriptgesteuerte Prozesse wie APIs, die zu einem höheren Automatisierungsgrad im Rechenzentrum führen können.
Wie funktionieren Microservices?
Microservices erweitern in erster Linie die auf einem Webserver verfügbaren Funktionen des Standardbetriebssystems, des Netzwerks oder der Managementplattform des Rechenzentrums. Einige Microservices sind Erweiterungen des Webserver-Stacks wie Programmiersprachen-Plattformen und Datenbank-Frameworks. Zur Entwicklung von PHP- und MySQL-Anwendungen muss die Webserverumgebung für die Unterstützung der LAMP-Plattform konfiguriert werden. Auf Microservices basierte Lösungen konkurrieren in hohem Maße mit der Service-Oriented Architecture von Microsoft, Oracle, IBM und anderen großen IT-Unternehmen im Bereich Closed Source-Distributionen. Unternehmen müssen jetzt viele in PHP, Python, Ruby-on-Rails, Java, C++, ASP.net usw. geschriebene Anwendungen nacheinander oder gleichzeitig in der Produktion unterstützen. In anderen Situationen kann ein Rechenzentrum mehrere Datenbank-Frameworks über VMs auf mandantenfähiger Hardware in Betrieb haben. Ein Webserver muss für die Unterstützung anwenderdefinierter Erweiterungen für das Streamen von Medien, für API-Integrationen oder durch Hinzufügen proprietärer Dienstprogramme für Analysen konfiguriert sein. Wenn all diese Drittanbieter- und Open Source-Services addiert werden, entsprechen sie auf einem typischen Webserver in der Produktion Tausenden von Microservices, die dann in einer Public Cloud-Service-Umgebung durch Millionen hyperskalierter VMs multipliziert werden.
Geschichte von Microservices
Der Begriff „Microservices“ entstand ursprünglich nach der Web-2.0-Ära, als die Unternehmens-IT eine neue Art der Konzeptualisierung der Software-Entwicklungsumgebung benötigte, die aktuelle Partnerlandschaften und Best Practices widerspiegelte. Microservices für die Entwicklung von Web- und mobilen Anwendungen haben Rechenzentrumsadministratoren die Unterstützung des Enterprise-Betriebs zunehmend erschwert. Anstatt einfach einen Vertrag mit Oracle, IBM oder Microsoft über alle erforderlichen Lösungen für Software und Rechenzentren zu schließen, müssen sich Unternehmen jetzt in einer Landschaft mit Millionen von Open Source-Codeprojekten zurechtfinden, die Lösungen der Enterprise-Klasse für die geschäftliche Nutzung bieten. Für viele Webstandards gibt es von verschiedenen Unternehmen konkurrierende Versionen. Viele Programmiersprachen und Datenbanken decken die gleichen Funktionen ab. Jedes Entwicklungsteam hat eigene Präferenzen für Tools und Programmiermethoden. Die Bewältigung dieser Komplexität im Cloud-Zeitalter innerhalb einer einheitlichen Unternehmens-IT-Abteilung hat dazu geführt, dass in vielen komplexen Organisationen weltweit Microservices in der professionellen Softwareentwicklung unterstützt werden müssen.
Microservices-Architektur
Am besten kann man sich die Microservices-Architektur verdeutlichen, indem man sich die Software-Layer in einem Webserver-Stack vorstellt. Das Betriebssystem des Webservers kann entweder Windows, Linux oder BSD sein. Es sind Tools für das Management des Rechenzentrums und den Lastausgleich im Netzwerk vorhanden. Für Webserver stehen Apache, IIS, NGINX, Caddy, Tomcat usw. zur Auswahl. Der nächste Layer dient zur Unterstützung installierter Programmiersprachen wie PHP, ASP.net, Python, Ruby, Perl, Java und Go. Danach folgt der Layer für Datenbank-Frameworks wie MySQL, MSSQL, PostgreSQL und MongoDB. Es folgt ein weiterer Layer für Caching-Dienstprogramme, wie Varnish, Redis und CDNs, sowie für Dienstprogramme zur Optimierung. Andere Support-Layer umfassen Edge-Server, serverlose Plattformen und die KI/ML-Integration. In einem Public Cloud-Partnernetz gibt es Tausende gleichzeitig betriebener Microservices, die zur Unterstützung von Interoperabilität, Routing und Kommunikation im Service-Mesh verwaltet werden müssen.
Service-Oriented Architecture (SOA) im Vergleich zu Microservices
Service-Oriented Architecture (SOA) stammt in der Regel von einem einzelnen Anbieter oder umfasst ein Paket mit Hardware- und Softwarelösungen, die für einen genau definierten Bedarf der Branche eingesetzt werden können. SOA unterstützt das Rechenzentrum, den Webserver und den Stack-Layer durch unterschiedliche Distributionen oder Produktmodelle. SOA ist sowohl in proprietären als auch in Open Source-Lösungen je nach Anbieter verfügbar. Networking-Geräte und Glasfaserverbindungen werden in Cloud-Rechenzentren anders als in internen privaten Rechenzentren verwaltet. Beim derzeitigen Stand der Software-Entwicklungslandschaft sind Microservices für Innovationen erforderlich. Selbst die größten Unternehmen müssen Microservices zur Unterstützung agiler Programmierungsteams übernehmen, die neue Web- und mobile Anwendungen auf den Markt bringen, wobei der Produkt-Support Tausende von Marken oder Domänen umfassen kann. Microservices werden häufig für die Modernisierung und Containerisierung von Legacy-Enterprise-Software benötigt.
Zugehörige Produkte, Lösungen und Ressourcen für Microservices von VMware
Was ist Software-Defined Storage?
VMware Software-Defined Storage ist eine einfache, aber überaus intelligente Rechenzentrumsarchitektur für Storage, die sich an Business- und Anwendungsanforderungen orientiert. Informieren Sie sich noch heute.
Definition von Cloud-Services
Legen Sie das Fundament für ein serviceorientiertes und auf Geschäftsprozesse ausgerichtetes Betriebsmodell mit Best Practices für die Definition von Cloud-Services.
Was ist Virtualisierung?
Für Unternehmen jeder Größe ist Virtualisierung die effektivste Methode, um IT-Ausgaben zu senken und zugleich Effizienz und Agilität zu steigern.
Worin besteht der Unterschied zwischen Projektorientierung und Serviceorientierung?
Heutige IT-Organisationen verwenden „Projekte“ als Konstrukt für das Aufgabenmanagement. Serviceorientierung kann eine schnellere Bereitstellung und Senkung von Kosten sicherstellen.
Enterprise-Cloud-Suite
Eine Enterprise-Cloud-Suite ist eine integrierte Sammlung von Produkten zum Management von Hybrid Clouds und zur Bereitstellung von Self-Service-Provisioning.
Erstellen einer Servicedefinition und eines zugehörigen virtuellen Endpunkts
Sie müssen die NSX Manager-APIs zum Erstellen einer Servicedefinition und eines virtuellen Endpunkts für die Service-Appliance in Ihrer Public Cloud verwenden.