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.
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.
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.
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) 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.
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.
Legen Sie das Fundament für ein serviceorientiertes und auf Geschäftsprozesse ausgerichtetes Betriebsmodell mit Best Practices für die Definition von Cloud-Services.
Für Unternehmen jeder Größe ist Virtualisierung die effektivste Methode, um IT-Ausgaben zu senken und zugleich Effizienz und Agilität zu steigern.
Heutige IT-Organisationen verwenden „Projekte“ als Konstrukt für das Aufgabenmanagement. Serviceorientierung kann eine schnellere Bereitstellung und Senkung von Kosten sicherstellen.
Eine Enterprise-Cloud-Suite ist eine integrierte Sammlung von Produkten zum Management von Hybrid Clouds und zur Bereitstellung von Self-Service-Provisioning.
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.