Kompromisy w zakresie doskonałości operacyjnej dla Power Platform obciążeń
Doskonałość operacyjna wspiera jakość obciążenia poprzez wdrażanie jasnych standardów zespołu, rozumianą odpowiedzialność i rozliczalność, dbałość o wyniki klientów i spójność zespołu. Implementacja tych celów jest zakorzeniona w programie DevOps, która zaleca ograniczenie różnic w procesie, zmniejszenie liczby błędów ludzkich i zwiększenie zwrotu wartości z obciążenia. Ta wartość nie jest mierzona tylko w odniesieniu do wymagań funkcjonalnych obsługiwanych przez składniki obciążenia. Jest ona również mierzona przez wartość, która zapewnia zespołowi możliwość poprawy.
W fazie projektowania obciążenia i w całym cyklu życia, gdy podejmowane są kroki ciągłego doskonalenia, ważne jest, aby rozważyć, w jaki sposób decyzje oparte na zasadach projektowania doskonałości operacyjnej i zaleceniach zawartych na liście kontrolnej przeglądu projektu dla doskonałości operacyjnej mogą wpływać na cele i optymalizacje innych filarów. Niektóre decyzje mogą być korzystne dla niektórych filarów, ale stanowią kompromis dla innych. W tym artykule przedstawiono przykładowe transakcje, które mogą wystąpić podczas projektowania architektury obciążenia i operacji.
Kompromis doskonałości operacyjnej z rzetelnością
Kompromis: Zwiększona złożoność. Niezawodność ma priorytet, ponieważ prosta konfiguracja pozwala zminimalizować błędy w konfiguracji i zmniejszyć liczbę nieoczekiwanych interakcji.
Strategii bezpiecznego wdrażania często wymagają pewnego rodzaju zgodności z programem przesyłania dalej i wstecz między logiką aplikacji a danymi w obciążeniach. To zwiększenie złożoności zwiększa ciężar testowania i może powodować złożone problemy lub problemy z integralnością danych obciążenia.
Struktury o wysokim stopniu warstwy, modularyzowane lub parametryzowane mogą zwiększyć prawdopodobieństwo przypadkowej nieprawidłowej konfiguracji z powodu złożoności interakcji między składnikami obciążenia.
Wzorce projektowe chmury, które przynoszą korzyści operacjom, czasami wymagają wprowadzenia większej liczby składników, na przykład użycia tajnego magazynu lub przejęcia zależności Application Insights. Dodatkowe komponenty zwiększają punkty interakcji w systemie, zwiększając ryzyko nieprawidłowego działania lub błędnej konfiguracji.
Kompromis: Zwiększono liczbę potencjalnie destabilizujących działań. Środowiska niezawodności zachęca do uniknięcia działań i możliwości wyboru projektu, które mogą destabilizować system i powodować zakłócenie, awarię lub awarię.
Wdrażanie małych, przyrostowych zmian jest techniką ograniczania ryzyka, ale użytkownicy oczekują, że te małe zmiany będą częściej dostarczane do produkcji. Wdrożenia mogą destabilizować system, zwiększa się więc odsetek wdrożeń, co powoduje jego ryzyko.
Podobnie jak wdrożenia w tygodniu i służące do automatyzacji, która ułatwia wprowadzanie zmian w szybszym tempie, również prawdopodobne jest wykonanie większej liczby wdrożeń w krótszym okresie.
Zwiększenie zagęszczenia w celu uproszczenia operacji poprzez zmniejszenie liczby punktów kontrolnych i obserwacyjnych może również prowadzić do zwiększonego ryzyka dostępności, ponieważ nieprawidłowe działanie lub błędna konfiguracja zwiększa efekt zdarzenia destabilizującego.
Kompromis doskonałości operacyjnej z zabezpieczeniami
Kompromis: Zwiększona powierzchnia. Zaleca się zmniejszenie obciążenia obszaru roboczego pod względem składników i ograniczenie do operacji. Ta redukcja minimalizuje luki w zabezpieczeniach i daje mniejszy zakres kontroli i testowania zabezpieczeń.
Składniki, które otaczają obciążenia i obsługują jego operacje, takie jak automatyzacja lub niestandardowy formant, muszą także znajdować się w zakresie zwykłych operacji zabezpieczeń i testowania.
Rutynowe, nieplanowane i awaryjne operacje zwiększają liczbę punktów styku z obciążeniem pracą. Podejście oparte na zerowym zaufaniu wymaga, aby te procesy były uznawane za luki w zabezpieczeniach i musiały być uwzględnione w mechanizmach kontroli zabezpieczeń i walidacji obciążenia.
Na platformie z możliwością skalowalności w systemie są zbierane dzienniki i metryki dotyczące obciążenia, co może być wartościowym źródłem ujawniania informacji. Dlatego zabezpieczenia obciążenia muszą zostać rozszerzone w celu ochrony przed wewnętrznymi i zewnętrznymi zagrożeniami.
Tworzenie agentów, konfiguracja z zewnątrz i opcja przełączania funkcji zwiększają obszar powierzchni aplikacji, który wymaga zabezpieczeń.
Wyższa częstotliwość wdrożeń spowodowana małymi, przyrostowymi zmianami lub działaniami typu "bądź aktualny, bądź na bieżąco" skutkuje większą liczbą testów bezpieczeństwa w cyklu życia tworzenia oprogramowania (SDLC).
Kompromis: Zwiększone pragnienie przejrzystości. Bezpieczne obciążenie jest oparte na projektach, które chronią poufność danych przepływanych przez składniki systemu.
Platformy z możliwością skalowalności uzyskują dane wszystkich typów, aby zyskać wgląd w stan i zachowanie obciążenia. Gdy zespoły chcą osiągnąć większą skalowalność w danych z zakresu skalowalności, istnieje coraz większe ryzyko, że kontrola klasyfikacji danych, na przykład maskowanie danych, nie obejmuje dzienników i źródeł dziennika platformy skalowalności.
Kompromis: Zmniejszona segmentacja. Kluczowe podejście zabezpieczeń służące do wyodrębniania dostępu i działania ma na celu zaprojektowanie ważnej strategii segmentacji. Ten projekt jest zaimplementowany za pomocą izolacji zasobów i kontroli tożsamości.
Zlokalizowanie różnych składników aplikacji w środowiskach współużytkujących i zasobach danych ułatwia segmentowanie zarządzania lub ułatwia segmentowanie oparte na rolach, co jest trudne do osiągnięcia. Składniki znajdujące się w poszczególnych komputerach mogą także potrzebować współużytkowania tożsamości obciążenia, co może powodować nadaj uprawnień lub brak możliwości śledzenia.
Zebranie wszystkich dzienników z systemu w ujednoliconym systemie ułatwia wykonywanie zapytań i tworzenie alertów. Może to jednak również utrudnić lub uniemożliwić zapewnienie zabezpieczeń opartych na wierszach w celu traktowania poufnych danych za pomocą wymaganych mechanizmów kontroli inspekcji.
Uproszczenie zarządzania zabezpieczeniami opartymi na atrybutach lub opartych na rolach przez zmniejszenie ziarnistości ról i ich przypisań może spowodować, że uprawnienia będą szerokie.
Kompromis operacyjnej doskonałości z optymalizacją doświadczenia
Kompromis: Konkurencyjne priorytety. Zaleca się, aby w optymalizacji interfejsu użytkownika sposób działania był zoptymalizowany.
Opracowywanie środowiska użytkownika, które wymaga znacznych zasobów, może zostać obniżone priorytety, co może spowodować, że środowisko nie będzie miało użyteczności, interakcji i projektu wizualnego, których potrzebują użytkownicy obciążeń.
Tworzenie interfejsu użytkownika odbywa się często w szybszych iteracjach i cyklach wysyłkowych, co może obciążyć procesy SDLC zespołu.
Kompromis między doskonałością operacyjną a wydajnością
Kompromis: Zwiększone wykorzystanie zasobów. Filar Wydajność wydajności zaleca przydzielenie jak największej ilości dostępnych zasobów obliczeniowych i sieciowych do wymagań obciążenia.
- Struktura monitorowania obciążenia wymaga, aby składniki w architekturze przydzielały czas i zasoby do tworzenia, zbierania i przesyłania strumieniowego dzienników i metryk. Te punkty danych pomagają zapewnić, że możliwe jest skuteczne zgłaszanie alertów i monitorowanie w celu zapewnienia niezawodności, zabezpieczeń i wydajności. Wraz ze wzrostem poziomu oprzyrządowania może również wzrosnąć obciążenie zasobów systemowych.
Kompromis: Zwiększone opóźnienie. Aby tworzyć wydajne obciążenia, zespoły szukają sposobów na skrócenie czasu i zasobów zużywanych przez obciążenia do wykonywania zadań.
- Niektóre wzorce projektowe chmury, które obsługują podejścia "niezależnych zmian w czasie" w celu wspierania ideałów przyrostowej poprawy, mogą wprowadzać opóźnienia z powodu przechodzenia dodatkowych składników.