M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Przyspieszanie dostaw dzięki Golden Paths i zasadom jako kodowi

By ·

Witamy ponownie w kolejnym szczegółowym omówieniu realiów nowoczesnej inżynierii oprogramowania. Jeśli słuchasz naszego podcastu, wiesz, że często rozmawiamy o f…

Automatically translated with AI from the original post. Read the English original

Cover: The DevOps Tax: Why Your Platform is Failing

Witamy ponownie w kolejnym dogłębnym omówieniu realiów nowoczesnej inżynierii oprogramowania. Jeśli słuchasz naszego podcastu, wiesz, że regularnie poruszamy tarcia, z którymi programiści mierzą się każdego dnia. W tym artykule blogowym rozwijamy ważną rozmowę z naszego najnowszego odcinka. Przyglądamy się temu, dlaczego nowoczesne dostarczanie oprogramowania bywa cięższe i bardziej skomplikowane, niż powinno być, a co ważniejsze, jak prężnie działające organizacje inżynierskie rozwiązują ten problem, korzystając z Golden Paths i zautomatyzowanego zarządzania. Jeśli jeszcze nie słuchałeś, koniecznie posłuchaj odcinka bazowego: The DevOps Tax: Why Your Platform is Failing, w którym znajdziesz pełne omówienie w formie audio.

Kiedy organizacje po raz pierwszy przechodzą na nowoczesne architektury chmurowe, często przyjmują czysty model DevOps, pełne optymizmu. Obietnica była prosta i przełomowa: dać małym, międzyfunkcyjnym zespołom możliwość zarządzania oprogramowaniem od koncepcji po produkcję. Hasło „zbudowałeś, uruchamiasz” miało wyeliminować przekazywanie zadań między działami, przyspieszyć cykle wydań i zbudować niezwykły poziom odpowiedzialności. Jednak wraz ze wzrostem firm i dojrzewaniem ekosystemów chmurowych cicha i podstępna „daninа” zaczyna zjadać szybkość inżynierii. Nazywamy to zjawisko podatkiem DevOps. Reprezentuje ono ogromny spadek produktywności, który powstaje, gdy wysoko wykwalifikowani inżynierowie oprogramowania spędzają dni na walce z infrastrukturą zamiast na tworzeniu funkcji biznesowych.

Wprowadzenie do podatku DevOps i obciążenia poznawczego inżynierów

Aby naprawdę zrozumieć, dlaczego potoki dostaw zwalniają w środowiskach korporacyjnych, musimy najpierw przyjrzeć się temu, co pochłania czas i uwagę programistów. Nowoczesna inżynieria oprogramowania nie polega już wyłącznie na pisaniu logiki biznesowej, projektowaniu modeli relacyjnych czy tworzeniu przyjaznych interfejsów użytkownika. Dziś od programistów oczekuje się znajomości przytłaczającej liczby koncepcji systemów rozproszonych. Muszą konfigurować kontenery, opanować orkiestrację Kubernetes, zarządzać siecią w chmurze, wdrażać kontrolę dostępu oparta na rolach (RBAC), udostępniać infrastrukturę chmurową za pomocą kodu, konfigurować złożone potoki ciągłej integracji i ciągłego wdrażania, uruchamiać stosy obserwowalności, wykonywać śledzenie rozproszone, zapewniać zgodność z wymogami bezpieczeństwa, optymalizować koszty chmury i planować odzyskiwanie po awarii.

Żadne z tych zadań infrastrukturalnych nie przekłada się bezpośrednio na wartość dla klienta. Użytkownik nie loguje się do aplikacji i nie chwali organizacji za sprytne definicje zasobów niestandardowych Kubernetes. A jednak te czynności operacyjne pochłaniają zaskakująco duży procent mocy przerobowej inżynierów. Badania i obserwacje branżowe sugerują, że nawet siedemdziesiąt cztery procent zdolności programistów może zostać zużyte na powtarzalne prace infrastrukturalne. Prowadzi to do poważnego kryzysu obciążenia poznawczego. Od programistów oczekuje się, że zanim wdrożą nawet podstawowy mikroserwis, będą mieć w głowie dziesiątki odrębnych pojęć infrastrukturalnych. Ciągłe przeskakiwanie między kontekstami prowadzi prosto do wypalenia zawodowego, nieregularnych harmonogramów dostaw i ostatecznie do znacznie niższego zwrotu z inwestycji w inżynierię.

