Opracowywanie skutecznych interfejsów w inżynierii platformy obejmuje przejście z niestandardowych, ręcznych procesów do standardowych i spójnych rozwiązań, które usprawniają aprowizowanie i żądania obsługi. W tym artykule omówiono etapy tworzenia interfejsu, koncentrując się na konfigurowaniu środowisk deweloperskich i diagnozowaniu zachowania aplikacji.
Procesy niestandardowe
Istnieje kolekcja różnych procesów w celu aprowizowania różnych możliwości i usług, ale spójność interfejsu nie jest brana pod uwagę. Niestandardowe procesy dostosowane do potrzeb poszczególnych osób lub zespołów i są zależne od interwencji ręcznej, nawet jeśli dostawca używa niektórych skryptów zautomatyzowanej implementacji.
Znajomość sposobu żądania tych rozwiązań jest udostępniana od osoby do osoby. Proces żądania usługi nie ma standaryzacji i spójności. Aprowizowanie i używanie usługi platformy prawdopodobnie wymaga głębokiej obsługi od dostawcy możliwości.
Brak centralnych wymagań i standardów sprawia, że ten poziom jest odpowiedni, gdy firma nie zidentyfikowała jeszcze i udokumentowała oczekiwania. Może to być szczególnie skuteczne w przypadku zespołów na wczesnym etapie działań firm lub platform. W tych środowiskach zespoły zapewniają swobodę rozwoju procesów i możliwości ich potrzeb, umożliwiając im szybsze dostarczanie i płacenie ceny standaryzacji tylko wtedy, gdy jest to konieczne później.
Konfigurowanie środowiska projektowego: indywidualni inżynierowie łączą kroki wymagane do skonfigurowania środowiska, prosząc współpracowników, znalezienie dokumentacji, zgodnie z własnymi znanymi rozwiązaniami.
Diagnozowanie zachowania aplikacji: inżynierowie wybierają własne narzędzia i proces do diagnozowania zachowania. Są one odpowiedzialne za podjęcie kroków w celu uzyskania dostępu do aplikacji i dzienników.
Standardy lokalne
Inżynierowie i zespoły inżynieryjne aktywnie, ale nieformalnie definiują standardy dla różnych możliwości i usług, aby zwiększyć ilość udostępniania wiedzy, które mogą mieć miejsce w organizacji. Nieformalne społeczności wsparcia pojawiają się wokół tych standardów, ale jest to zależne od zasobów i zaangażowania osób i poszczególnych zespołów.
Konfigurowanie środowiska deweloperskiego: poszczególne zespoły definiują własne narzędzia i procesy i próbują zapewnić, że inżynierowie w ramach zespołów będą trzymać się tych procesów. Może to być dokumentacja lub kontenery, ale wybór sposobu dokumentowania narzędzi i procesów jest sterowany przez zespół.
Diagnozowanie zachowania aplikacji: poszczególne zespoły definiują własne praktyki i procesy na potrzeby diagnozowania zachowania. Zespoły polegają na zespołach devops/IT w celu uzyskania dostępu do wdrożonych zasobów.
Spójne, standardowe interfejsy do aprowizowania i obserwowania platform i możliwości istnieją i spełniają szerokie potrzeby. Użytkownicy mogą identyfikować dostępne funkcje i mogą żądać wymaganych przez nich możliwości.
Dostępne są drogi utorowane lub złote ścieżki, w formie dokumentacji i szablonów. Te zasoby definiują sposób aprowizowania typowych możliwości i zarządzania nimi przy użyciu zgodnych i przetestowanych wzorców. Chociaż niektórzy użytkownicy mogą korzystać z tych rozwiązań samodzielnie, rozwiązania często nadal wymagają głębokiej wiedzy specjalistycznej i dlatego wsparcie ze strony opiekunów jest nadal niezbędne.
Istotne zarządzanie wymagane od centralnego zespołu do obsługi szablonów/dokumentacji szczególnie w odpowiedzi na zmieniające się potrzeby zespołów.
Konfigurowanie środowiska deweloperskiego: niektóre inwestycje w wspólną ścieżkę z dokumentacją lub szablonami definiującymi wymagane narzędzia i procesy w całej organizacji. Zespoły mogą dryfować od standardów, modyfikując szablony, ale nie/nie mogą scalać z powrotem ze scentralizowanym zespołem.
Diagnozowanie zachowania aplikacji: Standardowa praktyka zdefiniowana na potrzeby uzyskiwania dostępu do wdrożonych zasobów i diagnozowania ich.
Rozwiązania samoobsługowe
Rozwiązania są oferowane w sposób, który zapewnia autonomię użytkownikom i wymaga niewielkiej pomocy technicznej od opiekunów. Organizacja zachęca i umożliwia rozwiązaniom zapewnienie spójnych interfejsów, które umożliwiają odnajdywanie i przenośność środowiska użytkownika z jednej funkcji do innej. Podczas samoobsługi rozwiązania wymagają świadomości i implementacji zespołu. Aby ulepszyć to środowisko, może istnieć przewodnik i uproszczony język wewnętrzny, który umożliwia użytkownikom szybsze wdrażanie i integrowanie możliwości platformy. Spowoduje to wygenerowanie skoncentrowanej na użytkowniku, samoobsługowej i spójnej kolekcji możliwości.
Konfigurowanie środowiska projektowego: zespoły inżynieryjne zależą od platformy do konfigurowania środowisk deweloperskich. Dostępność istnieje, aby odnaleźć dostępne zasoby. Zespoły inżynieryjne przyjmują platformę wyłącznie dla wszystkich interakcji. Platforma ułatwia udostępnianie wiedzy poprzez odnajdywanie i modyfikowanie nowych i istniejących szablonów, stale zwiększając wartość oferowaną przez platformę.
Diagnozowanie zachowania aplikacji: narzędzia i usługi do obserwowania zasobów/możliwości udostępnianych za pośrednictwem platformy na żądanie. Platforma zapewnia dostępność na potrzeby diagnozowania i obserwowania zasobów/możliwości.
Zintegrowane usługi
Możliwości platformy są w sposób przezroczysty zintegrowane z narzędziami i procesami używanymi już przez zespoły do wykonywania swojej pracy. Niektóre możliwości są aprowidowane automatycznie, takie jak możliwość obserwowania lub zarządzanie tożsamościami dla wdrożonej usługi. Gdy użytkownicy osiągną krawędzie oferowanych usług, istnieje możliwość przeniesienia poprzednich zautomatyzowanych rozwiązań i dostosowania ich potrzeb bez opuszczania ofert wewnętrznych, ponieważ możliwości platform są uznawane za bloki konstrukcyjne. Te bloki konstrukcyjne są używane do tworzenia przezroczystych i automatycznych kompozycji w celu spełnienia przypadków użycia wyższego poziomu przy jednoczesnym umożliwieniu głębszego dostosowywania w razie potrzeby.
Wewnętrzne zespoły platform mogą określić, jakie możliwości działają dobrze dla organizacji i mogą wykorzystać tę wiedzę do określenia obszarów, w które należy inwestować w celu dalszego ulepszania platformy.
Możliwości można rozszerzyć i spakować na wiele sposobów, oferując maksymalną elastyczność aprowizacji, zarządzania zasobami i możliwościami oraz zarządzania nimi.
Konfigurowanie środowiska deweloperskiego: możliwości platformy są zintegrowane z narzędziami i procesami, których zespoły używają już do wykonywania swojej pracy. Można go używać za pośrednictwem interfejsu wiersza polecenia, środowiska IDE itp.
Diagnozowanie zachowania aplikacji: platforma automatycznie konfiguruje możliwości obserwacji dla każdej wdrożonej aplikacji. Platforma zapewnia dostępność na potrzeby interakcji z danymi diagnostycznymi i wdrożoną aplikacją.