Aprowizowanie infrastruktury i zarządzanie nią w inżynierii platformy obejmuje rozwój procesów ręcznych i niespójnych po bardziej zautomatyzowane, skalowalne i adaptacyjne podejścia. Dzięki wdrożeniu zautomatyzowanych i ustandaryzowanych procesów organizacje mogą zmniejszyć błędy, poprawić wydajność i zapewnić spójne zarządzanie infrastrukturą.
Obszary fokusu obejmują definiowanie procesów aprowizacji, zarządzanie infrastrukturą i aprowizowanie żądań oraz monitorowanie alokacji zasobów.
Ręcznie
Na początkowym etapie organizacja podkreśla elastyczność i szybkie reagowanie na potrzeby infrastruktury, a zespoły IT lub Architektury udostępniają wskazówki za pośrednictwem dokumentacji. Deweloperzy ręcznie konfigurują infrastrukturę na podstawie tych wskazówek, co prowadzi do niespójności, ponieważ różne zespoły używają różnych metod. Żądania dostępu i aprowizacji są przeglądane ręcznie, co powoduje opóźnienia, a deweloperzy obsługują aprowizację samodzielnie, zwiększając ryzyko błędów. Brak sformalizowanych procesów i poleganie na ręcznych kontrolach skutkuje operacjami silosowymi, zwiększonymi przestojami i trudnościami w utrzymywaniu skalowalnej infrastruktury, co czyni to podejście nie do utrzymania w miarę wzrostu zapotrzebowania.
Definiowanie procesów aprowizacji: deweloperzy ręcznie konfigurują infrastrukturę w poszczególnych przypadkach, często używając różnych metod i narzędzi do podobnych zadań.
Reagowanie na żądania dotyczące infrastruktury i aprowizacji usług oraz zarządzanie nimi: żądania dotyczące infrastruktury są obsługiwane ręcznie zgodnie z potrzebami, często za pośrednictwem nieformalnych kanałów komunikacyjnych (na przykład: wiadomości e-mail, czatu) z dostępem z dostępem zamkniętym przez ręczne przeglądy z zespołów IT lub architektury. Poszczególne zespoły lub deweloperzy są odpowiedzialni za aprowizację.
Monitorowanie alokacji zasobów: usługa Teams może polegać na ręcznych kontrolach, aby upewnić się, że zasoby nie zabraknie pojemności, ale często tylko wtedy, gdy wystąpią problemy.
Skoordynowane
Ponieważ organizacja rozpoznaje potrzebę bardziej spójnych i wydajnych operacji, początkowe kroki są podejmowane w celu scentralizowanego i standaryzacji procesów aprowizacji. Niektóre zespoły zaczynają dopasowywać swoje narzędzia i metody, ale bez standardowej organizacji odmiany są utrwalane. Scentralizowane systemy, takie jak bilety, są wprowadzane do zarządzania żądaniami infrastruktury, ale takie podejście może powodować wąskie gardła, ponieważ zatwierdzenia ręczne i aprowizowanie zwiększa obciążenie.
Przejście na centralizację i standaryzację, choć jest to konieczne, może spowolnić cykle programowania i wdrażania, podkreślając potrzebę dalszego usprawniania.
Definiowanie procesów aprowizacji: niektóre zespoły zaczynają używać i modyfikować podobne narzędzia i skrypty, ale nie ma standardu dla całej organizacji. Niektóre zespoły ręcznie aprowizowały zasoby, niektóre zespoły używają dostępnych narzędzi i skryptów.
Odpowiadanie na żądania infrastruktury i aprowizacji usług oraz zarządzanie nimi: żądania są przesyłane za pośrednictwem scentralizowanego systemu (na przykład systemu obsługi biletów), a scentralizowany zespół IT lub zespół platformy ręcznie zatwierdza i aprowizuje infrastrukturę.
Monitorowanie alokacji zasobów: zespoły zaczynają używać standardowych narzędzi do zbierania danych dotyczących wykorzystania zasobów, ale monitorowanie jest zwykle konfigurowane dla poszczególnych usług lub projektów bez całościowego widoku.
Utorowane
Organizacja koncentruje się na ustanawianiu sformalizowanych i spójnych procesów aprowizacji w całej operacji. Jednak w miarę wzrostu liczby żądań infrastruktury zespół platformy może mieć trudności z nadążaniem nawet za ustrukturyzowanymi przepływami pracy. Wyzwanie polega na zarządzaniu rosnącym zapotrzebowaniem bez naruszania jakości usług lub wydajności, co zwiększa zapotrzebowanie na bardziej skalowalne rozwiązania.
Definiowanie procesów aprowizacji: Inżynierowie używają szablonów IaC do aprowizowania usług. Procesy aprowizacji są sformalizowane i ustandaryzowane w całej organizacji. Praktyki infrastruktury jako kodu (IaC) są powszechnie stosowane, z spójnymi szablonami i narzędziami używanymi przez wszystkie zespoły.
Reagowanie na żądania aprowizacji infrastruktury i usług oraz zarządzanie nimi: żądania są obsługiwane za pośrednictwem ustrukturyzowanego przepływu pracy, przy użyciu wstępnie zdefiniowanych szablonów i zdefiniowanych procesów w celu usprawnienia aprowizacji (przykłady: ścieżki utorowane, złote ścieżki). Zatwierdzenia mogą być wymagane w przypadku niektórych typów żądań.
Monitorowanie alokacji zasobów: śledzony jest kompleksowy zestaw metryk, co zapewnia jasny wgląd w alokację zasobów i wykorzystanie. Scentralizowane pulpity nawigacyjne monitorują użycie zasobów we wszystkich usługach, zapewniając szczegółowe informacje o wydajności.
Zautomatyzowane
Aby rozwiązać problem z ograniczeniami procesów ręcznych i zwiększyć wydajność, organizacja przechodzi do automatyzacji aprowizacji i integrowania jej z potokami ciągłej integracji/ciągłego wdrażania. Automatyzacja zmniejsza nakład pracy ręcznej i zapewnia spójne wdrażanie, a kontrole ładu i zgodności są wbudowane w przepływ pracy. Jednak ta zmiana na "wszystko jako kod" wymaga wyższego poziomu wiedzy w zakresie automatyzacji, skryptów i kodowania. Ponadto szablony usprawniają wiele procesów, ale mogą nadmiernie upraszczać złożone scenariusze, co wymaga ciągłego uściślenia w celu efektywnego rozwiązywania unikatowych przypadków brzegowych.
Definiowanie procesów aprowizacji: Procesy aprowizacji są zautomatyzowane i zintegrowane z potokami ciągłej integracji/ciągłego wdrażania, co umożliwia szybkie i spójne wdrażanie infrastruktury. Kontrole ładu i zgodności są zintegrowane z przepływami pracy aprowizacji.
Odpowiadanie na żądania aprowizacji infrastruktury i usług oraz zarządzanie nimi: zespół platformy zarządza procesem żądania za pomocą funkcji automatycznej samoobsługi, umożliwiając użytkownikom niezależne aprowizowanie zasobów w ramach kontrolowanych parametrów. Autoryzowani użytkownicy mają dostęp do dedykowanych i udostępnionych, ustandaryzowanych i wstępnie skonfigurowanych zasobów tworzenia środowiska.
Monitorowanie alokacji zasobów: automatyzowanie skalowania na podstawie wzorców użycia
Giętki
Organizacja koncentruje się na optymalizacji alokacji zasobów i wydajności poprzez inteligentne, proaktywne zarządzanie. Aprowizowanie nie jest tylko zautomatyzowane, ale także adaptacyjne, z systemami, które przewidują i reagują na potrzeby infrastruktury w czasie rzeczywistym. Takie podejście zapewnia równowagę między elastycznością a ładem, zapewniając efektywne przydzielanie zasobów przy zachowaniu zgodności. Wyzwanie na tym poziomie polega na zarządzaniu złożonością równoważenia scentralizowanego ładu z autonomią zdecentralizowanych zespołów, zapewniając, że standardy ładu ewoluują wraz z potrzebami organizacji bez tłumienia innowacji.
Definiowanie procesów aprowizacji: Procesy aprowizacji są zautomatyzowane i zintegrowane z potokami ciągłej integracji/ciągłego wdrażania, co umożliwia szybkie i spójne wdrażanie infrastruktury. Kontrole ładu i zgodności są zintegrowane z przepływami pracy aprowizacji.
Reagowanie na żądania infrastruktury i aprowizacji usług oraz zarządzanie nimi: żądania są automatycznie obsługiwane przez inteligentny system, który przewiduje proaktywne potrzeby i aprowizuje zasoby, zapewniając elastyczność przy zachowaniu ładu.
Monitorowanie alokacji zasobów: przewidywanie zapotrzebowania na zasoby na podstawie danych historycznych i bieżących wzorców użycia, automatyczne aprowizowanie lub cofanie przydziału zasobów w celu zachowania optymalnej wydajności i wydajności kosztów.