Udostępnij za pośrednictwem


Zasady projektowania doskonałości operacyjnej

Podstawowym elementem filaru doskonałości operacyjnej są praktyki DevOps, które zapewniają jakość obciążeń dzięki ustandaryzowanym przepływom pracy i spójności zespołu. Ten filar definiuje procedury operacyjne dotyczące praktyk programistycznych, możliwości obserwowania i zarządzania wydaniami. Celem jest zminimalizowanie wariancji procesów, prawdopodobieństwa błędu ludzkiego i zakłócenia dla klientów. Aby ocenić kondycję operacyjną, zacznij od następujących pytań:

  • Czy wykonujesz operacje z dziedziną?
  • Czy klienci korzystają z obciążenia z maksymalną przewidywalnością?
  • Jak nauczyć się z doświadczenia i zbieranych danych w celu ciągłego ulepszania?

Operacje obciążeń mogą przekształcić się w chaotyczne praktyki, gdy nie ma wyraźnej własności ani przywództwa. W tym typie środowiska zespoły często uciekają się do metod wykonywanych z dużym nakładem pracy i generują niskie wyniki, co prowadzi do złego środowiska użytkownika. Te podejścia spełniają tylko krótkoterminowe cele. Długoterminowe korzyści są realizowane poprzez ciągłą ocenę i inwestycje strategiczne.

Zasady projektowania zawierają wytyczne dotyczące strategii operacyjnych, które należy wziąć pod uwagę, aby rozwiązać podstawowe przyczyny, a nie tylko leczyć objawy. Zacznij od zalecanych metod, a następnie obserwuj, co działa i co nie pozwala zidentyfikować obszarów poprawy. Po ustawieniu strategii kontynuuj podejmowanie działań, korzystając z listy kontrolnej doskonałości operacyjnej.

Wymagania operacyjne obciążenia są równie ważne, jak wymagania biznesowe. Wydajne procesy zapewniają, że obciążenie osiąga wyniki biznesowe w ramach ograniczeń zgodności, niezależnie od tego, czy zgodność jest organizacyjna, czy zewnętrzna. Kluczem jest znalezienie powtarzalności ze spójnością.

Celem filaru doskonałości operacyjnej jest zrobienie właściwej rzeczy, zrobienie tego we właściwy sposób i rozwiązanie właściwych problemów jako zespół.

Jeśli spełnisz te cele, obciążenia będą działać niezawodnie i przewidywalnie nawet w czasach zmian. Brak możliwości spełnienia wymagań operacyjnych może prowadzić do niepomyślnie wdrożeń, niespójnego środowiska użytkownika i dodania kosztów, których można było uniknąć dzięki odpowiedniemu planowaniu i usprawnionemu wykonywaniu.

Przyjęcie kultury metodyki DevOps

Ikona celu Zwiększanie możliwości zespołów programistycznych i operacyjnych w celu ciągłego ulepszania projektu i procesów systemowych przez współpracę, wspólną odpowiedzialność i własność.

DevOps to społeczność praktyk, w której różnorodność perspektyw i umiejętności napędza jedną misję. Zespoły muszą wspierać wspólne środowisko wiedzy zamiast uczenia się silosowego. Użyj funkcji udostępnionych, aby dążyć do przezwyciężenia ograniczeń zasobów.

Dobra kultura DevOps rozwija się na wspólną odpowiedzialność. Zespoły programistyczne i operacyjne powinny dostosować swoje cele i priorytety do oczekiwań swoich klientów i zachować na uwadze kwestie biznesowe. Zespół programistyczny powinien zaangażować zespół operacyjny w pętli opinii, aby ulepszenia zostały napędzane jako nadrzędne, a inne zespoły również korzystają. Z drugiej strony zespoły operacyjne są odpowiedzialne za osiągnięcie sukcesu zespołu deweloperów w wynikach biznesowych przez udostępnianie zasobów i opinii, które są istotne dla obciążenia.

W tym samym czasie praktyki DevOps stosują jasne linie własności i odpowiedzialność dla każdego zespołu. Niezależnie od tego, gdzie działa aplikacja, zespół ds. obciążeń jest odpowiedzialny za aplikację.

