Udostępnij przez


Definiowanie przestrzeni problemu

Podczas pracy nad tworzeniem wewnętrznej platformy deweloperów musisz najpierw określić minimalną opłacalną platformę (TVP). TVP jest odmianą idei minimalnego opłacalnego produktu (MVP) w klasycznym zarządzaniu produktami.

Dobrym sposobem na ustalenie, jakie zadania powinny być częścią TVP, jest ocena praktyk inżynieryjnych platformy organizacji przy użyciu modelu możliwości inżynierii platformy. Model możliwości inżynierii platformy pozwala zobaczyć, jakie są obecne mocne strony inżynieryjne platformy w organizacji, oraz określić cele dla przyszłości.

Na poniższym diagramie możesz zorientować się, jak platforma deweloperów może ewoluować wraz z upływem czasu. Należy pamiętać, że głównym problemem organizacji może być odbieganie od opisanych tutaj elementów ze względu na istniejące inwestycje lub potrzeby organizacji. Nie musisz przechodzić do następnego etapu, chyba że twoja organizacja tego potrzebuje.

Diagram przedstawiający, jak inżynieria platformy może ewoluować wraz z upływem czasu.

Jeśli zaczynasz od podstaw, ta sekwencja reprezentuje typowy przebieg.

  • Na wczesnych etapach skoncentruj się na odkrywaniu potrzebnych zasobów, analizie różnic między produktami gotowymi do użycia oraz tworzeniu minimalnej liczby narzędzi lub funkcji platformy.
  • Następnie, w miarę skalowania, możesz skupić się na ponownym użyciu i kierowaniu osób po wstępnie zdefiniowanych, utwardzonych ścieżkach z zasobami wielokrotnego użytku.
  • Na koniec przejdziesz do modelu sklepu cyfrowego przypominającego konsumenta, aby ułatwić tworzenie i konserwowanie aplikacji.

Należy postępować zgodnie z nastawieniem produktu, dlatego nie zalecamy przechodzenia do końca, a konkretna podróż może się różnić. Te ostatnie etapy najbardziej przypominają produkt opakowany w sposób tradycyjny, ale jest to miejsce docelowe, a nie punkt wyjścia.

Obszary tematów inżynierii platformy

Biorąc pod uwagę rozmiar tego tematu, zalecamy podzielenie sposobu wewnętrznego mówienia o inżynierii platformy w czterech obszarach:

Systemy inżynieryjne: wyselekcjonowane kombinacje pakietów DevOps, takich jak GitHub i Azure DevOps oraz inne narzędzia i usługi deweloperskie. Poza krytycznymi narzędziami i usługami DevOps, takimi jak CI/CD lub zarządzanie pakietami oprogramowania, ten obszar obejmuje również funkcje wykorzystywane bezpośrednio podczas procesu kodowania, takie jak środowiska kodowania oparte na chmurze, skanery kodu i lintry oraz asystenty sztucznej inteligencji, takie jak GitHub Copilot.

Platforma aplikacji: wyselekcjonowane opcje usług (takie jak infrastruktura jako usługa, platforma jako usługa i możliwość obserwacji), które są przeznaczone dla każdego stosu aplikacji (klasy aplikacji, modelu aplikacji, języków), których organizacja chce używać do dostarczania wartości biznesowej. Obejmuje to połączenie usług specyficznych dla stosu aplikacji wraz z typowymi usługami używanymi w całym systemie. Przykładem platformy aplikacji może być Azure Container Apps, Azure Cosmos DB do przechowywania danych, Azure Key Vault do zarządzania danymi poufnymi, Azure role-based access control do kontroli tożsamości i dostępu, Azure Policy w celu zapewnienia zgodności i audytu, obserwacja przez Grafana oraz powiązana topologia sieci.

Szablony aplikacji: zestaw dobrze zdefiniowanych szablonów szybkiego startu utworzonych przez organizację, które hermetyzują wskazówki dotyczące jak poprawnie zacząć i utrzymać właściwy kierunek dla danej platformy aplikacji, języka i zestawu systemów inżynieryjnych. Te szablony mogą odwoływać się do innych scentralizowanych szablonów i udostępniać kod początkowy oraz odwołania do API i SDK, potoki CI/CD, konfigurację narzędziowych i nie tylko.

Możliwości samoobsługowe dla deweloperów: stanowi klej pracy inżynieryjnej nad platformą. Jest to kombinacja interfejsów API, orkiestratorów, katalogu, szablonów i doświadczeń użytkownika zaprojektowanych w celu zmniejszenia wysiłku deweloperów i umożliwienia zespołom deweloperów samodzielnej obsługi oraz większej autonomii, jednocześnie przestrzegając wyborów i wskazówek/zarządzania z poprzednich trzech obszarów.

Diagram przedstawiający podstawowe obszary inżynierii platformy.

Integrowanie systemów inżynieryjnych, platform aplikacji, szablonów aplikacji i możliwości samoobsługowych deweloperów stanowi podstawę strategii inżynierii platformy. Łącząc narzędzia DevOps, usługi w chmurze i funkcje samoobsługowe, organizacje mogą znacznie zmniejszyć trud deweloperów, zwiększyć produktywność i zapewnić zgodność ze standardami ładu.

Następny krok