Best Practices für die Organisation und Verwaltung von Projekten
Diese Best Practices liefern Ihnen die grundlegenden Bausteine für die Verwaltung erfolgreicher und sicherer ProjekteEine Sammlung von Artefakten, die Ressourcen und Infrastruktur als Codebereitstellungen definieren und verwalten. in IBM Cloud®. Projekte sind für regulierte Unternehmen von Vorteil, um codebasierte Implementierungen am besten zu verwalten und gleichzeitig die Compliance aufrechtzuerhalten und mit Teammitgliedern über Konten hinweg zusammenzuarbeiten.
Primäres Projektkonto erstellen
Ein wichtiger Vorteil von IBM Cloud-Projekten ist die Möglichkeit, Ihre Infrastructure as Code-Bereitstellungen zentral zu verwalten und zusammenzuarbeiten. Wenn Sie ein Unternehmen verwenden, hilft die Einrichtung eines primären oder privaten Kontos zum Speichern aller Ihrer Projekte bei der Verwaltung und Verfolgung Ihrer Projekte an einer einzigen Position.
Die Zweckmäßigkeit der Einrichtung eines primären Kontos hängt von Ihrer Unternehmensstruktur ab. Projekte können in einem Account erstellt werden und Ressourcen für andere Accounts implementieren. Benutzer können nur die Projekte anzeigen, die sich in dem Konto befinden, bei dem sie derzeit angemeldet sind. Darüber hinaus können Berichte für mehrere Projekte nur für Projekte innerhalb desselben Kontos generiert werden. Dies ist ein weiterer nützlicher Vorteil der Einrichtung eines gemeinsamen Ausgangskontos für alle Projekte in einem Unternehmen oder alle Projekte mit einem ähnlichen Geschäftsfeld. Indem Sie Ihr Projekt in einem primären Konto aufbewahren und in separaten Konten für jede Umgebung (Entwicklung, Test und Produktion) implementieren, um das Unternehmensmanagement zu vereinfachen
Um den Zweck und die Projekte innerhalb des Kontos für alle Benutzer leichter zu identifizieren, geben Sie dem Konto einen lesbaren Namen. Beispiel: Front-end UI team und Back-end API team
Authentifizierungsmethode definieren
Wenn Sie Ihre implementierbare Architektur konfigurieren, müssen Sie eine Authentifizierungsmethode hinzufügen. Die Authentifizierungsmethode identifiziert das Zielkonto, auf dem die Ressourcen bereitgestellt werden, und autorisiert die Bereitstellung. Sie können sich über ein vertrauenswürdiges Profil oder einen vorhandenen geheimen Schlüssel authentifizieren.
Vertrauenswürdige Profile verwenden
Einige Services können Architekturen mit vertrauenswürdigen Profilen nicht vollständig konfigurieren und implementieren. Weitere Informationen finden Sie unter Bekannte Probleme und Einschränkungen für Projekte.
Sie können eine Architektur in Ihrem eigenen Konto oder in einem anderen Konto mithilfe vertrauenswürdiger Profile implementieren. Je nach Organisation kann die Implementierung einer Architektur den Zugriff auf ein anderes Konto erfordern, indem ein vertrauenswürdiges Profil verwendet wird und die Koordination mit Administratoren in mehreren Konten erfolgt. Wenn der IBM Cloud-Projektservice in einem anderen Konto Zugriff auf Ihr Konto benötigt, um eine Architektur bereitzustellen, verwenden Sie vertrauenswürdige Profile und Service-IDs, um Bereitstellungen in Ihrem Konto zu autorisieren. Weitere Informationen zum Erstellen eines vertrauenswürdigen Profils für Ihr Projekt finden Sie unter Vertrauenswürdige Profile zum Autorisieren eines Projekts für die Implementierung einer Architektur verwenden.
IBM Cloud® Secrets Manager
Bei der Bereitstellung von Infrastructure as Code ( IaC ) sind häufig Geheimnisse erforderlich, um die Infrastruktur zu konfigurieren, wie API-Schlüssel, SSH-Schlüssel und SSL-Zertifikate. In diesen Fällen ist es empfehlenswert, diese Geheimnisse in einer Secrets Manager instanz zu speichern. Projekte unterstützen direkt die Referenzierung von API-Schlüsseln, die in Secrets Manager als Input für eine einsatzfähige Architektur gespeichert sind. Weitere Informationen finden Sie unter Verwendung eines API-Schlüssels mit Secrets Manager, um ein Projekt für die Bereitstellung zu autorisieren.
Erstellen Sie eine Secrets Manager Service-Instanz in Ihrem primären Projektkonto, die Sie für alle Projekte innerhalb dieses Kontos verwenden können, bevor Sie Ihr Projekt erstellen.
Sie können verschiedene Typen geheimer Schlüssel erstellen. Verwenden Sie eine beliebige geheime Instanz, um API-Schlüssel für Ihr Projekt zu speichern. Weitere Informationen finden Sie unter Beliebige geheime Schlüssel in der Benutzerschnittstelle erstellen.
In der Regel wird eine einzelne Secrets Manager-Instanz für alle Projekte in einem Konto verwendet. Geheime Schlüssel in dieser Instanz können in Gruppen geheimer Schlüssel organisiert werden, die den Zugriffsbeschränkungen entsprechen. Sie können beispielsweise eine Gruppe geheimer Schlüssel pro Projekt oder für eine Gruppe zusammengehöriger Projekte verwenden.
Bereitstellung mithilfe von Umgebungen steuern
Innerhalb eines Projekts können Sie zusammengehörige Konfigurationen mithilfe einer Umgebung gruppieren. Eine Umgebung kann auch Eigenschaften wie Eingabewerte und Authentifizierungsdetails enthalten. Diese Eigenschaften werden automatisch zu einer Konfiguration hinzugefügt, wenn Sie eine Umgebung auswählen, um genaue Bereitstellungen für Ihr Zielkonto sicherzustellen. Wenn Sie eine Konfiguration bearbeiten, können Sie im Abschnitt Details definieren eine Umgebung für die Konfiguration auswählen.
Vorteile der Verwendung von Umgebungen
Umgebungen erleichtern die Steuerung von Implementierungen. Wenn Sie eine Umgebung angeben und Eigenschaften hinzufügen, wissen Sie, dass dieselben Werte in Konfigurationen, die diese Umgebung verwenden, gemeinsam genutzt werden. Innerhalb einer Konfiguration können Sie alle Werte, die automatisch von einer Umgebung bereitgestellt werden, außer Kraft setzen.
Umgebungen bieten eine Möglichkeit, zusammengehörige Konfigurationen innerhalb eines Projekts zu gruppieren. Angenommen, Sie haben eine Gruppe von Konfigurationen, die Sie in demselben Zielkonto wie Ihr Entwicklungskonto bereitstellen möchten. Sie können eine Entwicklungsumgebung erstellen und die Authentifizierungsdetails für das Zielkonto zu dieser Umgebung hinzufügen. Die Authentifizierungsmethode wird zu jeder Konfiguration hinzugefügt, die die Entwicklungsumgebung verwendet.
Obwohl Sie beliebig viele Umgebungen erstellen können, wird empfohlen, dass Sie die Anzahl der Umgebungen in Ihrem Projekt niedrig halten. Die Verwendung einer Standardgruppe von Umgebungen für Ihre kontenübergreifenden Implementierungen vereinfacht die Konfiguration und Implementierung von Architekturen.
Weitere Informationen finden Sie unter Umgebung erstellen.
Konfigurationen organisieren
Sie können alle zugehörigen Konfigurationen in einem einzigen Projekt organisieren. Auf diese Weise können Sie die Bereitstellungen von einer Position aus verwalten und sicherstellen, dass sie sicher und konform sind. Dies kann aus einer oder mehreren implementierbaren Architekturen bestehen, um die erforderliche Infrastruktur zu erstellen, die dann repliziert werden muss, um mehrere Regionen und Umgebungen wie Entwicklung, Test und Produktion zu unterstützen.
Verwenden Sie eine Namenskonvention für Ihre Konfigurationen, damit Benutzer die Funktion jeder Konfiguration verstehen können. Beispiel: In einer Bereitstellung, die eine implementierbare VPC-Basisarchitektur und eine bereitstellbare Kubernetes-Clusterarchitektur verwendet, die auf der VPC-Basis basiert, können Sie Ihre Konfigurationen wie folgt benennen:
| Name | Bereitstellbare Architektur | Umgebung | Anmerkungen |
|---|---|---|---|
| Dev-VPC-Global | VPC-Basis | Entwicklung | Basis-VPC für die Entwicklungsumgebung erstellen |
| Dev-Kub-Dallas | Kubernetes-Cluster | Entwicklung | Cluster in Dallas zur Entwicklung erstellen |
| Dev-Kub-London | Kubernetes-Cluster | Entwicklung | Cluster in London für die Entwicklung erstellen |
| Prod-VPC-Global | VPC-Basis | Produktion | Basis-VPC für die Produktionsumgebung erstellen |
| Prod-Kub-Dallas | Kubernetes-Cluster | Produktion | Cluster in Dallas für die Produktion erstellen |
| Prod-Kub-London | Kubernetes-Cluster | Produktion | Cluster in London für die Produktion erstellen |
| Prod-Kub-Tokio | Kubernetes-Cluster | Produktion | Cluster in Tokio für die Produktion erstellen |
| Prod-Kub-Sydney | Kubernetes-Cluster | Produktion | Cluster in Sydney für die Produktion erstellen |
Sie können die Entwicklungskonfiguration in der Datei project.json duplizieren und nach Bedarf ändern, um schnell Produktionsbereitstellungen aus den getesteten Entwicklungsbereitstellungen zu erstellen.
Zugriffsgruppen für Projekte erstellen
Der Zugang zu den Projekten wird durch Identity and Access Management (IAM) kontrolliert. Es wird empfohlen, pro Projekt zwei oder drei Zugriffsgruppen zu erstellen und Benutzer, die am Projekt arbeiten, einer dieser Zugriffsgruppen zuzuweisen. Sie können beispielsweise Folgendes erstellen:* Projektname*-Leserzugriffsgruppe, die Benutzern, die Kosten oder Verfügbarkeit überwachen müssen, schreibgeschützten Zugriff auf das Projekt gewährt, und eine* Projektname*-Schreibzugriffsgruppe für Betriebsbenutzer, die Änderungen an einem Projekt vornehmen und Ressourcen bereitstellen müssen. Bei Bedarf können Sie zwei Schreibzugriffsgruppen erstellen, eine für Benutzer, die Konfigurationen hinzufügen und Eingabewerte vervollständigen können, und eine zweite für Benutzer, die Ressourcen implementieren können.
| Zugriffsgruppe | Rollen |
|---|---|
| Projektname-Leser | Leseberechtigter, Anzeigeberechtigter |
| Projektname-Schriftsteller | Manager, Bediener |
Um neue Projekte erstellen zu können, müssen Benutzern bestimmte Zugriffsberechtigungen zugewiesen werden. Weitere Informationen finden Sie unter Benutzern Zugriff auf Projekte zuweisen.
Überwachung erfordert Aufmerksamkeitseinträge
Elemente, die Aufmerksamkeit erfordern, werden am besten zur Überwachung von Validierung, Genehmigungen, Fehlern und Versionsaktualisierungen verwendet. Durch regelmäßige Überprüfung der Elemente, die Aufmerksamkeit erfordern, können Sie sicherstellen, dass Ihr Projekt und Ihre Konfiguration aktuell und konform sind.
Bereitstellung von durch Projekte erstellten Ressourcen aufheben
Wenn Sie Ihre Konfiguration implementieren, können erstellte Ressourcen als Gruppe innerhalb Ihres Projekts verwaltet werden. Diese Ressourcen werden auf der Basis des Terraform-Plans erstellt und können einzeln in Ihrem Arbeitsbereich Schematics verwaltet werden.
Obwohl Sie einzelne Ressourcen aus dem Arbeitsbereich von Schematics löschen können, wird dies nicht für Ressourcen empfohlen, die mithilfe eines Projekts erstellt werden, da dies zu Abweichungen führt. Stattdessen können Sie die Bereitstellung aller mit einer Konfiguration verknüpften Ressourcen auf einmal mit einem einzigen Klick über die Projekt-Benutzeroberfläche aufheben. Dadurch wird die Implementierung aus der Zielumgebung entfernt, in der Ihre Konfiguration implementiert wurde. Das Aufheben der Bereitstellung von Ressourcen ohne Löschen der Konfiguration kann hilfreich sein, wenn Sie Ihre Konfiguration zukünftig erneut bereitstellen müssen.
Wenn Sie ein Projekt oder eine Konfiguration löschen, wird standardmäßig die Bereitstellung aller bereitgestellten Ressourcen automatisch aufgehoben. Es wird empfohlen, diese Einstellung aktiviert zu lassen, aber Sie können sie inaktivieren, indem Sie Ihr Projekt öffnen und Verwalten > Einstellungen aufrufen. Wenn Sie diese Einstellung inaktivieren, bleiben Ressourcen implementiert, wenn Sie eine Konfiguration oder ein Projekt löschen, aber Sie verlieren die Fähigkeit, diese Ressourcen innerhalb des Projekts einfach zu verwalten. Implementierte Ressourcen können weiterhin Kosten für Ihr Zielkonto verursachen, wenn sie nach dem Löschen eines Projekts oder einer Konfiguration verfügbar bleiben. Weitere Informationen finden Sie unter Aufheben der Bereitstellung von Ressourcen.