Metodyka DevOps optymalizuje zadania operacyjne, aby były skuteczne, ale nie uciążliwe. Aby czerpać pełną korzyść z metodyki DevOps, kultura powinna optymalizować procesy za pośrednictwem technologii i mieć procesy dla osób w organizacji w celu promowania przejrzystej komunikacji.

Metoda Świadczenia
Użyj typowych systemów i narzędzi , które promują środowisko współpracy na potrzeby komunikacji i śledzenia postępu. Typowe narzędzia i procesy umożliwiają komunikację przezroczystą. Zarówno zespoły programistyczne, jak i zespoły operacyjne korzystają z świadomości sytuacyjnej w różnych środowiskach, typowych problemów z pomocą techniczną oraz ogólnych wyzwań i zwycięstw.

Zespoły będą już znane z istniejących ścieżek eskalacji, jeśli wystąpi zdarzenie.

Wspólna lista prac sprawia, że priorytety, takie jak praca nad nowymi funkcjami lub naprawianie usterek, jest jasne.
Tworzenie uczenia ciągłego i myślenia eksperymentowania w całym cyklu programowania.

Obsługa udostępniania wiedzy w zespołach i obsługa dokumentacji w celu ponownego użycia.

Przeprowadzanie analizy bez winy i przeglądów po wydaniu i/lub po zdarzeniu.
Dzięki mechanizmom eksperymentowania, takim jak testowanie A/B i opracowywanie dowodów koncepcji, możesz zachęcić innowacje przy jednoczesnym zachowaniu niskich kosztów.

Podziel się wiedzą dzięki współpracy, która sprawia, że zespół biegły w podejściach projektowych, narzędziach i procesach.

Wykonywanie retrospektyw po projekcie pomaga zidentyfikować obszary poprawy i świętować sukces.
Przyjęcie sprawdzonych praktyk branżowych zwinnych, które koncentrują się na optymalizacji akcji.

Poszukaj możliwości "przesunięcia w lewo" w operacjach dotyczących ręcznych i zautomatyzowanych procesów, praktyk wdrażania i zapewniania jakości oraz możliwości obserwowania.
Rozwiązania programistyczne Agile prowadzą do krótszych cykli życia wydań, które są wskaźnikiem wartości biznesowej.

Wykrywanie, rozwiązywanie i zapobieganie wcześniejszym problemom jest często mniej uciążliwe dla tego procesu.
Ustaw standardy dla wszystkich procedur programistycznych i operacyjnych oraz przejrzyj je i zweryfikuj je w regularnym tempie.

Procedury te obejmują rutynowe zadania, procesy poza pasmem, ćwiczenia awaryjne i sytuacje, wybór narzędzi, procedury monitorowania, plany umiejętności, a nawet komunikację z uczestnikami projektu i ujawnieniem klientów.

Bądź celowy i wyraźny w swoich decyzjach.
Standardy zwiększają przewidywalność operacji i umożliwiają skalowalność procesów i praktyk. Walidacja standardów to doskonały sposób na czerpanie punktów poprawy.

Przygotuj się na sytuacje awaryjne i rekonwalescencji, przeprowadzając regularne ćwiczenia.

Wykonaj z precyzją i włącz ład, aby zapobiec anomaliom , które prowadzą do ryzyka.
Skorzystaj ze scentralizowanych zespołów operacyjnych z wyspecjalizowanymi umiejętnościami i zakresem doświadczenia. Korzystanie z zasobów udostępnionych jest korzystne zarówno dla operacji, jak i zasobów.

Mimo że jesteś właścicielem obciążenia, scentralizowany zespół pomaga w zakresie umiejętności międzyfunkcyjnych, takich jak zarządzanie zdarzeniami, proaktywna perspektywa monitorowania i outsourcingu wiedzy z zaufaniem.

Ustanawianie standardów rozwoju

Ikona celu Optymalizowanie produktywności dzięki standaryzacji praktyk programistycznych, wymuszania bram jakości oraz śledzenia postępu i sukcesu dzięki systematycznego zarządzania zmianami.

