Controlelijst voor productiegereedheid

Is uw toepassing en cluster klaar om productieverkeer te nemen? Het uitvoeren en testen van uw toepassing en uw cluster betekent niet noodzakelijkerwijs dat het klaar is om in productie te gaan. Zorg ervoor dat uw toepassing en cluster soepel werken door de volgende controlelijst te doorlopen. We raden u ten zeerste aan al deze items af te checken. U kunt er uiteraard voor kiezen om alternatieve oplossingen te gebruiken voor een bepaald regelitem (bijvoorbeeld uw eigen diagnostische frameworks).

Vereisten voor productie

  1. Best practices voor Azure Service Fabric: Toepassingsontwerp, beveiliging, netwerken, capaciteitsplanning en schalen, Infrastructuur als code en bewaking en diagnose.
  2. Configureer FabricTransport-instellingen als u het Reliable Actors-programmeermodel gebruikt en veilige communicatie tussen services vereist.
  3. Voor clusters met meer dan 20 kernen of 10 knooppunten maakt u een toegewezen primair knooppunttype voor systeemservices. Voeg plaatsingsbeperkingen toe om het primaire knooppunttype voor systeemservices te reserveren.
  4. Gebruik een D2v2- of hogere SKU voor het primaire knooppunttype. Het wordt aanbevolen om een SKU te kiezen met ten minste 50 GB hardeschijfcapaciteit.
  5. Productieclusters moeten veilig zijn. Zie deze clustersjabloon voor een voorbeeld van het instellen van een beveiligd cluster. Gebruik algemene namen voor certificaten en vermijd het gebruik van zelfondertekende certificaten.
  6. Voeg resourcebeperkingen toe voor containers en services, zodat ze niet meer dan 75% van de knooppuntresources verbruiken.
  7. Het duurzaamheidsniveau begrijpen en instellen. Zilver of hoger duurzaamheidsniveau wordt aanbevolen voor knooppunttypen waarop stateful workloads worden uitgevoerd en vereist zijn voor productie.
  8. Het betrouwbaarheidsniveau van het knooppunttype begrijpen en kiezen. Zilver of hogere betrouwbaarheid wordt aanbevolen en is vereist voor productie.
  9. Uw workloads laden en schalen om capaciteitsvereisten voor uw cluster te identificeren.
  10. Uw services en toepassingen worden bewaakt en toepassingslogboeken worden gegenereerd en opgeslagen, met waarschuwingen. Zie Bijvoorbeeld Logboekregistratie toevoegen aan uw Service Fabric-toepassing en Containers bewaken met Azure Monitor-logboeken.
  11. Het cluster wordt bewaakt met waarschuwingen (bijvoorbeeld met Azure Monitor-logboeken).
  12. De onderliggende infrastructuur voor virtuele-machineschaalsets wordt bewaakt met waarschuwingen (bijvoorbeeld met Azure Monitor-logboeken).
  13. Het cluster heeft altijd primaire en secundaire certificaten (zodat u niet wordt vergrendeld).
  14. Onderhoud afzonderlijke clusters voor ontwikkeling, fasering en productie.
  15. Toepassingsupgrades en clusterupgrades worden eerst getest in ontwikkelings- en faseringsclusters.
  16. Schakel automatische upgrades in productieclusters uit en schakel deze in voor ontwikkelings- en faseringsclusters (terugdraaien indien nodig).
  17. Stel een RPO (Recovery Point Objective) in voor uw service en stel een proces voor herstel na noodgevallen in en test het uit.
  18. Plan het handmatig of programmatisch schalen van uw cluster.
  19. Plan voor het patchen van uw clusterknooppunten.
  20. Stel een CI/CD-pijplijn in, zodat uw meest recente wijzigingen voortdurend worden getest. Bijvoorbeeld met behulp van Azure DevOps of Jenkins
  21. Test uw ontwikkel- en faseringsclusters onder belasting met de Fault Analysis Service en veroorzaakt gecontroleerde chaos.
  22. Plan het schalen van uw toepassingen.

Als u het Service Fabric Reliable Services- of Reliable Actors-programmeermodel gebruikt, moeten de volgende items worden afgevinkt:

  1. Upgrade toepassingen tijdens lokale ontwikkeling om te controleren of uw servicecode het annuleringstoken in de RunAsync methode nakomt en aangepaste communicatielisteners sluit.
  2. Vermijd veelvoorkomende valkuilen bij het gebruik van Reliable Collections.
  3. Bewaak de prestatiemeteritems van .NET CLR-geheugen bij het uitvoeren van belastingstests en controleer op hoge frequenties van garbagecollection of runaway heap-groei.
  4. Onderhoud offline back-up van Reliable Services en Reliable Actors en test het herstelproces.
  5. Het aantal instanties van uw primaire NodeType Virtual Machine moet idealiter gelijk zijn aan het minimum voor de betrouwbaarheidslaag clusters; voorwaarden indien van toepassing om het minimum aan laag te overschrijden, omvat: tijdelijk wanneer u de SKU van de virtuele-machineschaalset van primaire nodetypes verticaal schaalt.

Optionele aanbevolen procedures

Hoewel de bovenstaande lijsten vereisten zijn om in productie te gaan, moeten de volgende items ook worden overwogen:

  1. Sluit u aan bij het Service Fabric-statusmodel voor het uitbreiden van de ingebouwde statusevaluatie en -rapportage.
  2. Implementeer een aangepaste watchdog die de belasting van uw toepassing bewaakt en rapporteert voor resourceverdeling.

Volgende stappen