Projektowanie pod kątem wymagań biznesowych
Zbierz wymagania biznesowe, koncentrując się na zamierzonym narzędziu obciążenia. |
---|
Wymagania biznesowe są definiowane przez współpracę między uczestnikami projektu biznesowego i architektami obciążeń. Kompromisy należy wprowadzić po każdej stronie, aby upewnić się, że uzgodnione wymagania są realistyczne i osiągalne, a jednocześnie odpowiednio odpowiadają celom dotyczącym niezawodności, które musi spełniać obciążenie. Wymagania muszą obejmować środowisko użytkownika, dane, przepływy pracy i cechy unikatowe dla obciążenia. Wynik procesu wymagań musi jasno określać oczekiwania. Cele muszą być osiągalne i negocjowane z zespołem, biorąc pod uwagę określoną inwestycję. Muszą one być udokumentowane, aby napędzać wybory technologiczne, implementacje i operacje.
Przykładowy scenariusz
Contoso Insurance jest we wczesnej fazie projektowania tworzenia aplikacji internetowej do przetwarzania roszczeń dla swoich posiadaczy polis. Większość podstawowych przepływów użytkownika i systemu została określona, a zespół obciążenia zidentyfikował kilka usług platformy Azure, które skomponują aplikację: aplikacja systemu Azure Service, Azure SQL Database, usługi Azure AI, Azure Event Grid i Azure Logic Apps.
Identyfikowanie celów dotyczących niezawodności
Kwantyfikuj sukces, ustawiając cele dotyczące wskaźników dla poszczególnych składników, przepływów systemu i użytkowników oraz całego systemu.
Metryki kwantyfikują oczekiwania. Umożliwiają one zrozumienie złożoności i określenie, czy koszty podrzędne tych złożoności mieszczą się w limicie inwestycyjnym.
Wartości docelowe wskazują idealny stan. Możesz użyć wartości jako progów testowych, które ułatwiają wykrywanie odchyleń od tego stanu i czasu powrotu do stanu docelowego.
Wymagania dotyczące zgodności muszą również mieć przewidywalne wyniki dla przepływów w zakresie. Ustalanie priorytetów tych przepływów zwraca uwagę na obszary, które są najbardziej wrażliwe.
Wyzwanie firmy Contoso
- Zespół ds. obciążeń chce mieć pewność, że optymalizuje sposób, w jaki zasoby są wydawane na zapewnienie niezawodności obciążenia.
- Obciążenie zostało rozłożone na przepływy i oceniło przepływy w oparciu o ich krytyczność.
Stosowanie podejścia i wyników
- Zespół określa, że przepływ przesyłania i zatwierdzania oświadczeń będzie miał najwyższe wymagania dotyczące niezawodności obciążenia ze względu na zależność lekarzy i pacjentów od dostępności tego przepływu.
- Zespół ds. obciążeń identyfikuje składniki, które obsługują ten przepływ, i określa miary niezawodności, których wymaga osiągnięcie celów.
Omówienie zobowiązań dotyczących platformy
Zapoznaj się z gwarantowanymi metrykami niezawodności udostępnianymi przez platformę w chmurze i weź pod uwagę limity, limity przydziału i ograniczenia pojemności dla usług.
Umowy dotyczące poziomu usług (SLA) różnią się w zależności od usługi. Nie wszystkie usługi i funkcje są jednakowo objęte. Posiadanie dobrego zrozumienia pokrycia i limitów może pomóc w wykrywaniu dryfu i tworzenia mechanizmów odporności i odzyskiwania.
Wyzwanie firmy Contoso
- Zespół ds. obciążeń i uczestnicy projektu ustalili, że dane dla aplikacji muszą mieć gwarantowany cel czasu odzyskiwania (RTO), który nie może przekraczać 30 sekund, aby zapewnić obsługę krytycznego stanu ich przepływu przesyłania i zatwierdzania oświadczeń.
Stosowanie podejścia i wyników
- Po przejrzeniu opublikowanych umów SLA firmy Microsoft zespół zobaczy, że będzie musiał wdrożyć warstwę Krytyczne dla działania firmy z aktywną replikacją geograficzną, aby osiągnąć ten cel celu czasu odzyskiwania.
Określanie zależności i ich wpływu na odporność
Podczas dekompozycji obciążenia do składników upewnij się, że udokumentowane zostały wszystkie zależności, niezależnie od tego, czy są one wewnętrzne, czy zewnętrzne dla firmy, i zidentyfikuj, jak awarie z zależnościami mogą mieć wpływ na przepływy
Śledzenie infrastruktury, usług, interfejsów API i funkcji zależnych opracowanych przez inne zespoły lub inne firmy pomaga określić, czy obciążenie może działać w przypadku braku tych zależności. Pomaga również zrozumieć błędy kaskadowe i poprawić operacje podrzędne. Deweloperzy mogą implementować odporne wzorce projektowe, aby obsługiwać potencjalne błędy w przypadku korzystania z usług zewnętrznych, które mogą być podatne na awarie.
Wyzwanie firmy Contoso
- Przepływ przesyłania i zatwierdzania oświadczeń jest zależny od małego zestawu danych referencyjnych, który jest hostowany i zarządzany przez inny dział w firmie Contoso Insurance.
- Zestaw danych jest aktualizowany wiele razy dziennie w normalnych godzinach pracy.
- Aplikacja jest przeznaczona do tolerowania niektórych nieaktualności w danych referencyjnych, ale dane muszą być zawsze dostępne dla aplikacji.
Stosowanie podejścia i wyników
- Zespół ds. obciążeń angażuje się w zespół obsługujący zestaw danych referencyjnych i uczy się, że docelowa niezawodność zestawu danych jest niższa niż przepływ, który będzie go używać.
- Zespół dodaje zadania projektowe do listy prac, aby dodać lokalną pamięć podręczną zestawu danych i zadanie w tle, aby zaktualizować pamięć podręczną w nocy. Tolerancja nieaktualności dozwolona przez projekt nie zostanie naruszona przez to rozwiązanie.