Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wraz ze wzrostem organizacji zwiększa się ilość rzeczy, które należy śledzić. Organizacje często powielają swoje wewnętrzne wysiłki, ponieważ zespoły nie są świadome projektów innych zespołów. Gdy ludzie zmieniają zespoły, nowe osoby dołączają do firmy, a inne opuszczają firmę, projekty mogą stać się opuszczone. Spisy ułatwiają rozwiązywanie tych problemów i stanowią kluczową część inżynierii platformy.
Spis to narzędzie lub system służący do śledzenia zasobów technicznych organizacji oraz zarządzania nimi i organizowania ich. Te zasoby obejmują kod, interfejsy API, kontenery, maszyny wirtualne, uprawnienia zespołu i inne.
Brak śledzenia zasobów prowadzi do rozrastania się i marnotrawstwa technicznego po prostu dlatego, że nie można łatwo odkryć, co już istnieje. Utrata śladu tego, co już istnieje, jest częstym wyzwaniem.
Mamy mnóstwo uruchomionych kontenerów lub maszyn wirtualnych [VM]. Czy możemy usunąć nasze stare maszyny wirtualne? Nikt nie wie. Musimy wymyślić sposób czyszczenia starych rzeczy i używania odpowiednich tagów, aby wiedzieć, kto jest właścicielem lub zespołem, który może poinformować nas o tym, co możemy zrobić i co to jest cykl życia.... Nie wiemy, czy możemy zamknąć określoną maszynę wirtualną, ponieważ nie jesteśmy pewni, co się stanie. - Martin, inżynier DevOps, duża firma logistyczna
Śledzenie zasobów
Potrzebujesz spisu, aby śledzić wszystkie twory lub komponenty, które stworzyłeś lub zbudowałeś w swoim ekosystemie, i aby wewnętrzni klienci mogli je łatwo wizualizować.
Spis może poprawić bezpieczeństwo, promować ponowne użycie i ogólnie ułatwić odnajdywanie. Różne narzędzia są dostępne do śledzenia różnych typów zasobów. Każde z tych narzędzi udostępnia spis, który ułatwia zarządzanie, śledzenie i czyszczenie odpadów.
Dostępne narzędzia do śledzenia obejmują:
- Środowiska wdrażania platformy Azure umożliwiają śledzenie złożonej infrastruktury utworzonej za pomocą infrastruktury jako kodu (IaC) jako środowiska abstrakcyjnego.
- Centrum interfejsów API platformy Azure umożliwia deweloperom odnajdywanie interfejsów API i korzystanie z nich.
- Rejestry pakietów, takie jak Pakiety GitHub lub Azure Artifacts (lub inne spisy zatwierdzonych pakietów i zestawów SDK), zwiększają bezpieczeństwo łańcucha dostaw.
Aby uzyskać wgląd w spisy, rozważ najlepsze podejście dla organizacji. Niektóre organizacje umożliwiają wszystkim deweloperom wyświetlanie zasobów oprogramowania, ale tylko kilka z nich może je modyfikować (podobnie jak otwarta kuchnia). Inne, zwłaszcza w branżach regulowanych, ograniczają dostęp bardziej ściśle, czasami nawet ograniczając widoczność nazw projektów ze względu na wrażliwość.
Zwiększanie możliwości wyszukiwania, zarządzania i ponownego użycia
Posiadanie jednego lub więcej systemów inwentaryzacyjnych, który pomagają śledzić zasoby, które posiadasz, jest kluczowe dla praktyk inżynierii platformy i unikania technicznego rozrostu. Początkowo posiadanie zestawu prostych list spisu może wystarczyć. Można jednak jeszcze bardziej zwiększyć możliwości odnajdywania, dodając relacje między różnymi elementami zawartości w wielu zapasach. Niezależnie od wymaganego poziomu widoczności scentralizowany punkt agregacji umożliwia zespołom szybkie wyszukiwanie i odnajdywanie wszystkich dostępnych zasobów. Sprzyja to ponownemu używaniu, zmniejsza nadmiarowość i ustanawia spójne podejście do ładu.
Rozważ relację między definicją interfejsu API a wdrożonym kodem aplikacji, który implementuje interfejs. Ten kod jest przechowywany w repozytorium i zarządzany przez zespół oraz zawiera dokumentację dotyczącą jego użycia. Tworzone są środowiska deweloperskie, testowe, produkcyjne, a nawet tymczasowe środowiska piaskownicy. W scenariuszach natywnych dla chmury środowiska mogą być wdrażane w udostępnionym klastrze Kubernetes. Zespół programistyczny tworzący interfejs API i każdy użytkownik wewnętrzny musi mieć możliwość uzyskania informacji o każdej z tych rzeczy, ale sposób, w jaki zasoby są powiązane, nie jest oczywiste.
Aby rozpocząć, możesz użyć czegoś prostego jako strony typu wiki, aby śledzić, jak każda rzecz odnosi się do siebie nawzajem. Jednak dokumentacja szybko się starzeje i może być trudna zarówno do znalezienia, jak i do przetworzenia. Najlepiej byłoby mieć system z grafem relacji, który umożliwia interfejsom użytkownika nawigowanie po tych relacjach w Twoim inwentarzu. Aby naprawdę zwiększyć możliwości odnajdywania, musisz mieć możliwość skojarzenia elementów przechowywanych w wielu typach spisów lub wykresów. Możliwe, że nie będziesz musiał korzystać ze spisów bezpośrednio, ale prawdopodobnie będziesz chciał powiązać je z informacjami w systemie katalogowania interfejsów API.
Łączenie spisów z relacyjnymi grafami i wykazami
Aby użyć analogii sklepu cyfrowego, może być również przydatne skojarzenie elementów (szablonów) z katalogu z zawartością wynikowego spisu. Jeśli na przykład zauważysz, że jeden z szablonów tworzy niezabezpieczoną konfigurację, musisz szybko znaleźć wszystkie zasoby utworzone za pomocą szablonu, aby je naprawić. Szablony aplikacji Start Right to startowe pakiety zestawów w tym katalogu, które łączą się z innymi typami elementów katalogu (takimi jak szablony IaC). Śledzenie tych skojarzeń pozwala proaktywnie znaleźć dowolną aplikację, która odwołuje się do nieprawidłowego szablonu IaC, nawet jeśli żadna infrastruktura nie jest jeszcze aprowizowana.
Uproszczoną wersję tego koncepcyjnego diagramu platformy deweloperskiej można znaleźć w kilku zestawach narzędzi i produktach, choć ich nazwa może się różnić. Na przykład zestaw narzędzi portalu open source Backstage.io nazywa to katalogiem oprogramowania, podczas gdy inne produkty używają różnych terminów. Jednak większość tych produktów i zestawów narzędzi zakłada, że używasz ich szerszego zestawu funkcji i wymagają zduplikowania Twoich zasobów wewnątrz nich. Duplikowanie oznacza, że zawartość bazy danych katalogu nie jest specyficzna dla użytkownika, może stać się nieaktualna i nie jest kontrolowana przez mechanizmy autoryzacji użytkowników rzeczywistego systemu źródłowego. Jednak może to zadziałać dobrze w twojej organizacji, jeśli obserwujesz otwarte podejście do kuchni.