Negocjowanie realistycznych celów dotyczących wydajności

Ukończone
Zdefiniowane jest zamierzone środowisko użytkownika i istnieje strategia tworzenia testów porównawczych i mierzenia celów w stosunku do wstępnie ustalonych wymagań biznesowych.

Z perspektywy wydajności idealne jest posiadanie dobrze zdefiniowanych celów wydajności w celu rozpoczęcia procesu projektowania. Aby ustawić te cele, musisz mieć dobrą wiedzę na temat wymagań biznesowych i przewidywanej jakości usług, którą oczekuje się dostarczenia obciążenia. Zdefiniuj oczekiwania we współpracy z uczestnikami projektu biznesowego. Zamiast skupiać się tylko na metrykach technicznych, określ akceptowalny wpływ na środowisko użytkownika dla kluczowych przepływów.

Istnieje zależność cykliczna. Nie można zmierzyć, czego nie zdefiniowano i nie można zdefiniować bez pomiaru. Dlatego ważne jest również, aby zmierzyć wydajność obciążenia, dopóki nie osiągniesz zadowalającej definicji akceptowalnego progu z umową zbiorową.

Istnieje silna korelacja między celami wydajności i niezawodności, które pomagają określić jakość usług pod względem wydajności, dostępności i odporności. Bez jasnej definicji trudno jest zmierzyć, otrzymywać alerty i testować wydajność. Po ustanowieniu celów i zidentyfikowaniu rzeczywistych liczb za pomocą testów w czasie można zaimplementować automatyzację na potrzeby ciągłego testowania względem tych celów.

Przestrzegaj najlepszych rozwiązań w zakresie definiowania celów na poziomie makr, nawet jeśli są one przybliżone lub mieści się w zakresie.

Przykładowy scenariusz

Contoso Bicycle to bezpośrednia marka rowerów konsumenckich w Stany Zjednoczone. Ich zespół programistyczny rozpoczął pracę nad tworzeniem aplikacji w ramach planowanej oferty usługi naprawy rowerów mobilnych firmy Contoso. Aplikacja jest obecnie w fazie weryfikacji koncepcji. Technicy będą używać aplikacji mobilnej do zarządzania swoim harmonogramem i zleceniami pracy, a także przyjmowania płatności. Witryna internetowa będzie używana do planowania usługi przez klientów. Aplikacja internetowa, aplikacja mobilna i interfejs API zaplecza prawdopodobnie będą hostowane w usłudze aplikacja systemu Azure Service.

Przygotowanie do negocjowania celów wydajności

Przygotuj się do skutecznych negocjacji, poznając koncepcje techniczne, eksplorując możliwości projektowe z dostępną infrastrukturą i korzystając z wyników konkretnych eksperymentów, jeśli są dostępne. Użyj danych historycznych, aby uzyskać wgląd w wzorce użycia i wąskie gardła. Wprowadzanie szczegółowych informacji z czynników zewnętrznych, takich jak dane wejściowe z analizy rynku, ekspertów i standardów branżowych.

Możesz podejmować świadome decyzje na podstawie praktycznych szczegółowych informacji.

Cele dotyczące wydajności koncentrują się na środowisku użytkownika opartym na tym, co jest możliwe, najlepsze rozwiązania branżowe i bieżące trendy rynkowe.

Wyzwanie firmy Contoso

  • W dyskusjach na temat aplikacji z uczestnikami projektu biznesowego wydajność nie została jeszcze omówiona.
  • Zespół deweloperów jest nowym użytkownikiem platformy Azure i nie ma znajomości możliwości wydajności i skalowania platformy.
  • Bez wskazówek ze strony zainteresowanych stron i praktycznej wiedzy na temat tego, co jest możliwe, zespół obawia się, że będzie musiał wdrożyć infrastrukturę do testowania tylko w celu późniejszego ponownego skompilowania.
  • Zespół obawia się również, że nikt nie będzie gotów mówić o realistycznych celach wydajności, gdy spotkają się następnego.

Stosowanie podejścia i wyników

  • Analitycy biznesowi i deweloperzy firmy Contoso omawiają swoje obawy i wymyślają plan: Analitycy biznesowi będą badać oczekiwania dotyczące wydajności poprzez analizę konkurencyjną i nieformalne sondowanie, a zespół deweloperów zbada możliwości i opcje platformy Azure dla różnych warstw cenowych.
  • Zespoły przegrupowują się ze stronami biznesowymi, przenosząc dane, które skompilowali i wykorzystują dane jako podstawę do negocjacji dotyczących celów dotyczących wydajności. W dyskusjach na temat potencjalnych możliwości wydajności i związanych z nimi kosztów wszystkie strony pozostawiają poczucie dobrego samopoczucia w zakresie korzystania z usług App Services dla obciążenia.

Efektywne negocjowanie celów wydajności

Współpracuj z właścicielami firm, aby zrozumieć obietnice użytkowników w zakresie jakości i zgodności z przepisami, jeśli ma to zastosowanie. Zachowaj szeroką perspektywę i unikaj zagłębianie się w szczegółowe szczegóły na tym etapie. Określ, co reprezentuje akceptowalną wydajność, na podstawie inwestycji i poznaj kontekst biznesowy i przewidywany wzrost.