Zespół deweloperów jest odpowiedzialny za rozwiązywanie problemów z obciążeniami przed wydaniem z minimalnym tarciem. Należy pamiętać o wydajności deweloperów i zoptymalizować pod kątem szybkich cykli realizacji, od kodowania po wyniki testowania. Zaimplementuj skuteczne i odpowiednie procesy, które planują i standandaryzują działania techniczne, a także napędzają konsensus w zespole i uczestnikach projektu.

Metoda Świadczenia
Dokumentowanie funkcji obciążeń i przechwytywanie korzyści klientów.

Uzyskiwanie zakresu i szczegółowych wymagań funkcjonalnych i niefunkcjonalnych architektury.

Tworzenie modeli szacowania rozmiaru w celu raportowania zakresu i kosztów zaangażowanych zadań.
Dobre specyfikacje obniżają koszty operacyjne i szanse na awarie , wspierając bardziej produktywne i usprawnione cykle programowania.

Deweloperzy rozumieją kryteria projektowania technicznego , celów i ukończenia przed rozpoczęciem cyklu kodowania.

Dobra dokumentacja ułatwia powtarzalną komunikację i dołączanie nowych członków zespołu.
Użyj standardowej metodologii tworzenia oprogramowania w branży, która jest odpowiednio dostosowana do potrzeb obciążenia i rozmiaru zespołu.

Zachowaj listę prac współdzieloną między wszystkimi rolami.
Przyjęcie dobrze znanej metodologii określa rytm projektu. Usuwa niejednoznaczności procesów, dając członkom zespołu jasne oczekiwania i odpowiedzialność.

Śledząc wspólną listę, zadania można uściślić i ustalić priorytety przy użyciu standardowych rozwiązań. Projekt będzie miał większe szanse na dostarczenie na czas.

Standardowe metodologie ułatwiają zarządzanie ryzykiem. Dzięki szczegółowym przeglądom punktów kontrolnych deweloperzy mogą rozwiązywać potencjalne problemy, zanim staną się one showstoppers.
Użyj ujednoliconej kontroli źródła dla wszystkich kodu, skryptów, szablonów wdrażania, definicji potoku i powiązanej dokumentacji.

Strategia rozgałęziania musi obsługiwać niezależne i współzależne funkcje, poprawki błędów i poprawki bez problemów.

Użyj wspólnej wiedzy w całej organizacji, aby utworzyć strategię rozgałęziania i procesy wdrażania.
Odpowiednie wykorzystanie kontroli źródła ma kluczowe znaczenie dla obsługi współbieżnych zmian i przechowywania wersji.

Zachowaj powtarzalny przepływ pracy do wydawania zmian o różnych rozmiarach i ryzyku, przeprowadzania przeglądów równorzędnych w ramach procesu i przechowywania dziennika inspekcji.
Mają procesy zapewniania jakości, które podkreślają testowanie na wczesnym etapie cyklu projektowania.

Uwzględnij wszystkie artefakty dla planowanych procedur testowania, w tym składniki aplikacji, infrastrukturę i operacje płaszczyzny danych, które są częścią wydania funkcji lub aktualizacji.

Traktuj artefakty jako niezmienne, gdy są promowane za pośrednictwem środowisk, zyskując pewność siebie za każdym razem, gdy przechodzą przez bramę jakości.

Gdzie jest to praktyczne, automatyzowanie rutynowych kontroli.
Zapewnienie jakości zapewnia, że wymagania funkcjonalne i niefunkcjonalne zostały spełnione z ufnością, co prowadzi do pozytywnego wpływu klientów.

Posiadanie planów testów zapewnia jakość i kompletność oraz uwzględnia możliwe przypadki awarii.

Dzięki bramom jakości można wymusić najlepsze rozwiązania w celu zmniejszenia ryzyka.

Niezmienność zapewnia pewność, ponieważ gwarantuje, że testowy system jest dokładnie tym, co publikujesz.

