Wenn Unternehmen zur containerbasierten Anwendungsentwicklung und -bereitstellung wechseln, müssen sie lernen, wie sie verteilte Teams mit separaten Engineering-Workflows verwalten. Damit große Unternehmen die Umstellung auf containerbasierte Anwendungen abschließen können, haben wir den Blueprint für Unternehmensanwendungen erstellt. Mit diesem Blueprint wird eine interne Entwicklerplattform bereitgestellt, mit der Cloud Platform-Teams eine verwaltete Plattform für die Softwareentwicklung und -bereitstellung bereitstellen können, die die Gruppen für die Anwendungsentwicklung ihrer Organisation verwenden können.
Der Blueprint der Unternehmensanwendung enthält Folgendes:
- Einem GitHub-Repository, das eine Reihe von Terraform-Konfigurationen und -Skripts enthält. Mit der Terraform-Konfiguration wird eine Entwicklerplattform in Google Cloud eingerichtet, die mehrere Entwicklungsteams unterstützt.
- Einer Anleitung zu den Architektur-, Design-, Sicherheitskontrollen und Betriebsprozessen, die Sie mit diesem Blueprint implementieren (dieses Dokument).
Der Blueprint der Unternehmensanwendung ist mit dem Blueprint für Unternehmensgrundlagen kompatibel. Der Blueprint zu den Unternehmensgrundlagen bietet eine Reihe von Diensten auf Basisebene, auf die der Blueprint der Unternehmensanwendung basiert, z. B. Cloud Identity. Sie können den Blueprint der Unternehmensanwendung bereitstellen, ohne den Blueprint der Unternehmensgrundlagen bereitzustellen, wenn Ihre Google Cloud-Umgebung die erforderlichen Funktionen zur Unterstützung des Blueprints der Unternehmensanwendung enthält.
Dieses Dokument richtet sich an Cloud-Architekten und setzt voraus, dass Sie den Blueprint der Unternehmensanwendung für die Bereitstellung neuer Unternehmensanwendungen in Google Cloud verwenden. Wenn Sie jedoch bereits containerisierte Unternehmensanwendungen in Google Cloud haben, können Sie diese Referenzarchitektur schrittweise übernehmen.
In diesem Dokument wird auch davon ausgegangen, dass Sie mit Kubernetes-Komponenten vertraut sind, einschließlich Diensten, Namespaces und Clustern. Hintergrundinformationen zu Kubernetes und seiner Implementierung in Google Cloud finden Sie in der technischen Übersicht über Google Kubernetes Engine (GKE) Enterprise.
Übersicht über Blueprints für Unternehmensanwendungen
In den meisten Unternehmen verwaltet eine Entwicklerplattform die gemeinsam genutzte Infrastruktur, die von allen Entwicklern verwendet wird. Die Entwicklerplattform erstellt bei Bedarf Build-Pipelines, Bereitstellungspipelines und Laufzeitumgebungen für jede Anwendungskomponente. Entwicklerteams und Anwendungsoperatoren haben nur Zugriff auf die Anwendungskomponenten, für die sie verantwortlich sind. Die Plattform ist auf die Bereitstellung hochverfügbarer und sicherer Anwendungen ausgelegt.
Mit diesem Blueprint wird eine Entwicklerplattform auf Basis des Blueprints für Unternehmensgrundlagen (oder gleichwertig) erstellt. Die Entwicklerplattform enthält Ressourcen wie Google Kubernetes Engine-Cluster (GKE), GKE-Flotte, die Anwendungsfabrik, Infrastrukturpipelines, Plattformmonitoring und Plattform-Logging. Darüber hinaus richtet die Entwicklerplattform die Nutzer (Entwickler der Entwicklerplattform und Anwendungsentwickler) ein, die die Lösung verwalten.
Mit diesem Blueprint können Organisationen verschiedene Teams für die Anwendungsentwicklung (Mandanten) Zugriff auf die Plattform gewähren. Ein Mandant ist eine Gruppe von Nutzern mit gemeinsamer Inhaberschaft für eine Reihe von Ressourcen. Ein Mandant besitzt eine oder mehrere Anwendungen, die auf der Plattform als containerbasierter Dienst ausgeführt werden. Eine Anwendung auf der Entwicklerplattform ist ein Set aus Quellcode und Konfiguration. Jede Anwendung wird von einer dedizierten CI/CD-Pipeline erstellt und bereitgestellt. Mandanten und Anwendungen sind zur Laufzeit und in den CI/CD-Pipelines voneinander isoliert. Teile des Blueprints ermöglichen eine Automatisierung durch alle Mandanten und werden als mehrmandantenfähig bezeichnet.
Zur Veranschaulichung der Verwendung der Entwicklerplattform enthält der Blueprint eine Beispielanwendung namens Cymbal Bank. Cymbal Bank ist eine Mikrodienstanwendung, die für die Ausführung in GKE entwickelt wurde. Die Anwendung soll eine hochverfügbare Anwendung simulieren, die in einer Aktiv-Aktiv-Konfiguration für die Notfallwiederherstellung bereitgestellt wird. Die Cymbal Bank geht davon aus, dass die Anwendung von mehreren unabhängigen Entwicklerteams entwickelt und betrieben wird.
Wie geht es weiter?
- Mehr über die Architektur erfahren (nächstes Dokument in dieser Reihe).