Przyjmując to podejście, należy unikać wprowadzania założeń, które mogą nie być zgodne z celami biznesowymi. Pozwala to również na przejrzystość i motywację w zespole ds. obciążeń.

Posiadanie kontekstu biznesowego na wymaganiach funkcjonalnych i niefunkcjonalnych może ujawnić zmiany projektu w innych filarach dobrze zaprojektowanych na platformie Azure i pomóc w uzyskaniu świadomych kompromisów.

Wczesne definiowanie parametrów pomaga uniknąć kosztów związanych z potencjalnymi przeprojektami rozwiązań później; umożliwia zapewnienie, że cele wydajności obejmują przyszłe prognozy, dzięki czemu można dostosować bieżące wysiłki do długoterminowych celów.

Wyzwanie firmy Contoso

  • Zespół architektury ma szorstkie pomysły na to, co może być akceptowalne, ale nie ma jeszcze żadnych szczegółów. Architekci czują się ogólnie, że powinni być w stanie uniknąć ponownej pracy z wybraną platformą aplikacji, ale czuliby się pewniej z nieco bardziej szczegółowością niż to, co do tej pory zdobyli.
  • Do tego momentu dyskusje dotyczące wydajności były niejasne, z oświadczeniami takimi jak" "Strona internetowa musi być szybka".
  • Bez nieco bardziej szczegółowej specyfiki architekci obawiają się, że mogą nadmiernie zaprojektować projekt pod kątem wydajności lub napotykać opóźnienia, które odepchną wydanie do produkcji.

Stosowanie podejścia i wyników

  • Partnerzy biznesowi i zespół techniczny spotykają się, aby uzyskać konsensus w sprawie ogólnych, ale realistycznych celów i niektórych bezwzględnych limitów, których należy unikać. Dzięki tym architektom można wykonać weryfikację koncepcji w ramach ich początkowego projektu, aby uzyskać szeroką umowę na platformie aplikacji i przedstawić pewne ustalenia dotyczące wydajności i cen.
  • Jednym z wyników tego spotkania jest wiedza, że firma Contoso Bicycle planuje tylko działalność w południowo-zachodniej Stany Zjednoczone w pierwszym roku, ale rozszerzy się w całym kraju w ciągu dwóch lat. Te informacje będą uwzględniane w projekcie.

Projektowanie z fokusem skoncentrowanym na przepływie

Zidentyfikuj przepływy obciążenia i nadaj priorytet przepływom na diagramie architektury. Zdefiniuj tolerancję wydajności każdego przepływu jako zakres od aspiracji do niedopuszczalnej wydajności. Oceń punkty wejścia i wyjścia dla każdego przepływu, biorąc pod uwagę krytyczne znaczenie ścieżki, częstotliwość użycia i intensywność architektury.

Priorytetyzując przepływy, możesz skoncentrować zasoby na krytycznych obszarach, które mają największy wpływ na użytkowników i wyniki biznesowe.

Dzieląc system na jego części i zależności, rozumiesz funkcję każdego składnika i wpływasz na wydajność. Możesz również wiedzieć o potencjalnych problemach.

Pomaga to w ustaleniu punktu odniesienia wydajności i optymalizacji dysków.

Wyzwanie firmy Contoso

  • Do tej pory zespół techniczny współpracował z uczestnikami projektu w celu zidentyfikowania celów dotyczących wysokiej wydajności, ale nie skupił się jeszcze na poszczególnych przepływach. Aby zespół projektowy mógł dokładniej zapoznać się z przepływami, takimi jak lokalizator usług i przepływy płatności, muszą zrozumieć wymagania dotyczące tych przepływów.
  • Bez tych konkretnych wymagań ryzyko projektowe związane z przydzielaniem zasobów dla kluczowych przepływów lub przydzielanie zasobów dla przepływów o niższym priorytcie.

Stosowanie podejścia i wyników

  • Po przejrzeniu przepływów użytkowników w firmie zespół architektury ma teraz bardzo konkretne cele udokumentowane dla każdego przepływu. Dekompozycja obciążenia uwzględnia teraz aspiracyjny do niedopuszczalnego zakresu na przepływ.
  • Architekci będą dążyć do osiągnięcia celów aspiracyjnych z ich projektem, aby umożliwić systemowi rozwój wraz z dodatkowymi funkcjami, jednocześnie narażając jakiś stopień na utrzymanie kosztów i innych wymagań niefunkcjonalnych pod kontrolą.
  • Zespół jest w stanie ukończyć projekt wokół celów, które zostały uzgodnione, a teraz zespół implementacji będzie odpowiedzialny za upewnienie się, że te limity są honorowane i zgłaszają wszelkie obawy, jeśli nie można osiągnąć z projektem, z którego pracują.

Sprawdź swoją wiedzę

1.

Dlaczego zespół techniczny firmy Contoso musi zbadać możliwości wydajności na platformie Azure?

2.

Który z poniższych jest przykładem typów punktów, które należy uwzględnić w negocjacji celu wydajności?

3.

Prawda czy fałsz: Cele wydajności powinny być kontekstowe pod względem przepływów obciążeń, a nie poszczególnych zasobów.