Cykle testowania skutecznie blokują postęp, chyba że zostaną spełnione kryteria jakości.
Spójność dzięki użyciu przewodników stylów i narzędzi, które wymuszają konwencje i wdrażają wspólny łańcuch narzędzi na potrzeby programowania, testowania i komunikacji z uczestnikami projektu.

Standardy technologiczne dla deweloperów powinny wymagać implementacji wzorców, projektowania interfejsu API, rejestrowania, obsługi wyjątków i innych procesów.
Spójność w kodzie umożliwia czytelność i łatwiejszą konserwację. Zmniejsza również złożoność i umożliwia ponowne użycie kodu.

Typowe narzędzia i konwencje ułatwiają również zespołom optymalizowanie procesów bez konieczności rozwiązywania jednorazowych wyborów.
Konsekwentnie i celowo nalegaj na dokumentację dewelopera kodu jako jego napisaną. Jasna dokumentacja kodu zapewnia, że logika i funkcje są łatwo zrozumiałe, gdy stary kod musi być ponownie przeglądany lub gdy zespoły programistyczne obracają się.
Zgłaszanie postępów i trendów w celu mierzenia wydajności. Trendy w błędach, nieudane aktualizacje, czas wdrażania, pętle opinii i inne metryki są publikowane i które napędzają ulepszenia.

Rozwijanie operacji z obserwacją

Ikona celu Uzyskiwanie wglądu w system, uzyskiwanie szczegółowych informacji i podejmowanie decyzji opartych na danych.

Utwórz kulturę, która stale poprawia jakość, monitorując obciążenie i biorąc pod uwagę wszystkie filary platformy Azure Well-Architected Framework. Umożliwia zespołowi i uczestnikom projektu podejmowanie zarówno krótkoterminowych, jak i długoterminowych decyzji w wielu aspektach, zapewniając niezbędne dane, statystyki i trendy. Uzyskaj informacje na podstawie ulepszeń danych i dysków.

Operacje utworzone na potrzeby obserwacji są kluczem do proaktywnej konserwacji aplikacji, jakości i bezpieczeństwa, planowania pojemności i zarządzania produktami.

Kluczowym aspektem monitorowania jest aplikacja korzystająca z modelowania kondycji, która ułatwia przewidywanie problemów, zanim staną się one zdarzeniami i wpływają na środowisko klienta. Efektywne monitorowanie zmniejsza cykle reaktywne poświęcane na zarządzanie zdarzeniami.

Metoda Świadczenia
Tworzenie systemu monitorowania przy użyciu własnego stosu i przepływów.

Traktuj system monitorowania jako wymiar obciążenia, który jest oddzielony od jego narzędzia. Stos musi obejmować wszystkie warstwy, w tym infrastrukturę, kondycję aplikacji oraz procesy kompilacji i wydawania.

Przechwytywanie lub próbkowanie danych biznesowych jest poza zakresem implementacji możliwości obserwacji.
Odłącz monitorowanie i stosy obciążeń, aby oddzielić wymagania funkcjonalne i wymagania dotyczące możliwości obserwowania oraz umożliwić niezależną ewolucję. Zmiany w kodzie nie powinny mieć wpływu na monitorowanie i odwrotnie.

Ponieważ wymagania dotyczące obserwacji są niezależne od wymagań funkcjonalnych, dane biznesowe nie będą zakłócane przez monitorowanie zmian konfiguracji ani awarii.
Spójność w procesie zbierania danych dla każdego typu źródła danych.

Standaryzacja instrumentacji w kodzie przy użyciu standardów branżowych dotyczących telemetrii, zbierania metryk infrastruktury i narzędzi.
Spójność zapobiega wariancji w wykrywaniu i pomiarze, ponieważ znajomość podobnych zasobów skraca czas spędzony na korelowaniu i analizowaniu danych. Masz całościową perspektywę przewidywania problemów.

