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 żądaniami infrastruktury i aprowizacji oraz monitorowanie alokacji zasobów.
Podręcznik
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 i zarządzanie aprowizacją infrastruktury i usług: żądania dotyczące infrastruktury są obsługiwane ręcznie zgodnie z potrzebami, często za pośrednictwem nieformalnych kanałów komunikacyjnych (na przykład poczty e-mail i czatu), z dostępem przez manualną weryfikację zespołów IT lub Architektury. Poszczególne zespoły lub programiści są odpowiedzialni za proces zaopatrzenia.
Monitorowanie alokacji zasobów: Zespoły mogą polegać na ręcznych kontrolach, aby uniknąć wyczerpania się zasobów, ale często robią to dopiero po pojawieniu się problemów.
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 standardu obowiązującego w całej organizacji utrzymują się różnice. Scentralizowane systemy, takie jak systemy biletowe, są wprowadzane do zarządzania żądaniami infrastruktury, ale takie podejście może powodować wąskie gardła, ponieważ zatwierdzenia ręczne i automatyzacja oraz dostarczanie dodają obciążenie. Przejście na centralizację i standaryzację, choć jest to konieczne, może spowolnić cykle tworzenia 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, a niektóre zespoły używają dostępnych narzędzi i skryptów.
Odpowiadanie na żądania dotyczące aprowizacji infrastruktury i 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ół platformowy 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 pcha potrzebę bardziej skalowalnych rozwiązań.
Definiowanie procesów aprowizacji: Inżynierowie używają szablonów infrastruktury jako kodu (IaC) do aprowizowania usług. W całej organizacji procesy wdrażania usług są sformalizowane i ustandaryzowane. Praktyki IaC są powszechnie stosowane z spójnymi szablonami i narzędziami używanymi przez wszystkie zespoły.
Reagowanie na żądania infrastruktury i aprowizacji 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 (na przykład ścieżki utorowane i złote ścieżki). Zatwierdzenia mogą być wymagane dla 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 na automatyzację provisioningu oraz integrację z potokiem CI/CD. 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 to przejście do wszystko jako kod wymaga zaawansowanej wiedzy w zakresie automatyzacji, skryptów i kodowania. Ponadto, podczas gdy szablony usprawniają wiele procesów, mogą one nadmiernie upraszczać złożone scenariusze, co wymaga ciągłego uściślenia w celu efektywnego rozwiązywania unikatowych przypadków brzegowych.
Definiuj procesy aprowizacji: Procesy aprowizacji są zautomatyzowane i zintegrowane z potokami CI/CD, co pozwala na 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.
Adaptacyjny
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.
Określenie procesów aprowizacji: Procesy aprowizacji są zautomatyzowane i zintegrowane z potokami CI/CD, co umożliwia szybkie i spójne wdrażanie infrastruktury. Kontrole zarządzania i zgodności są zintegrowane z przepływami pracy udostępniania zasobów.
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.