Ideą DevOps jest to, że łączy rozwój i operacje IT – Dev i Ops – aby ułatwić tworzenie i wdrażanie oprogramowania. Inżynieria platform opiera się na tym dzięki zespołowi składającemu się z menedżerów produktu i inżynierów, tworząc i utrzymując współdzieloną infrastrukturę potrzebną programistom.
Analityk technologiczny Gartner przewiduje, że do 2026 r. 80% organizacji zajmujących się inżynierią oprogramowania powoła zespoły platformowe jako wewnętrzni dostawcy usług wielokrotnego użytku i narzędzi do dostarczania aplikacji.
„Największy wniosek z naszej tegorocznej ankiety nas zaskoczył – zespoły inżynierów platform nie tylko wspierają wysiłki w zakresie bezpieczeństwa i zgodności, ale rozwiązują problemy związane z bezpieczeństwem w sposób sugerujący, że będzie to znacznie szerszy trend”, raport stwierdził.
Ustalono, że zespół platformy stał się odpowiedzialny zarówno za „ogólne gaszenie pożarów, jak i budowanie i egzekwowanie procesów bezpieczeństwa”.
„Odkryliśmy również, że bezpieczeństwo i zgodność zwykle leżą w kompetencjach zespołu zajmującego się platformą, ponieważ zapewniają, że ludzie korzystają z właściwej wersji oprogramowania i narzędzi informatycznych oraz przestrzegają ważnych wzorców” – stwierdzono.
Wewnętrzne wspieranie bezpieczeństwa
W raporcie wskazano, że tak jak dostawcy chmury publicznej musieli zwiększyć swoje bezpieczeństwo powyżej poziomu, jaki firmy były w stanie osiągnąć we własnych centrach danych, tak zespoły aplikacyjne oczekują również, że zespół zajmujący się platformą będzie promował bezpieczeństwo wewnętrznie. Może to oznaczać egzekwowanie wersji oprogramowania i narzędzi, wdrażanie wzorców bezpieczeństwa organizacji lub ciągłe skanowanie pod kątem luk w zabezpieczeniach.
Dodanie zabezpieczeń do zespołu ds. platformy obniżyło ryzyko, zapewniając zgodność i bezpieczeństwo kodu, stwierdziło 59% respondentów w ankiecie, a 48% stwierdziło, że skraca to czas potrzebny programistom na poznanie podstawowych zasad bezpieczeństwa i zgodności. „Przewidujemy, że inżynieria platform pozostanie w centrum dyskusji na temat bezpieczeństwa i zgodności, ponieważ pozytywny wpływ inżynierii platform na stan bezpieczeństwa sprzyja przyjęciu tej technologii w całej firmie” – czytamy w raporcie.
Patrząc szerzej na wyniki, głównym celem firm wdrażających inżynierię platform było zwiększenie szybkości dostarczania produktów, a następnie poprawa bezpieczeństwa i zgodności. Prawie połowa (43%) stwierdziła, że ich zespół ma od trzech do pięciu lat; chociaż jedna czwarta stwierdziła, że ich zespół ma od sześciu do dziewięciu lat, a 17% stwierdziło, że ich zespół ma około jednego do dwóch lat.
Połowa respondentów stwierdziła, że kluczową korzyścią dla programistów była zwiększona produktywność, a następnie lepsza jakość oprogramowania i skrócony czas wdrożenia. „Wyobraźcie sobie pracę w ciągłym stanie przeciążenia informacjami, zarządzając tuzinem różnych narzędzi i procesów” – czytamy w raporcie. „Dla większości programistów to po prostu kolejny dzień w pracy.
„Inżynieria platform może stanowić barierę przed chaosem narzędzi, zadań i informacji” – kontynuowano. „Dzięki standaryzacji narzędzi i procesów może uwolnić programistów od ciężaru stania się ekspertami w dziedzinie narzędzi, aby mogli skupić się na swoich kluczowych mocnych stronach: pisaniu świetnego kodu”.
Zespoły inżynierów platform często współpracują z działem inżynierii i operacji lub w ich ramach, ale ich lokalizacja w organizacji może się różnić w zależności od zakresu wsparcia. Podczas gdy 23% respondentów stwierdziło, że zespół inżynierów platformy stanowił odrębny zespół w dziale inżynierii, 22% stwierdziło, że znajdował się w zespole operacyjnym, 21% stwierdziło, że w zespole inżynieryjnym, a 14% stwierdziło, że w zespole ds. produktu.
Obszary objęte zespołami ds. platform obejmują głównie usługi umożliwiające zespołom ds. aplikacji tworzenie, wdrażanie i uruchamianie aplikacji, a następnie udostępnianie infrastruktury i zarządzanie nią w celu wspierania programistów. Zarządzanie kosztami znajdowało się daleko na końcu listy priorytetów. „W miarę dojrzewania platformy koszt staje się kluczowym miernikiem sukcesu” – czytamy w raporcie. „Zauważyliśmy to po wysokich kosztach wdrożenia chmury publicznej. Jeśli zespoły nie zajmują się zarządzaniem kosztami i optymalizacją, sama natura inżynierii platform stwarza ryzyko”.
Różne organizacje różnią się także składem zespołu zajmującego się platformą. Chociaż odnoszący sukcesy zespół inżynierów platform wymaga pełnoetatowego inżyniera DevOps, respondenci nie byli pewni, czy potrzebny jest także menedżer produktu.
Podczas gdy nieco ponad połowa stwierdziła, że menedżer produktu ma kluczowe znaczenie dla osiągnięcia sukcesu, 21% określiło je jako przydatne, 18% stwierdziło, że są ważne, ale nie krytyczne, a 9% stwierdziło, że nie są konieczne.
I wygląda na to, że nie wszyscy są przekonani o tej koncepcji – przynajmniej jeszcze nie. Ankieta wykazała, że 65% respondentów stwierdziło, że zespół inżynierów platformy jest „ważny i stale go inwestuje”. Jednak 16% określiło to jako „projekt pasjonujący”, a 12% określiło jako „beta test”, w przypadku którego przyszłe inwestycje będą zależały od jego powodzenia lub niepowodzenia.
Jednak w miarę jak organizacje osiągają bardziej zaawansowane etapy swojej podróży DevOps, potrzeba dedykowanego podejścia, takiego jak inżynieria platform, staje się jasna – stwierdza raport.
„Większość organizacji rozumie wpływ, jaki zespół ds. platformy może mieć na ich działalność operacyjną” – wyjaśniono. „Konsekwencja między zespołami i sposobem, w jaki podchodzą do swojej pracy, kryje w sobie siłę. Im większa spójność między zespołami, narzędziami i procesami, tym bezpieczniejsza, wydajniejsza i ujednolicona będzie Twoja infrastruktura. Firma Puppet przeprowadziła ankietę wśród 500 specjalistów ds. technologii pracujących w zespole zajmującym się platformą lub w nim pracującym.
Małgorzata Lee, kierownik ds. zarządzania produktami w firmie Puppet by Perforce, stwierdził, że inżynieria platform jest naturalną ewolucją, a nie zamiennikiem. „Obecnie widzimy korzyści płynące z automatyzacji na poziomie organizacji, a samoobsługa stanowi jej kluczową część” – powiedziała Computer Weekly. „Wcześniej automatyzacja odbywała się na poziomie indywidualnym lub zespołowym. Ewoluowało do poziomu organizacyjnego, gdzie korzyści płynące ze standaryzacji i automatyzacji mogą pomóc zmniejszyć obciążenie poznawcze i zwiększyć produktywność programistów”.
Lee powiedział, że kluczem jest zaczynanie od czegoś małego. „Zmiana jest trudna, niezależnie od tego, czym jest ta zmiana” – wyjaśniła. „Zacznij od czegoś, co ma dużą wartość dla Twojej firmy. W danych widzieliśmy, że ludzie zaczynają od bezpieczeństwa. Jest to coś, co może stanowić wartość zarówno dla programistów, jak i dla biznesu”.