Emituj dane telemetryczne z kodu aplikacji, który koreluje kluczowe punkty przepływu wykonywania i zapewnia pełny widok na różnych poziomach szczegółowości. Określanie priorytetów akcji na podstawie poziomu ważności i zrozumienie kontekstu, biorąc pod uwagę jego szczegółowość. Te informacje mają kluczowe znaczenie dla celów rozwiązywania problemów.
Ponosi odpowiedzialność za emitowanie i zbieranie danych, nawet jeśli ujścia danych są współużytkowane przez wiele zespołów i zarządzane przez zespoły centralne. Lokalizując dane monitorowania w środowisku obciążenia, zespół może uzyskiwać dostęp do dzienników i metryk w celu rozwiązania problemów z obciążeniami.
Zbierz wystarczająco dużo danych i zachowaj je przez wystarczająco dużo czasu.

Rozważ kompromisy kosztów związane z rejestrowaniem i przechowywaniem danych.
Celowe zbieranie danych ułatwia optymalizowanie kosztów finansowych i operacyjnych związanych ze zbieraniem większej ilości danych niż potrzebne.

Zminimalizuj szum i unikaj intensywnych obliczeń podczas analizy, a następnie zmniejsz koszt przechowywania danych, które nie są już potrzebne.
Rozróżniaj różne sygnały monitorowania: profile, dzienniki, metryki i ślady. Użyj każdego sygnału do odpowiedniego celu.

Określanie priorytetów użycia metryk do wyzwalania akcji opartych na pomiarach liczbowych.

Użyj profilów, aby uzyskać widoczność niższego poziomu, taką jak alokacja pamięci, do systemu.

Zarezerwuj użycie dzienników i śladów, aby zapewnić kontekst przepływów i zależności.
Korzystając z sygnałów dla właściwych celów, można zapobiec nieefektywnej implementacji systemu monitorowania.

Na przykład użycie dzienników dla akcji wymaga analizowania. Możesz szybciej osiągnąć te same cele za pomocą metryk.
Agregowanie i wizualizowanie danych na pulpitach nawigacyjnych w celu prezentowania danych monitorowania, które są zaspokajane przez odbiorców i mają na uwadze kontekst biznesowy.

Używaj sytuacyjnych pulpitów nawigacyjnych do tworzenia danych, aby zwiększyć świadomość wśród uczestników projektu.

Korzystaj z operacyjnych pulpitów nawigacyjnych i skoroszytów z funkcjami przechodzenia do szczegółów dla działań operatorów, takich jak reagowanie na zdarzenia. Często odświeżaj pulpity nawigacyjne i udostępniaj szczegółowe dane.
Za pomocą wizualizacji można analizować trendy, śledzić cele biznesowe i zarządzać zdarzeniami.

Pulpity nawigacyjne dostosowane do zainteresowania klienta tworzą interpretację i przyspieszają czas wykrywania i działania.
Umożliwia podejmowanie działań alertów przez powiadamianie ról odpowiedzialności za pomocą ustandaryzowanych opisów i poziomów ważności. Podaj informacje, które są sortowane z różnych źródeł i śledzą odchylenia od celów biznesowych.

Wyzwalaj alerty tylko w przypadku zdarzeń wymagających akcji.

Staraj się dążyć do proaktywnych i prowokujących do myślenia alertów, które inicjują działania, zanim stan obniżonej wydajności stanie się awarią.
Alerty zwracają uwagę na istotne zdarzenia zdefiniowane przez organizację.

Dobry system alertów identyfikuje akcje i ważność oraz zapewnia wystarczającą ilość danych, aby zwiększyć przejrzystość i cel. Operatorzy mogą rozpocząć korygowanie bez opóźnień.

Wdrażanie z poczuciem pewności

Ikona celu Osiągnij żądany stan wdrożenia z przewidywalnością.

Utwórz łańcuch dostaw obciążenia, który umożliwia spójne osiągnięcie celu przewidywalności we wszystkich środowiskach, na platformach hostingu obciążenia, aplikacjach, danych i zasobach konfiguracji. Mechanizm wdrażania musi mieć możliwość automatyzacji, testowania, monitorowania i przechowywania wersji. Powinna być modularyzowana i gotowa do wykonania na żądanie. Nie powinien być reprezentowany jako monolityczny proces kompleksowego. Łańcuch dostaw nie musi być przeznaczony do szybszego wykonywania, ale do osiągnięcia spójności i samodzielnej dokumentacji w wielu iteracji.

