Udostępnij za pośrednictwem


Lista kontrolna gotowości do produkcji

Czy aplikacja i klaster są gotowe do podjęcia ruchu produkcyjnego? Uruchamianie i testowanie aplikacji, a klaster nie musi oznaczać, że jest gotowy do przejścia do środowiska produkcyjnego. Zachowaj bezproblemowe działanie aplikacji i klastra, przechodząc przez poniższą listę kontrolną. Zdecydowanie zalecamy, aby wszystkie te elementy były zaznaczone. Oczywiście możesz użyć alternatywnych rozwiązań dla określonego elementu wiersza (na przykład własnych struktur diagnostycznych).

Wymagania wstępne dotyczące środowiska produkcyjnego

  1. Najlepsze rozwiązania dotyczące usługi Azure Service Fabric: Projektowanie aplikacji, zabezpieczenia, sieć, planowanie i skalowanie pojemności, infrastruktura jako kod oraz monitorowanie i diagnostyka.
  2. Skonfiguruj ustawienia FabricTransport, jeśli używasz modelu programowania Reliable Actors i wymagasz bezpiecznej komunikacji między usługami.
  3. W przypadku klastrów z więcej niż 20 rdzeniami lub 10 węzłami utwórz dedykowany typ węzła podstawowego dla usług systemowych. Dodaj ograniczenia umieszczania, aby zarezerwować typ węzła podstawowego dla usług systemowych.
  4. Użyj jednostki SKU D2v2 lub nowszej dla typu węzła podstawowego. Zaleca się wybranie jednostki SKU z co najmniej 50 GB pojemności dysku twardego.
  5. Klastry produkcyjne muszą być bezpieczne. Aby zapoznać się z przykładem konfigurowania bezpiecznego klastra, zobacz ten szablon klastra. Używaj nazw pospolitych dla certyfikatów i unikaj używania certyfikatów z podpisem własnym.
  6. Dodaj ograniczenia zasobów dotyczące kontenerów i usług, aby nie zużywały więcej niż 75% zasobów węzłów.
  7. Omówienie i ustawianie poziomu trwałości. Poziom srebra lub wyższej trwałości jest zalecany w przypadku typów węzłów z obciążeniami stanowymi i wymaganymi do produkcji.
  8. Poznaj i wybierz poziom niezawodności typu węzła. Zalecana jest niezawodność silver lub wyższa i wymagana do produkcji.
  9. Ładowanie i skalowanie testowania obciążeń w celu zidentyfikowania wymagań dotyczących pojemności klastra.
  10. Usługi i aplikacje są monitorowane, a dzienniki aplikacji są generowane i przechowywane z alertami. Na przykład zobacz Dodawanie rejestrowania do aplikacji usługi Service Fabric i Monitorowanie kontenerów przy użyciu dzienników usługi Azure Monitor.
  11. Klaster jest monitorowany przy użyciu alertów (na przykład z dziennikami usługi Azure Monitor).
  12. Podstawowa infrastruktura zestawu skalowania maszyn wirtualnych jest monitorowana przy użyciu alertów (na przykład za pomocą dzienników usługi Azure Monitor).
  13. Klaster ma zawsze certyfikaty podstawowe i pomocnicze (więc nie można go zablokować).
  14. Obsługa oddzielnych klastrów na potrzeby programowania, przemieszczania i produkcji.
  15. Uaktualnienia aplikacji i uaktualnienia klastra są najpierw testowane w klastrach programistycznych i przejściowych.
  16. Wyłącz automatyczne uaktualnienia w klastrach produkcyjnych i włącz je dla klastrów programistycznych i przejściowych (wycofywanie zgodnie z potrzebami).
  17. Ustanów cel punktu odzyskiwania (RPO) dla usługi i skonfiguruj proces odzyskiwania po awarii i przetestuj go.
  18. Zaplanuj ręczne lub programowe skalowanie klastra.
  19. Zaplanuj stosowanie poprawek węzłów klastra.
  20. Ustanów potok ciągłej integracji/ciągłego wdrażania, aby najnowsze zmiany były stale testowane. Na przykład przy użyciu usługi Azure DevOps lub Jenkins
  21. Przetestuj klastry programistyczne i przejściowe pod obciążeniem za pomocą usługi Analizy błędów i wywołaj kontrolowany chaos.
  22. Planowanie skalowania aplikacji.

Jeśli używasz usługi Service Fabric Reliable Services lub modelu programowania Reliable Actors, należy zaznaczyć następujące elementy:

  1. Uaktualnij aplikacje podczas programowania lokalnego, aby sprawdzić, czy kod usługi honoruje token anulowania w metodzie RunAsync i zamyka niestandardowe odbiorniki komunikacji.
  2. Unikaj typowych pułapek podczas korzystania z niezawodnych kolekcji.
  3. Monitoruj liczniki wydajności pamięci środowiska .NET CLR podczas uruchamiania testów obciążeniowych i sprawdź wysokie wskaźniki odzyskiwania pamięci lub wzrostu stert.
  4. Zachowaj kopię zapasową w trybie offline usług Reliable Services i Reliable Actors i przetestuj proces przywracania.
  5. Podstawowa liczba wystąpień maszyny wirtualnej NodeType powinna być równa minimalnej dla warstwy Niezawodność klastrów; warunki, jeśli są odpowiednie do przekroczenia minimalnej warstwy, obejmują: tymczasowo podczas skalowania w pionie jednostki SKU podstawowego zestawu skalowania maszyn wirtualnych NodeTypes.

Opcjonalne najlepsze rozwiązania

Chociaż powyższe listy są wymagania wstępne dotyczące przejścia do środowiska produkcyjnego, należy również rozważyć następujące elementy:

  1. Podłącz model kondycji usługi Service Fabric do rozszerzania wbudowanej oceny kondycji i raportowania.
  2. Wdróż niestandardowy element watchdog, który monitoruje aplikację i raportuje obciążenie pod kątem równoważenia zasobów.

Następne kroki