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ę. Procesy dostosowane na miarę adresują natychmiastowe potrzeby poszczególnych osób lub zespołów, które są zależne od ręcznej interwencji, nawet jeśli dostawca używa niektórych skryptów do 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. Wdrożenie i używanie usługi platformy wymaga głębokiej obsługi od dostawcy usług.
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ć skuteczne w przypadku zespołów na wczesnym etapie działań firm lub platform. W tych środowiskach zespoły mają swobodę rozwijania procesów i możliwości dostosowania ich do potrzeb, co pozwala im na szybsze dostarczanie i ponoszenie kosztów 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 i przestrzeganie własnych znanych praktyk.
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 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, zwłaszcza w odpowiedzi na zmieniające się potrzeby zespołów.
Konfigurowanie środowiska projektowego: istnieje kilka inwestycji w wspólną ścieżkę z dokumentacją lub szablonami definiującymi wymagane narzędzia i procesy w całej organizacji. Zespoły mogą odchodzić od standardów, modyfikując szablony, ale ich zmiany nie są integrowane z powrotem do scentralizowanego zespołu.
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 są udostępniane 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ą przydzielane automatycznie, takie jak monitorowanie lub zarządzanie tożsamością dla wdrożonej usługi. Gdy użytkownicy osiągną granice dostępnych usług, pojawia się możliwość wykraczania poza zautomatyzowane rozwiązania i dostosowywania ich do własnych potrzeb, bez opuszczania ofert wewnętrznych, ponieważ możliwości platformy są traktowane jako elementy 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żliwe jest rozszerzanie i pakowanie funkcjonalności na różne sposoby, oferując maksymalną elastyczność w zakresie udostępniania, zarządzania i obserwacji zasobów oraz funkcjonalności.
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że być używany za pośrednictwem interfejsu wiersza polecenia, środowiska IDE lub innych środowisk.
Diagnozowanie zachowania aplikacji: platforma automatycznie konfiguruje możliwości obserwacji dla każdej wdrożonej aplikacji. Platforma zapewnia funkcję umożliwiającą interakcję z danymi diagnostycznymi oraz używaną aplikacją.