Zespół ds. obciążeń jest odpowiedzialny za łańcuch dostaw, ponieważ odnosi się do własnego obciążenia.

Metoda Świadczenia
Użyj infrastruktury jako kodu (IaC), aby zdefiniować powtarzalne aspekty łańcucha dostaw, które są gotowe do produkcji.

Preferuj podejścia deklaratywne w przypadku metod imperatywnych.
Technologie IaC deklaratywne są zaprojektowane z myślą o automatyzacji i możliwości ponownego użycia. Wdrożenia infrastruktury można odciążać od użytkowników indywidualnych do narzędzi i osiągać spójną jakość.

Z perspektywy infrastruktury mniejsza liczba opcji technologicznych eliminuje wariancję narzędzi i ułatwia wykrywanie dryfu konfiguracji. Konserwacja będzie również łatwiejsza. Jeśli dostosujesz opcje do istniejącego zestawu umiejętności zespołu, zespół będzie mógł je łatwo wdrożyć.
Przygotuj zespół do korzystania z wybranej technologii IaC. Dowiedz się więcej o swoim modelu rozszerzalności, możliwościach i ograniczeniach.

Wykorzystaj specjalizację w zespole i udostępnioną wiedzę w organizacji.
Upskilling zwiększa produktywność i wspiera środowisko współpracy poprzez wspólne uczenie się.

Możesz wypełnić luki w szkoleniu zamiast zatrudniania.
Postępuj zgodnie z zaleceniami dotyczącymi programowania i konserwacji IaC.

Modularyzowanie w moderacji. Unikaj abstrakcji niestandardowych lub o niskiej wartości.

Postępuj zgodnie z podejściem warstwowym, aby odzwierciedlić różne cykle życia. Warstwy podstawowe formularza, w których dolne warstwy pozostają stałe, a górne warstwy zmieniają się zgodnie z potrzebami.

Artefakty wdrażania, takie jak pliki binarne aplikacji, szablony IaC i parametry, są częścią obszaru ataków. Zastosuj gwarancje, takie jak zarządzanie wpisami tajnymi, kontrola dostępu i inne zasady filaru zabezpieczeń.
Artefakty mają taki sam poziom rygoru inżynieryjnego jak kod aplikacji. Mechanizmy kontroli jakości za pośrednictwem przeglądów równorzędnych i testowania zapewniają pewność wdrożenia.

Podejście warstwowe ułatwia konserwację i tworzy granice, które określają jasne linie odpowiedzialności.

Dodanie mechanizmów kontroli zabezpieczeń do artefaktów pomaga wzmocnić bezpieczeństwo systemu podczas procesu wdrażania.
Opracuj wspólny manifest wdrożenia, który jest używany we wszystkich środowiskach. Użyj tego manifestu jako domyślnego mechanizmu dla projektów greenfield, przyrostowych aktualizacji obciążeń lub odzyskiwania po awarii. Usuń obciążenie związane z utrzymywaniem wielu zasobów.

Jeśli wystąpi awaria, odzyskiwanie będzie szybkie i niezawodne, ponieważ można wdrożyć wypróbowany i przetestowany manifest zamiast tworzyć improwizowane środowisko.
Staraj się dążyć do niezmiennej i efemerycznej infrastruktury wdrożonej za pomocą automatyzacji IaC. Zakazać dryfu konfiguracji i ustawić idempotentne wdrożenia.

Tego rodzaju infrastruktura eliminuje znaczne obciążenia operacyjne, takie jak stosowanie poprawek. Zapewnia również podstawowe scenariusze weryfikacji, takie jak wdrożenia infrastruktury niebiesko-zielone.

Uwaga

Zmniejsz zakres użycia portalu tylko do zadań śledczych, które nie powtarzają się.

Automatyzowanie pod kątem wydajności

