Ontwikkeling en implementatie van toepassingen
Bekijk patronen en procedures voor het ontwikkelen van toepassingen, configureer Azure Pipelines en implementeer best practices voor sitebetrouwbaarheidsengineering (SRE). SRE is een software-engineeringbenadering voor het ontwikkelen en implementeren van toepassingen, wijzigingsbeheer, bewaking en respons op noodgevallen.
Plannen, trainen en testen
Gebruik de volgende controlelijst en resources voor het ontwikkelen van toepassingen om de ontwikkeling en implementatie van uw toepassing te plannen. U moet deze vragen kunnen beantwoorden:
- Hebt u uw ontwikkelomgeving voor toepassingen voorbereid en de werkstroom ingesteld?
- Hoe structureert u de projectmap ter ondersteuning van de ontwikkeling van Kubernetes-toepassingen?
- Hebt u de status- en configuratie- en opslagvereisten van uw toepassing geïdentificeerd?
Controlelijst voor SRE
Bereid uw ontwikkelomgeving voor. Configureer uw omgeving met de hulpprogramma's voor het maken van containers en het instellen van uw ontwikkelwerkstroom.
Zie voor meer informatie:
Plaats uw toepassing in een container. Maak kennis met de end-to-end Kubernetes-ontwikkelervaring, waaronder toepassingsstructuur, inner-loopwerkstromen, toepassingsbeheerframeworks, CI/CD-pijplijnen, logboekaggregatie, bewaking en metrische toepassingsgegevens.
Raadpleeg voor meer informatie:
Bekijk veelvoorkomende Kubernetes-scenario's. Kubernetes wordt vaak beschouwd als een platform voor het leveren van microservices, maar het wordt een breder platform. Zie Overzicht van algemene Kubernetes-scenario's (video) voor meer informatie over veelvoorkomende Kubernetes-scenario's, zoals batchanalyse en werkstroom.
Bereid uw toepassing voor op Kubernetes. Bereid de indeling van uw toepassingsbestandssysteem voor Kubernetes voor en organiseer deze voor wekelijkse of dagelijkse releases. Meer informatie over hoe het Kubernetes-implementatieproces betrouwbare upgrades zonder downtime mogelijk maakt.
Zie voor meer informatie:
Toepassingsopslag beheren. Inzicht in de prestatiebehoeften en toegangsmethoden voor pods, zodat u de juiste opslagopties kunt opgeven. Plan manieren om een back-up te maken en het herstelproces voor gekoppelde opslag te testen.
Raadpleeg voor meer informatie:
Toepassingsgeheimen beheren. Gebruik een sleutelkluis om sleutels en referenties op te slaan en op te halen. Sla geen referenties op in uw toepassingscode.
Zie voor meer informatie:
Implementeren in productie en best practices toepassen
Wanneer u de toepassing voorbereidt voor productie, gebruikt u de volgende controlelijst. U moet deze vragen kunnen beantwoorden:
- Kunt u alle aspecten van uw toepassing bewaken?
- Hebt u resourcevereisten voor uw toepassing gedefinieerd? Hoe zit het met het schalen van vereisten?
- Kunt u nieuwe versies van de toepassing implementeren zonder dat dit van invloed is op productiesystemen?
Controlelijst voor aanbevolen procedures voor SRE
Gereedheids- en livenessstatuscontroles configureren. Kubernetes maakt gebruik van gereedheids- en livenesscontroles om te weten wanneer uw toepassing gereed is voor het ontvangen van verkeer en wanneer deze opnieuw moet worden opgestart. Wanneer u geen controles definieert, kan Kubernetes niet bepalen of uw toepassing wordt uitgevoerd. Zie liveness- en gereedheidscontroles voor meer informatie.
Configureer logboekregistratie, toepassingsbewaking en waarschuwingen. Het bewaken van uw containers is essentieel, met name wanneer u een productiecluster op schaal uitvoert, met meerdere toepassingen. De aanbevolen methode voor logboekregistratie voor toepassingen in containers is het schrijven naar de standaarduitvoer (
stdout
) en standaardfoutstreams (stderr
).Zie voor meer informatie:
- Logboekregistratie in Kubernetes
- Aan de slag met bewaking en waarschuwingen voor Kubernetes (video)
- Azure Monitor voor containers
- Kubernetes-besturingsvlaklogboeken inschakelen en controleren in Azure Kubernetes Service (AKS)
- Kubernetes-logboeken, gebeurtenissen en metrische gegevens over pods in realtime weergeven
Definieer resourcevereisten voor de toepassing. Een primaire manier om de rekenresources binnen een Kubernetes-cluster te beheren, is het gebruik van podaanvragen en -limieten. Deze aanvragen en limieten vertellen de Kubernetes-planner welke rekenresources moeten worden toegewezen aan een pod. Zie Pod-resourceaanvragen en -limieten definiëren voor meer informatie.
Configureer de vereisten voor het schalen van toepassingen. Kubernetes biedt ondersteuning voor het automatisch horizontaal schalen van schillen om zo het aantal schillen in een implementatie aan te passen op basis van het CPU-gebruik of andere geselecteerde metrische gegevens. Als u de automatische schaalaanpassing wilt gebruiken, moeten voor alle containers in uw pods CPU-aanvragen en -limieten zijn gedefinieerd. Zie Automatische schaalaanpassing van horizontale pods configureren voor meer informatie.
Toepassingen implementeren met behulp van een geautomatiseerde pijplijn en DevOps. Dankzij de volledige automatisering van alle stappen tussen het doorvoeren van code naar productie-implementatie kunnen teams zich richten op het bouwen van code en het verwijderen van de overhead en mogelijke menselijke fouten in handmatige stappen. Het implementeren van nieuwe code is sneller en minder riskant, waardoor teams flexibeler, productiever en betrouwbaarder worden over hun actieve code.
Raadpleeg voor meer informatie:
Optimaliseren en schalen
Nu de toepassing in productie is, gebruikt u de controlelijst voor toepassingsimplementatie om uw werkstroom te optimaliseren en uw toepassing en team voor te bereiden om te schalen. U moet deze vragen kunnen beantwoorden:
- Zijn kruislingse toepassingsproblemen geabstraheerd van uw toepassing?
- Kunt u de betrouwbaarheid van het systeem en de toepassing behouden en tegelijkertijd nieuwe functies en versies herhalen?
Controlelijst voor toepassingsimplementatie
Implementeer een API-gateway. Een API-gateway fungeert als ingangspunt voor microservices, koppelt clients los van uw microservices, voegt een andere beveiligingslaag toe en vermindert de complexiteit van uw microservices door de last van het afhandelen van kruislingse problemen te verwijderen. Zie Azure API Management gebruiken met microservices die zijn geïmplementeerd in Azure Kubernetes Service voor meer informatie.
Een service-mesh implementeren. Een service-mesh biedt mogelijkheden voor uw workloads, zoals verkeerbeheer, tolerantie, beleid, beveiliging, sterke identiteit en waarneembaarheid. Uw toepassing wordt losgekoppeld van deze operationele mogelijkheden en de service-mesh verplaatst ze uit de toepassingslaag en omlaag naar de infrastructuurlaag.
Zie voor meer informatie:
SRE-procedures implementeren. SRE is een bewezen benadering die cruciale systeem- en toepassingsbetrouwbaarheid handhaaft en itereert met de snelheid die de marketplace vereist.
Raadpleeg voor meer informatie: