Freigeben über


Plattformautomatisierung und DevOps für den App Service-Zielzonenbeschleuniger

Dieser Artikel enthält Überlegungen und Empfehlungen für den Entwurf von Plattformautomatisierung und DevOps, die Sie bei der Verwendung des Azure App Service-Zielzonenbeschleunigers anwenden können. Mit Plattformautomatisierung und DevOps können Sie Ihren Ansatz für die Bereitstellung mithilfe von Infrastructure-as-Code modernisieren.

Weitere Informationen zum Entwurfsbereich für die Plattformautomatisierung und DevOps.

Überlegungen zum Entwurf

Automatisierung und DevOps sind wichtige Methoden in der modernen Softwareentwicklung, und App Service ist eine leistungsstarke Plattform zum Erstellen und Bereitstellen von Webanwendungen. Mithilfe von Automatisierungs- und DevOps-Techniken können Sie Ihren Workflow optimieren und die Qualität und Zuverlässigkeit Ihrer Anwendungen verbessern.

Berücksichtigen Sie die folgenden Überlegungen bei der Vorbereitung jeder Bereitstellung von App Service.

  • Verstehen Sie die Anforderungen und Ziele des Projekts, damit Sie die am besten geeigneten Tools und Ansätze für die Automatisierung bestimmen können. Dieser Schritt umfasst die Identifizierung der Aufgaben, die Sie automatisieren möchten, z. B. Infrastrukturbereitstellung, Codebereitstellung und Tests. Er umfasst außerdem die Identifizierung der Tools und Technologien, die Sie zum Implementieren der Automatisierung verwenden möchten.

  • Machen Sie beim Entwerfen einer Automatisierungs- und CI/CD-Pipeline in App Service Sicherheit zur obersten Priorität. Sicherheitsaufgaben können das Implementieren von Authentifizierungs- und Autorisierungsmaßnahmen umfassen, um den Zugriff auf die Pipeline und ihre Komponenten zu schützen. Sie können außerdem die Implementierung von Verschlüsselung und anderen Sicherheitsmaßnahmen beinhalten, um vertrauliche Daten zu schützen.

  • Ziehen Sie Continuous Integration und Continuous Deployment in Betracht. App Service unterstützt Continuous Integration und Continuous Deployment aus verschiedenen Quellcodeverwaltungssystemen, einschließlich Azure Repos, GitHub und Bitbucket. Sie können diese Tools verwenden, um den Build- und Bereitstellungsprozess zu automatisieren, um sicherzustellen, dass Ihre App immer auf dem neuesten Stand und verfügbar ist.

  • Ziehen Sie Automatisierungsskripts in Erwägung. App Service bietet eine Reihe von Automatisierungsskripts, darunter PowerShell-, Azure CLI-, Bicep- und ARM-Vorlagen (Azure Resource Manager). Sie können diese Skripts verwenden, um häufige Aufgaben wie Bereitstellung und Skalierung von Ressourcen zu automatisieren.

  • Bewerten Sie, ob Sie selbstgehostete Agents verwenden müssen. Abhängig von Ihrer Netzwerkkonfiguration ist App Services möglicherweise nicht über das öffentliche Internet verfügbar. Wenn dies der Fall ist, funktionieren öffentlich gehostete Agents nicht für Bereitstellungen. Planen Sie in diesen Szenarien den Einsatz von selbstgehosteten Agents.

  • Wählen Sie eine Branchingstrategie, die Ihnen die Zusammenarbeit erleichtert und zugleich Flexibilität bietet. Halten Sie Ihre Strategie einfach, verwenden Sie Isolation kurzlebiger Features, und ermöglichen Sie auf Ihren Mainbranch zurück wirkende Änderungen durch Pull Requests mit manueller und automatisierter Codeanalyse.

  • Stellen Sie sicher, dass Ihre Geschäftslogik durch Komponententests in der Buildpipeline überprüft wird. Verwenden Sie Integrationstests in der Releasepipeline, um zu überprüfen, ob alle Dienste und Ressourcen nach einem neuen Release zusammenarbeiten. Überprüfen Sie die kritischsten UI-Elemente mithilfe von automatisierten UI-Tests. Überprüfen Sie nicht funktionale Leistungsanforderungen mithilfe von Auslastungstests über Tools wie k6 und JMeter in Ihrer Stagingumgebung.

  • Überwachen und warten Sie die Automatisierungs- und CI/CD-Pipeline. Dieser Prozess kann die Implementierung von Protokollierungs- und Überwachungstools beinhalten, um die Leistung und Integrität Ihrer Pipeline nachzuverfolgen. Er kann außerdem die Implementierung eines Prozesses zur regelmäßigen Überprüfung und Aktualisierung der Pipeline umfassen, um sicherzustellen, dass sie effektiv und effizient bleibt.

