Anwendungs-Footprint mit privaten Katalogelementen bereitstellen

Als Unternehmen möchte ich einen Anwendungs-Footprint über mehrere Umgebungen hinweg bereitstellen oder skalieren, einschließlich Entwicklung, Tests, Staging und Produktion über Fleet Application Management. Jede Umgebung erfordert spezifische Ressourcenskalierung, Zuweisung und tierbasierte Konfigurationen, wie Web-Tier, Anwendungs-Tier, Datenbank-Tier. Ressourcen müssen für eine einfache Identifizierung und Verwaltung entsprechend benannt und gekennzeichnet werden.

Führen Sie die folgenden Schritte aus, um mit Fleet Application Management einen Anwendungs-Footprint über mehrere Umgebungen hinweg bereitzustellen. Sie können die folgenden Schritte extrapolieren, um sie auf Ihre Anforderungen anzuwenden:

Sie können denselben Anwendungsfall anwenden, um die Infrastruktur in einer vorhandenen aktiven Flotte für die Skalierung oder Neuzuteilung von Ressourcen zu verwalten.

1. Umgebungen definieren

Erstellen Sie Umgebungstypen in Fleet Application Management für jede Implementierungsphase, oder verwenden Sie die von Oracle definierten Umgebungstypen. Beispiel:

  • Entwicklung: Kleinere Ressourcengrößen für erste Tests.
  • Testen: Mittelgroße Ressourcen für Funktions- und Integrationstests.
  • Produktion: Hochleistungsressourcen für Livevorgänge.

2. Private Katalogelemente erstellen

Erstellen Sie private Katalogelemente für jede Ebene im Flottenanwendungsmanagement.

  1. Erstellen Sie ein Konfigurationskatalogelement für ein Terraform.
    • Entwickeln Sie ein Terraform-Package wie von Terraform empfohlen, einschließlich aller erforderlichen Dateien für das Provisioning. Das Paket kann auf eine der folgenden Arten bereitgestellt werden:
      • ZIP-Datei
      • GitHub-Repository

      Informationen zum Entwickeln von Terraform-Packages finden Sie unter Terraform-Provider.

    • Erstellen Sie ein Terraform-Katalogelement aus dem Terraform-Package. Die Schritte zum Erstellen eines Katalogelements finden Sie unter Privates Katalogelement erstellen.
  2. Erstellen Sie ein Konfigurationskatalogelement für verschiedene Umgebungstypen.
    • Nehmen Sie umgebungsspezifische Konfigurationen in eine JSON-Datei (conf.json) auf.
    • Laden Sie die Datei conf.json in einen Object Storage-Bucket hoch.
    • Erstellen Sie ein Katalogelement aus der Datei conf.json. Die Schritte zum Erstellen eines Katalogelements finden Sie unter Private Katalogelemente erstellen.
Erweitern Sie die genannten Schritte für jede Tier (Web, Anwendung, Datenbank).

Ressourcenzuteilung und -größe

Definieren Sie Ressourcengrößen und -zuordnungen für jede Ebene:

  • Web-Tier: Compute-Instanzen mit mittlerer CPU und Arbeitsspeicher.
    • Entwicklung: 1 mittlere Instanz.
    • Testen: 2 große Instanzen für eine bessere Performance.
    • Produktion: 4 Instanzen für Skalierbarkeit, wobei Autoscaling basierend auf der CPU-Auslastung erfolgt.
  • Application Tier: Compute-Instanzen mit hoher CPU und hohem Arbeitsspeicher.
    • Entwicklung: 2 Compute-Instanzen mittlerer Größe mit 4 GB RAM und jeweils zwei vCPUs.
    • Testen: 4 große Instanzen mit 8 GB RAM und vier vCPUs, um eine erhöhte Last zu bewältigen.
    • Produktion: 8 Instanzen (zweimal die Testumgebung) für High Availability, wobei Autoscaling aktiviert ist.
  • Database Tier: Datenbankressourcen, die für Speicher und Performance optimiert sind.
    • Entwicklung: Eine kleine Datenbankinstanz mit zwei vCPUs- und 15-GB-RAMs.
    • Testen: Eine mittlere Instanz mit vier vCPUs- und 30-GB-RAM.
    • Produktion: Eine High-Performance-Instanz mit acht vCPUs, 64 GB RAM und hoher I/O-Kapazität.
    Zur Speicherung zuweisen:
    • 100 GB in Entwicklung
    • 250 GB im Test
    • 500 GB in Produktion, mit Backup- und Recovery-Optionen

Verwenden Sie Terraform-Variablen (variables.tf), um alle Variablendefinitionen anzugeben, und conf.json, um die Variablenwerte dynamisch zuzuweisen.

3. Ressourcen bereitstellen

  1. Runbook-Aufgabe erstellen in Fleet Application Management, um auf das private Katalogelement zuzugreifen.
    Stellen Sie sicher, dass Sie den Lebenszyklusvorgang als Provisioning und den Aktionstyp als Terraform ausführen auswählen.
  2. Erstellen Sie ein Runbook, um Ressourcen bereitzustellen.
    Geben Sie grundlegende Informationen wie den Runbook-Namen, den Lebenszyklusvorgang (Provisioning) und das erforderliche Betriebssystem (Linux) an.

    Fügen Sie je nach den erforderlichen Aufgabenausführungen parallele oder rollierende Ressourcengruppen hinzu.

  3. Mit Fleet Application Management können Sie eine Flotte für jede Umgebung erstellen.
  4. Ordnen Sie die Flotte den relevanten Runbooks und Umgebungstypen zu.
  5. Runbooks ausführen, um Ressourcen basierend auf dem Umgebungstyp dynamisch bereitzustellen.
  6. Wiederholen Sie die vorherigen Schritte für jede Ebene.
  7. Prüfen Sie alle Ressourcen-Deployments für jede Tier.

4. Beispielkonfiguration

  • Terraform-Datei (main.tf): Definiert Compute-Instanzen mit bestimmten Ausprägungen und Netzwerkkonfigurationen. Siehe Beispiel main.tf.
  • Variablendatei (variables.tf): Umfasst Variablen wie instance_compartment_id, subnet_id und display_name. Siehe Beispiel variables.tf.
  • Konfigurationsdatei (conf.json): Gibt Werte für Variablen an, wie Compartment-OCID und Subnetz-ID. Siehe Beispiel conf.json.

Weitere Beispielkonfigurationen finden Sie unter Oracle Cloud Infrastructure-Provider.