Ikona celuZastępowanie powtarzających się zadań ręcznych automatyzacją oprogramowania, które przyspiesza ich wykonywanie, z większą spójnością i dokładnością oraz zmniejsza ryzyko.

Obciążenie może mieć przepływy pracy z procesami, które obejmują członków zespołu wykonujących przyziemne, powtarzalne i czasochłonne zadania, które w rzeczywistości nie potrzebują ludzkiej inteligencji. W zależności od częstotliwości możesz poświęcić dużo czasu na te wysiłki, inwestując więcej czasu w miarę wzrostu obciążenia. Ponadto te procesy są często podatne na błędy z powodu ludzkich danych wejściowych.

Dzięki automatyzacji oszczędzasz czas, nakład pracy i pieniądze i unikasz błędów.

Metoda Świadczenia
Oceń wszystkie przepływy pracy pod kątem kryteriów, które są na odpowiednim poziomie złożoności, nakładu pracy, częstotliwości, dokładności, osi czasu i cyklu życia.

Automatyzowanie przepływów pracy na podstawie tej oceny i określanie priorytetów przepływów pracy przy użyciu najwyższych oczekiwanych zwrotów.

Usuń nadmiarowe przepływy pracy lub dodaj wartość, aby uzasadnić wysiłek człowieka.
Wydajność zespołu można reinwestować w wyższą wartość pracy i zwiększyć produktywność i spójność.

Utworzenie spisu przepływów pracy zapewnia automatyzowanie odpowiednich zadań. Usuwanie nadmiarowych zadań zmniejsza złożoność i błędy.
Podczas oceniania, czy tworzyć niestandardowe narzędzia, czy kupować oprogramowanie, należy jawnie podjąć decyzję.

Rezerwuj automatyzację budynków na potrzeby wysoce wyspecjalizowanych i wysokowartych prac.
Kupując gotowe oprogramowanie i korzystając z umowy pomocy technicznej, można zaoszczędzić na kosztach konserwacji.

Tworząc oprogramowanie, masz większą kontrolę i możesz obsługiwać przypadki użycia, które są unikatowe dla zespołu i obciążenia. Jednak istnieje wpływ na koszty.

Wybór narzędzi zapewnia poziom standaryzacji operacji. Dzięki szkoleniu można osiągnąć jednolity poziom gotowości do wdrożenia.
Zaprojektuj składniki obciążenia, aby obsługiwać możliwości automatyzacji. Unikaj sytuacji, w której brak automatyzacji w projekcie systemu promuje antywzór powtarzających się zadań, spowalnia wzrost i zaczyna gromadzić dług techniczny.
Traktuj całą automatyzację jako krytyczną zależność obciążenia. Dostosuj się do oczekiwanego wzrostu obciążenia.

Narzędzia automatyzacji są integralną częścią obciążenia i powinny być zgodne z pięcioma filarami dobrze zaprojektowanej struktury.
Zaprojektuj składnik automatyzacji tak, aby wytrzymał zagrożenia, takie jak zagrożenia bezpieczeństwa. Zastosowanie najlepszych rozwiązań pozwala uniknąć rozrastania implementacji.

Obciążenie będzie nadal działać z gwarancją wysokiego poziomu, jeśli ta zależność jest zachowana jako funkcjonalna i bezpieczna.
Automatyzowanie na dużą skalę przez eksplorowanie opcji poza obciążeniem.

Faworyzowanie modelu "raz, uruchamianie wszędzie" , zapewniając szablony i struktury do dołączania nowych projektów i promowania ponownego użycia istniejących projektów i implementacji.
Zastosuj wypróbowane i przetestowane metody i zmniejsz prawdopodobieństwo awarii.

Wdrażanie bezpiecznych rozwiązań dotyczących wdrażania

Ikona celu Zaimplementuj zabezpieczenia w procesie wdrażania, aby zminimalizować wpływ błędów lub nieoczekiwanych warunków.

Podczas cyklu programowania artefakty obciążeń przechodzą przez wiele zmian, ponieważ są implementowane i testowane, a w miarę naprawiania usterek.