Dlaczego tradycyjny DevOps zawodzi w skali przedsiębiorstwa

Dlaczego model, który tak dobrze sprawdzał się w dziesięcioosobowym startupie, zawodzi na katastrofalną skalę w tysiącosobowym przedsiębiorstwie? Odpowiedź leży w narastającym charakterze wyborów i rozrostu organizacyjnego. W małym zespole wszyscy dzielą ten sam model mentalny systemu. Decyzje dotyczące infrastruktury podejmowane są zbiorowo, dokumentacja powstaje naturalnie w trakcie rozmów, a pętle sprzężenia zwrotnego są wyjątkowo krótkie.

Na skalę przedsiębiorstwa autonomiczne zespoły jednak w naturalny sposób zaczynają się rozjeżdżać. Bez scentralizowanych zabezpieczeń i ustandaryzowanych platform wewnętrznych zespół A wdraża jedną platformę CI/CD, a zespół B wybiera inną. Zespół C wdraża monitorowanie z wykorzystaniem Prometheus i Grafana, natomiast zespół D korzysta zupełnie innego narzędzia do obserwowalności w modelu SaaS. Każdy zespół podejmuje decyzje, które w izolacji wydają się logiczne i efektywne. Razem jednak tworzą labirynt organizacyjnej złożoności. Dokumentacja rozjeżdża się po wiki, wiedza przekazywana nieformalnie zostaje uwięziona w głowach starszych inżynierów, a wdrożenie nowych pracowników trwa miesiące zamiast dni. Organizacje przestają tworzyć oprogramowanie i zamiast tego zarządzają chaosem operacyjnym.

Zrozumienie mechaniki złotych ścieżek

Aby wyciągnąć zespoły inżynierskie z tego bagna złożoności, nowoczesne organizacje technologiczne sięgają po Platform Engineering, a w szczególności po koncepcję złotych ścieżek (Golden Paths). Złota ścieżka to przyjęty z góry, gotowy i ustandaryzowany przepływ pracy, który prowadzi deweloperów przez najczęstsze scenariusze inżynierskie – od utworzenia po środowisko produkcyjne. Zamiast zmuszać każdy zespół do projektowania własnych potoków wdrożeniowych, narzędzi do skanowania bezpieczeństwa i konfiguracji logowania od podstaw, złota ścieżka zapewnia wyselekcjonowaną, sprawdzoną w boju trasę.

Co istotne, dobrze zaprojektowana złota ścieżka obsługuje od razu około osiemdziesięciu procent typowych scenariuszy wdrożeniowych. Gdy deweloper chce uruchomić nową usługę, nie musi ręcznie konfigurować reguł sieciowych, zarządzania sekretami ani strategii wdrażania. Korzysta z wewnętrznego portalu deweloperskiego, wybiera standardowy szablon usługi, a platforma automatycznie udostępnia wszystko zgodnie z najlepszymi praktykami organizacji. Deweloper musi jedynie dostosować kod specyficzny dla biznesu. Jeśli pojawi się wyjątek wykraczający poza standardowe osiemdziesiąt procent, nie oznacza to awarii systemu; uruchamia on raczej wspólny proces z zespołem platformy. Takie podejście zachowuje autonomię deweloperów, eliminuje powtarzalną, żmudną pracę i znacząco zmniejsza liczbę koncepcji infrastrukturalnych, które trzeba opanować, aby dostarczyć oprogramowanie.

Transformacja zarządzania dzięki infrastrukturze jako kodzie i zasadom jako kodowi