Der Schlüssel zu einer erfolgreichen Plattformautomatisierung und CI/CD-Pipelineimplementierung in App Service besteht darin, die Lösung sorgfältig zu planen und zu entwerfen, unter Berücksichtigung der spezifischen Bedürfnisse und Anforderungen der Anwendungen, die Sie bereitstellen. Mit dem richtigen Ansatz können Sie eine skalierbare, sichere und effiziente Plattform für die Bereitstellung und Verwaltung Ihrer Anwendungen in der Cloud schaffen.

Entwurfsempfehlungen

Beachten Sie bei der Bereitstellung von App Service die folgenden bewährten Methoden.

  • Verwenden Sie Azure DevOps für Ihre CI/CD-Pipeline. Azure DevOps bietet eine umfassende Lösung zum Automatisieren von Erstellung, Tests und Bereitstellung Ihrer Anwendungen.

  • Verwenden Sie für Folgendes Pipelines oder Aktionen:

    • Maximieren Sie die Vorteile angewendeter Methoden im gesamten Team.
    • Entfernen Sie den Großteil der Last, Prozesse neu erfinden zu müssen.
    • Erhalten Sie Vorhersagbarkeit und Erkenntnisse zur Gesamtqualität und Agilität.
  • Frühzeitiges und häufiges Bereitstellen durch die Verwendung von triggerbasierten und geplanten Pipelines. Sicherstellen der ordnungsgemäßen Prüfung von Änderungen durch triggerbasierte Pipelines Verwalten des Verhaltens in sich ändernden Umgebungen durch geplante Pipelines

  • Trennen der Bereitstellung der Infrastruktur von der Anwendungsbereitstellung. Die Kerninfrastruktur ändert sich weniger häufig als Anwendungen. Behandeln Sie jeden Bereitstellungstyp als separaten Flow und separate Pipeline.

  • Verwenden Sie Infrastructure-as-Code-Tools wie ARM- oder Bicep-Vorlagen, um die Bereitstellung und Verwaltung Ihrer Azure-Ressourcen zu automatisieren. Sie können ARM- und Bicep-Vorlagen verwenden, um Ihre infrastructure-as-code zu definieren, was die Versionskontrolle, die Zusammenarbeit an Ihren Ressourcen und die Automatisierung ihrer Bereitstellung einfach macht.

  • Speichern Sie Geheimnisse und andere vertrauliche Artefakte im relevanten Geheimnisspeicher (etwa Azure Key Vault oder GitHub Secrets). Erteilen Sie Aktionen und anderen Teilen des Workflows nach Bedarf Lesezugriff auf sie.

  • Streben Sie nach maximaler Parallelität bei der Bereitstellung, indem Sie hartcodierte Konfiguration und Einstellungen vermeiden.

  • Implementieren Sie Linksverschiebung bei der Sicherheit, indem Sie Tools zum Scannen von Schwachstellen und Geheimnissen, z. B. Containerscanner, am Anfang der Pipeline aufnehmen.

  • Richten Sie eine Bereitstellungsstrategie ein, die die Prinzipien von Blau/Grün- oder Canary-Bereitstellungen implementiert, um Ausfallzeiten zu minimieren und das Risiko von Bereitstellungsfehlern zu verringern. Auf diese Weise können Sie neue Versionen Ihrer Anwendung vor dem Rollout für die gesamte Benutzerbasis schrittweise für eine kleine Teilmenge von Benutzern bereitstellen.

  • Verwenden Sie App Service Bereitstellungsslots, um eine Blau/Grün-Bereitstellungsstrategie zu implementieren. Dadurch können Sie Ihre Bereitstellungen in einer Stagingumgebung überprüfen und testen, bevor Sie sie in der Produktion bereitstellen. Diese Strategie hilft Ihnen, eine reibungslose und erfolgreiche Bereitstellung sicherzustellen, Anwendungsänderungen zu überprüfen und Ausfallzeiten zu minimieren.

  • Überwachen Sie die Leistung und Verfügbarkeit Ihrer Anwendungen mithilfe von Application Insights, und verfolgen Sie sie nach. Application Insights bietet Echtzeit-Einblicke in die Integrität und Nutzung Ihrer Anwendungen. Es kann Ihnen auch helfen, auftretende Probleme schnell zu diagnostizieren und zu beheben.

  • Implementieren Sie Tools und Prozesse, die Kommunikation und Zusammenarbeit erleichtern, z. B. Agile-Entwicklungsmethoden und Tools zum Nachverfolgen und Verwalten von Aufgaben und Abhängigkeiten. Erfolgreiche Plattformautomatisierung, DevOps und CI/CD-Prozesse basieren auf einer effektiven Zusammenarbeit und Kommunikation zwischen Teammitgliedern.

Der Schlüssel für eine erfolgreiche Plattformautomatisierung, DevOps und CI/CD mit App Service besteht im Entwerfen und Implementieren von Prozessen und Systemen, die skalierbar, sicher, gut überwacht und auf Zusammenarbeit ausgerichtet sind. Diese Empfehlungen können IT- und Cloudtechnikern helfen, sicherzustellen, dass ihre Apps und APIs die bestmögliche Leistung und Benutzerfreundlichkeit bieten.