Anwendungsentwicklung und Bereitstellung
Zum Entwickeln und bereitstellen von serverlosen Anwendungen mit Azure Functions untersuchen Sie Muster und Vorgehensweisen, konfigurieren Sie DevOps-Pipelines, und implementieren Sie bewährte Methoden für Websitezuverlässigkeits-Engineering (Site Reliability Engineering, SRE).
Ausführliche Informationen zu serverlosen Architekturen und Azure Functions finden Sie in folgenden Themen:
- Serverlose Apps: Architektur, Muster und Azure-Implementierung
- Azure-Cookbook für serverloses Computing
- Beispiele für serverlose Referenzarchitekturen
Planung
So planen Sie die App-Entwicklung und -Bereitstellung:
- Bereiten Sie die Entwicklungsumgebung vor, und richten Sie den Workflow ein.
- Strukturieren Sie Projekte zur Unterstützung der Entwicklung von Azure Functions-Apps.
- Identifizieren Sie App-Trigger, Bindungen und Konfigurationsanforderungen.
Grundlegendes zur ereignisgesteuerten Architektur
Ein anderes Ereignis löst jede Funktion in einem serverlosen Functions-Projekt aus. Weitere Informationen zu ereignisgesteuerten Architekturen finden Sie in folgenden Themen:
- Ereignisgesteuerter Architekturstil.
- Event-driven design patterns to enhance existing applications using Azure Functions (Ereignisgesteuerte Entwurfsmuster zum Verbessern vorhandener Anwendungen mit Azure Functions)
Vorbereiten der Entwicklungsumgebung
Richten Sie den Entwicklungsworkflow und die zugehörige Umgebung mit den Tools zum Erstellen von Functions ein. Ausführliche Informationen zu Entwicklungstools und zur Struktur von Functions-Codeprojekten finden Sie in folgenden Themen:
- Lokales Codieren und Testen von Azure Functions
- Entwickeln von Azure Functions mithilfe von Visual Studio Code
- Entwickeln von Azure Functions mithilfe von Visual Studio
- Arbeiten mit Azure Functions Core Tools
- Ordnerstruktur
Entwicklung
Treffen Sie die Entscheidung über die zu verwendende Entwicklungssprache. Azure Functions unterstützt C#, F#, PowerShell, JavaScript, TypeScript, Java und Python. Alle Funktionen eines Projekts müssen in derselben Sprache geschrieben sein. Weitere Informationen finden Sie unter In Azure Functions unterstützte Sprachen.
Definieren von Triggern und Bindungen
Ein Trigger ruft eine Funktion auf, und jede Funktion muss genau einen Trigger besitzen. Durch die Bindung an eine Funktion wird eine andere Ressource deklarativ mit der Funktion verbunden. Weitere Informationen zu Functions-Triggern und -Bindungen finden Sie in folgenden Themen:
- Konzepte für Azure Functions-Trigger und -Bindungen
- Ausführen einer Azure-Funktion mit Triggern
- Verketten von Azure Functions-Funktionen mithilfe von Eingabe- und Ausgabebindungen
Erstellen der Funktions-App
Für Functions gilt das Prinzip der Einzelverantwortlichkeit: Es wird nur ein Vorgang ausgeführt. Weitere Informationen zum Entwickeln für Functions finden Sie in folgenden Themen:
- Azure Functions: Entwicklerhandbuch
- Erstellen serverloser Anwendungen
- Strategien zum Testen Ihres Codes in Azure Functions
- Bewährte Methoden für Functions
Verwenden von Durable Functions für zustandsbehaftete Workflows
Mit Durable Functions in Azure Functions können Sie zustandsbehaftete Workflows in einer serverlosen Umgebung definieren, indem Sie Orchestratorfunktionen schreiben. Zustandsbehaftete Entitäten definieren Sie durch Schreiben von Entitätsfunktionen. Durable Functions verwalten den Zustand, Prüfpunkte und Neustarts, sodass Sie sich auf die Geschäftslogik konzentrieren können. Weitere Informationen finden Sie unter Was sind Durable Functions?
Grundlegende Informationen zu und Behandeln von Kaltstarts
Wenn der Anzahl der serverlosen Hostinstanzen auf null herunterskaliert wird, weist die nächste Anforderung die zusätzliche Latenz aufgrund des Neustarts der Funktions-App auf; dies wird als Kaltstart bezeichnet. Um die Auswirkungen von Kaltstarts auf die Leistung zu minimieren, verringern Sie die Abhängigkeiten, welche die Funktions-App beim Start laden muss, und verwenden Sie möglichst wenige umfassende, synchrone Aufrufe und Vorgänge. Weitere Informationen zur automatischen Skalierung und zu Kaltstarts finden Sie unter Vorgänge serverloser Funktionen.
Verwalten von Anwendungsgeheimnissen
Speichern Sie Anmeldeinformationen aus Sicherheitsgründen nicht im Anwendungscode. Informationen zum Verwenden von Azure Key Vault mit Azure Functions zum Speichern und Abrufen von Schlüsseln und Anmeldeinformationen finden Sie unter Verwenden von Key Vault-Verweisen für App Service und Azure Functions.
Weitere Informationen zur Anwendungssicherheit von serverlosen Funktionen finden Sie unter Sicherheit für serverlose Funktionen.
Bereitstellung
Um eine serverlose Funktions-App für die Produktion vorzubereiten, stellen Sie sicher, dass Folgendes möglich ist:
- Die Ressourcenanforderungen für die Anwendung müssen erfüllt sein.
- Alle Aspekte der Anwendung müssen überwacht werden.
- Anwendungsprobleme müssen diagnostiziert und behoben werden.
- Sie müssen neue Versionen der Anwendung bereitstellen können, ohne dass dies Produktionssysteme beeinträchtigt.
Definieren der Bereitstellungstechnologie
Sie müssen Entscheidungen zur Bereitstellungstechnologie treffen und geplante Releases organisieren. Weitere Informationen dazu, wie die Bereitstellung von Funktions-Apps zuverlässige Upgrades ohne Downtime ermöglichen, finden Sie unter Bereitstellungstechnologien in Azure Functions.
Vermeiden der Verwendung zu vieler Ressourcenverbindungen
Funktionen in einer Funktions-App nutzen Ressourcen gemeinsam, u. a. Verbindungen mit HTTPS, Datenbanken und Diensten wie Azure Storage. Werden viele Funktionen gleichzeitig ausgeführt, sind möglicherweise nicht mehr ausreichend verfügbare Verbindungen vorhanden. Weitere Informationen finden Sie unter Verwalten von Verbindungen in Azure Functions.
Konfigurieren von Protokollierung, Warnungen und Anwendungsüberwachung
Mit Application Insights in Azure Monitor werden Protokoll-, Leistungs- und Fehlerdaten erfasst. Application Insights erkennt Leistungsanomalien automatisch und verfügt über leistungsstarke Analysetools, mit denen Sie Probleme untersuchen und die Nutzung der Funktionen nachvollziehen können.
Weitere Informationen zur Anwendungsüberwachung und -protokollierung finden Sie in den folgenden Themen:
- Überwachen von Azure Functions
- Überwachen von Azure Functions mit Azure Monitor-Protokollen
- Unterstützte Features in Application Insights für Azure Functions
Diagnostizieren und Behandeln von Problemen
Erfahren Sie, wie Sie die Diagnose effektiv für die Problembehandlung in proaktiven und problemorientierten Szenarien nutzen können. Weitere Informationen finden Sie unter
- Keep your Azure App Service and Azure Functions apps healthy and happy (Gewährleisten der Integrität Ihrer Azure App Service- und Azure Functions-Apps)
- Problembehandlung: „Die Azure Functions-Runtime ist nicht erreichbar“
Bereitstellen von Anwendungen per automatisierter Pipeline und DevOps
Die vollständige Automatisierung aller Schritte vom Codecommit bis zur Bereitstellung für die Produktion ermöglicht Teams die Konzentration auf die Codeerstellung und beseitigt den Mehraufwand und die potenzielle Anfälligkeit für menschliche Fehler bei manuellen Schritten. Die Bereitstellung von neuem Code ist schneller und weniger risikoreich, sodass Teams Code flexibler, produktiver und vertrauensvoller ausführen können.
Weitere Informationen zu DevOps und Continuous Deployment (CD) finden Sie in den folgenden Themen:
- Kontinuierliche Bereitstellung für Azure Functions
- Continuous Delivery mit Azure DevOps
- Continuous Delivery mit GitHub Actions
Optimization
Nachdem die Anwendung in die Produktion übernommen wurde, bereiten Sie die Skalierung vor, und implementieren Sie das Websitezuverlässigkeits-Engineering (Site Reliability Engineering, SRE).
Sicherstellen der optimalen Skalierbarkeit
Informationen zu Faktoren, die sich auf die Skalierbarkeit von Funktions-Apps auswirken, finden Sie in folgenden Themen:
Implementieren von SRE-Praktiken
Websitezuverlässigkeits-Engineering (Site Reliability Engineering, SRE) ist ein bewährter Ansatz zur Aufrechterhaltung der entscheidenden Zuverlässigkeit von Systemen und Anwendungen, während gleichzeitig mit der vom Marketplace geforderten Geschwindigkeit Schritt gehalten wird. Weitere Informationen finden Sie unter
Nächste Schritte
Praktische exemplarische Vorgehensweisen zu Entwicklung und Bereitstellung von serverlosen Funktions-Apps finden Sie in den folgenden Themen:
- Exemplarische Vorgehensweise für den Code serverloser Funktionen
- CI/CD für ein serverloses Front-End
Ein Engineering-Playbook, das Teams und Kunden bei der erfolgreichen Implementierung von serverlosen Functions-Projekten unterstützt, finden Sie unter Code-With Customer/Partner Engineering Playbook (Engineering-Playbook – Codieren mit Kunden/Partnern).
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für