Co to jest inżynieria platformy?
Inżynieria platformy to praktyka oparta na zasadach metodyki DevOps, które mają na celu poprawę bezpieczeństwa, zgodności, kosztów i wartości biznesowych każdego zespołu deweloperskiego, dzięki ulepszonym środowiskom deweloperskim i samoobsługą w ramach bezpiecznej, zarządzanej platformy. Jest to zarówno zmiana podejścia opartego na produkcie, jak i zestaw narzędzi i systemów do jego obsługi.
Ostatnio istnieje wiele emocji branżowych wokół terminu inżynierii platformy. Firma Gartner spodziewa się , że około 80 procent organizacji inżynieryjnych będzie mieć zespół poświęcony inżynierii platformy do 2026 roku. Zespoły te koncentrują się na tworzeniu rozwiązań nazywanych wewnętrzną platformą deweloperów. Niezależnie od domeny — sprzedaży (Microsoft Dynamics, Salesforce), realizacji usług (ServiceNow), komunikacji (Twilio) — platformy z natury są przeznaczone do osiągnięcia skali i skrócenia czasu potrzebnego na dostarczanie wartości biznesowej.
Platformy, których deweloperzy używają lub rozszerzają, mają możliwość wyeliminowania trudu w całym procesie programowania z wysoce zoptymalizowanymi środowiskami deweloperów i uproszczonymi operacjami. Te platformy obejmują narzędzia, które:
- Pomoc deweloperom w samodzielnie (na przykład zestawy startowe, wtyczki IDE)
- Pomoc dotycząca typowych zadań
- Hermetyzowanie typowych wzorców i praktyk w blokach konstrukcyjnych wielokrotnego użytku
- Zapewnianie wczesnej porady i opinii na temat problemów lub zagrożeń bezpieczeństwa
- Upraszczanie operacji przez zarządzanie podstawową infrastrukturą i narzędziami
Co to jest wewnętrzna platforma deweloperów?
Wewnętrzna platforma deweloperów koncentruje się na wewnętrznych praktykach rozwoju firmy. Należy zdefiniować zestaw zalecanych i obsługiwanych ścieżek programistycznych do środowiska produkcyjnego i przyrostowo "utorować" drogę przez nie za pomocą wewnętrznej platformy.
Aby użyć rzeczywistej analogii, nowe ścieżki często zaczynają się jako szlaki brudne, ale w miarę ich używania więcej ludzi, są one utorowane w celu poprawy bezpieczeństwa przy zachowaniu szybkości i przepływności. Ścieżki utorowane na wewnętrznej platformie deweloperów mają podobne cele. Są one przeznaczone do kierowania deweloperów przez krytyczne wymagania i standardy bez poświęcania szybkości dostarczania deweloperów. Jest to osiągane przez zapewnienie zespołom deweloperów ustandaryzowanych, bezpiecznych i skalowalnych funkcji samoobsługi. Jednocześnie nadal ułatwiasz operacje i organizację IT, aby upewnić się, że podstawowa infrastruktura i narzędzia są wydajne, zgodne i ekonomiczne. Podczas gdy niektóre ścieżki mogą być częściowo utorowane, w pełni utorowana złota ścieżka zmniejsza obciążenie poznawcze dla wszystkich zaangażowanych.
Deweloperzy są głównymi konsumentami lub klientami wewnętrznej platformy deweloperów. Automatyzacja i centralizacja umożliwiają wydajne operacje, jednocześnie zapewniając spełnienie wymagań uczestników projektu, takich jak zgodność.
Dzięki inżynierii platformy utworzysz tę wewnętrzną platformę, łącząc sposób myślenia produktu z naukami z metodyki DevOps i DevSecOps w celu dostarczania zestawu narzędzi. Te narzędzia zapewniają wystarczającą automatyzację, śledzenie, ład i możliwość obserwacji, które prowadzą zespoły programistyczne naturalnie "do końca sukcesu". Jako lider inżynierii platformy dla międzynarodowej firmy masowej mediów to ujął:
Inżynieria platform została przyjęta w celu zwiększenia szybkości lub szybkości dostarczania produktów. Scentralizowane zespoły eliminują potrzebę, aby każdy zespół martwił się o infrastrukturę, zwiększając w ten sposób wydajność... Zwiększają one również bezpieczeństwo i bezpieczeństwo, ponieważ wszystko jest wstępnie zdefiniowane, zmniejszając liczbę błędów. - Daniel, Inżynier chmury, Fortune 500 Media Company
Wewnętrzna platforma deweloperów ułatwia scentralizowanie i skalowanie specjalistycznej wiedzy w całym cyklu projektowania i cyklu życia operacji przez zmniejszenie lub wyeliminowanie obciążenia poznawczego i ręcznych kroków.
Tworzenie platform deweloperskich przyrostowo, koncentrując się na samoobsługowej i automatyzacji
Zaimplementowanie udanej strategii inżynieryjnej platformy wymaga pracy, ale warto to osiągnąć. Nie rzadko zdarza się, że zespoły z mniej niż 20 osobami mogą obsługiwać tysiące deweloperów i setki projektów.
Jednak tworzenie wewnętrznej platformy deweloperów to podróż. Nie zalecamy podejścia "wielkiego wybuchu" ani wysiłku napędzanego od góry do dołu. Krytycznym aspektem inżynierii platformy jest zastosowanie myślenia o produkcie, w którym traktujesz deweloperów, specjalistów uczenia maszynowego lub analityków danych jako klienta. Jako jeden inżynier platformy w firmie technologicznej to ujął:
[Istnieją] dwa główne problemy, które [nasze] narzędzia inżynieryjne platformy zostały zaprojektowane do rozwiązania. Pierwszym z nich było ułatwienie aprowizacji usług przy użyciu modelu samoobsługowego. … Drugim było zapewnienie automatycznych systemów pomocy technicznej, takich jak metryki wydajności i dostępność aplikacji. Celem było umożliwienie deweloperom szybszej i wydajniejszej pracy przy jednoczesnym uzyskaniu wszystkich niezbędnych informacji do rozwiązywania problemów i optymalizowania aplikacji. - Alex, główny architekt chmury, duża firma technologiczna
Żadne dwie firmy nie są takie same, więc należy wziąć pod uwagę konkretne potrzeby klientów wewnętrznych, aby wykreślić kurs przyrostowy w ramach tej podróży. Tworząc zestaw podstawowych bloków konstrukcyjnych, które z czasem zmontujesz, możesz upewnić się, że wewnętrzna platforma deweloperów ma wystarczającą wartość, że zespoły deweloperów staną się ambasadorami i będą chciały z niego korzystać po drodze. Użyj tych informacji, aby utworzyć najrzedszą platformę, minimalną opłacalną platformę) i rozwijać się stamtąd.
Ważnym punktem jest to, że chcesz myśleć o tym, jakie inwestycje wykonujesz w tych obszarach jako kluczowe bloki konstrukcyjne na potrzeby podróży inżynieryjnej platformy. Następnie możesz skupić się na tworzeniu spójnych klejów z niestandardowymi inwestycjami, aby dodać unikatową wartość dla swojej firmy, zamiast tworzyć wszystko od podstaw.