Proces wdrażania musi być zgodny ze standardową procedurą operacyjną. Każda zmiana musi zostać wdrożona z tym samym poziomem rygoru. Ta zasada ma również zastosowanie do kodu, konfiguracji i wszystkich powiązanych artefaktów. Kluczem jest stosowanie bezpiecznych praktyk tak szybko, jak to możliwe, aby zapewnić przewidywalność w środowisku produkcyjnym. Nawet jeśli błędy docierają do klientów, powinno być możliwe jak najszybsze wdrożenie zmian odzyskiwania.

Metoda Świadczenia
Standaryzacja procesu wdrażania wszelkich zmian przy użyciu zautomatyzowanych procesów wdrażania, takich jak potoki.

Wszystkie środowiska muszą używać potoków.

Klasyfikowanie zasobów i wersji na środowisko w celu łatwego śledzenia i identyfikacji.
Spójne metody wdrażania zmniejszają problemy spowodowane błędami procesów i wariancją oraz umożliwiają skoncentrowanie wysiłku na problemach związanych z obciążeniem.

Standaryzacja gwarantuje, że wdrożenie zostanie ukończone bezpiecznie, niezawodnie i z powtarzalnością.

Klasyfikacja ułatwia wyświetlanie dzienników poprzednich wdrożeń i problemów, które wystąpiły. Możesz użyć tych informacji, aby przyspieszyć operacje wycofywania i wycofywania.
Wdrażanie małych aktualizacji przyrostowych w regularnym tempie. Częste, dobrze przetestowane małe aktualizacje ułatwiają walidację wersji.

Szybsze rozwiązywanie problemów z minimalnym wpływem klientów z powodu mniejszego zużycia zasobów.
Rygorystyczne testowanie aktualizacji przy użyciu różnych mechanizmów w całym cyklu projektowania. Przechwyć problemy we wczesnych etapach programowania. Iteracyjne poprawki i spójne rozwiązania wdrażania powodują problemy z naciśnięciem przez czas gotowości aktualizacji do środowiska produkcyjnego.
Stopniowe wdrażanie aktualizacji z należytą starannością.

Używaj modeli wdrażania, które zapewniają kontrolę, aby stopniowo zwiększać liczbę wystąpień i klientów do momentu bezpiecznego przyjęcia aktualizacji przez wszystkich.
Przetestuj każdą aktualizację w kontrolowany sposób, aby problemy zostały rozwiązane na wczesnym etapie produkcji. Unikaj wdrażania wadliwej aktualizacji, która ma wpływ na całą bazę klientów.

Sprawdź, czy aktualizacja jest zgodna z poprzednimi wersjami i do przodu.
Strategia ograniczania ryzyka umożliwia szybkie odzyskiwanie po niepowodzeniach wdrażania.

Strategia powinna obejmować podejmowanie decyzji dotyczących wycofywania lub wycofywania w przyszłości w oparciu o krytyczność problemu.

Mają dobrze zdefiniowane procesy i zautomatyzowane systemy , które mogą szybko wdrażać poprawki przy użyciu standardowych potoków wdrażania.
Zmniejsz czas trwania potencjalnego wpływu.

Przywróć system z powrotem do poprzedniej wersji roboczej lub przejdź do wersji, która zawiera poprawki, które zostały dokładnie przetestowane.
Masz plan rezerwowy, który resetuje system do stanu roboczego w razie awarii i odzyskiwania po nieoczekiwanych awariach. Użyj tej strategii tylko wtedy, gdy jest to konieczne i z zatwierdzeniem.

Staraj się ulepszać plan w czasie.
Możesz szybko śledzić poprawki o wysokim priorytcie, takie jak korygowanie zabezpieczeń.

Przyspieszony potok może nie mieć wszystkich kontroli standardowych procedur operacyjnych, ale klienci będą mogli korzystać z bezpiecznej wersji w najszybszy możliwy sposób, co przewyższa błędy o niższym wpływie.

Następne kroki

Zalecamy przejrzenie listy kontrolnej doskonałości operacyjnej w celu zapoznania się z innymi pojęciami.