Automatyzacja przepływów pracy to dopiero połowa sukcesu. Organizacje muszą także utrzymywać rygorystyczne standardy bezpieczeństwa, zgodności i architektury, nie hamując tempa pracy. Historycznie zarządzanie opierało się na ręcznych przeglądach, bramkach bezpieczeństwa i długich procesach zatwierdzania prowadzonych w arkuszach kalkulacyjnych, dokumentach PDF lub kolejkach zgłoszeń. Te ręczne mechanizmy tworzą ogromne wąskie gardła, w których kod czeka na przegląd przez człowieka, co całkowicie podważa zwinność, jaką miała zapewnić chmura obliczeniowa.

Platform Engineering rozwiązuje ten problem, przesuwając zarządzanie w lewo dzięki infrastrukturze jako kodowi (IaC) i zasadom jako kodowi (Policy as Code). Infrastruktura jako kod przekształca zarządzanie infrastrukturą z ręcznego klikania w portalu w oprogramowanie kontrolowane wersjami i poddawane testom. Każda zmiana topologii sieci, klastrów obliczeniowych czy zasobników pamięci masowej jest śledzona w repozytoriach git, podlega przeglądowi przez innych członków zespołu i jest wdrażana za pomocą zautomatyzowanych potoków. Zapewnia to pełną powtarzalność i utrzymuje nienaruszony ślad audytowy.

Zasady jako kod idą o krok dalej. Zamiast ukrywać reguły zgodności w statycznej dokumentacji, którą deweloperzy rzadko czytają, zasady bezpieczeństwa i zgodności zapisuje się jako wykonywalny kod, korzystając z frameworków takich jak OPA lub podobnych narzędzi walidacyjnych. Organizacje mogą automatycznie egzekwować wymogi szyfrowania danych w spoczynku, ścisłe reguły segmentacji sieci, obowiązkowe zasady tworzenia kopii zapasowych oraz standardy tagowania zasobów. Gdy deweloperzy przesyłają swoją infrastrukturę jako kod, zautomatyzowane silniki zasad natychmiast weryfikują konfigurację względem tych barier ochronnych. Zgodność przestaje być bolesnym, retrospektywnym przeglądem wykonywanym ręcznie i przekształca się w zautomatyzowaną, niewidoczną siatkę bezpieczeństwa.

Przyspieszanie dostarczania i odzyskiwanie produktywności deweloperów

Połączenie Platform Engineering, Golden Paths o ściśle określonych standardach, Infrastructure as Code i Policy as Code to fundamentalne dojrzewanie nowoczesnego dostarczania oprogramowania. Dzięki scentralizowaniu wiedzy o infrastrukturze w dedykowanym zespole produktu platformowego organizacje mogą uwolnić swoich programistów od przytłaczającego ciężaru DevOps Tax. Zamiast tracić dni na konfigurowanie manifestów Kubernetes albo walczyć z uprawnieniami sieciowymi w chmurze, deweloperzy mogą skupić się wyłącznie na rozwiązywaniu problemów biznesowych i dostarczaniu funkcji, które zachwycają ich klientów.

Gdy zarządzanie jest osadzone bezpośrednio w zautomatyzowanych procesach, zespoły bezpieczeństwa zyskują niespotykaną dotąd pewność, że bazowe wymagania zgodności są spełniane w każdym repozytorium, bez konieczności pełnienia roli strażników bramy. Efektem jest środowisko, w którym oprogramowanie płynnie przechodzi od commitu do produkcji, zadowolenie deweloperów gwałtownie rośnie, czas wdrażania nowych osób drastycznie się skraca, a organizacje wreszcie mogą skutecznie skalować swoje zasoby inżynierskie.

Aby zgłębić te koncepcje i posłuchać rzeczywistych przykładów tego, jak platform engineering zmienia dynamikę organizacji, koniecznie zapoznaj się z pełną dyskusją w podcaście. Możesz odsłuchać odcinek bezpośrednio i przeczytać pełne notatki, odwiedzając stronę The DevOps Tax: Why Your Platform is Failing. Postaw na moc platform, usuń zbędny bałagan poznawczy i zacznij przyspieszać swój potok dostarczania już dziś!

Entities in this article

Policy as code DevOps Infrastructure as code Kubernetes Cognitive load Platform engineering Golden path Observability Governance Compliance

Related articles

RSS