Trend DevOps odstartoval asi před 10 lety s cílem propojit v podnicích vývoj a provoz softwaru, které do té doby fungovaly odděleně. Celý přístup DevOps mezitím prošel řadou změn a nevyhnul se ani kritice. V současnosti ovšem tato koncepce rozhodně slaví úspěch; moderní formu DevOps představuje platformové inženýrství.
Platformový manažer má přitom v podniku na starosti tým vývojářů, kteří nejenom programují nové aplikace, ale současně pomocí automatizovaných nástrojů řídí běžný provoz IT v organizaci. Těmto širokým kompetencím odpovídá i důležitost role platformového manažera a to, že obvykle sám spravuje rozpočet svého oddělení.
Podle analytické společnosti Gartner budou v příštích třech letech čtyři z pěti organizací zabývajících se softwarovým inženýrstvím využívat platformové týmy k poskytování opakovaně použitelných služeb a nástrojů pro poskytování aplikací.
Všudypřítomný Kubernetes
Co se týče používaných technologií, v týmech platformového inženýrství hraje dnes významnou roli především systém Kubernetes. Tento samoobslužný nástroj podstatně zvyšuje efektivitu a rychlost vývoje a představuje nový základní middleware. S tím, jak počet vývojářů a aplikací neustále roste, byl tradiční koncept middlewaru – vždy dostupný aplikační server – nahrazen právě samoobslužným modelem, který poskytuje platforma.
Tato změna má obrovský význam. V rámci přístupu DevOps se i v minulosti experimentování s různými technologiemi, ale problém byl s jejich propojením. Naproti tomu moderní aplikace nyní bezproblémově fungují v prostředí kontejnerů a úložišť. Za sítě a zabezpečení odpovídá právě systém Kubernetes a vše se realizuje nativně cloudovým způsobem.
Vývojáři se již nemusejí spoléhat na ticketovací systémy. Místo toho mají k dispozici pružnou infrastrukturu, kterou mohou používat a nasazovat prostřednictvím platformy. Platformový inženýr (manažer) přitom zajišťuje, aby tato platforma byla samoobslužná, vysoce dostupná, spolehlivá, pružná, víceuživatelská, a přitom robustně zabezpečená. Má k dispozici nástroje, které umožňují řídit využívání platformy, poskytují monitorování a zpětné vyúčtování, což umožňuje kontrolu nákladů. Platformový inženýr ale přitom sám nevytváří aplikace ani nerozhoduje o jejich nasazení, jeho úlohou je urychlení inovací vývojářů a nasazování aplikací. Vývojáři mohou díky tomu rychleji provádět změny v aplikacích a také je rychleji nasazovat do produkčního prostředí. Odpovědnost přitom přebírají sami.
Neviditelné technologie
Podniky s tisíci vývojáři vyžadují samoobslužný přístup nebo přístup na vyžádání k úložištím a datovým službám, přičemž týmy platformových inženýrů mají jako jeden z úkolů celou infrastrukturu patřičným způsobem škálovat. Například společnost T-Mobile díky tomu zkrátila dobu nasazení aplikací z šesti měsíců na pouhé hodiny, přičemž v rámci své platformové architektury použila řešení Pure Portworx.
Platformového inženýrství se oproti tradičnímu podnikovému IT opírá o cloudové technologie a datové služby připravené na umělou inteligenci. Do portfolia těchto nástrojů patří moderní databáze a datové služby, jako jsou Postgres, Redis, Cassandra, Kafka a Spark, a relativně nově také analytické nástroje a nástroje umělé inteligence, například Snowflake a ChatGPT. Moderní platforma všechny tyto nástroje poskytuje vývojářům jako služby.
Platformoví inženýři by měli zajistit také služby, které eliminují potřebu rozsáhlých odborných znalostí systému Kubernetes. Takové služby zahrnují např. správu různých distribucí Kubernetes, jako jsou OpenShift, GKE, EKS nebo Rancher, a také zajištění bezpečnostních opatření prostřednictvím dalších nástrojů (Prisma Cloud, Sysdig…). Platformoví inženýři mají navíc na starosti samotná data v systému Kubernetes, spravují úložné zdroje, zálohování, obnovu po havárii, databáze a datové služby pod hlavičkou Kubernetes. Výsledkem je značná efektivita: malý počet platformových inženýrů dokáže obsluhovat stovky uživatelů.
Kubernetes vice v pozadí
Jakmile se nějaká technologie stane všudypřítomnou, postupně ustupuje do pozadí a stává se neviditelnou. Příkladem mohou být polovodiče, odpovídající za fungování téměř všech technologií, které dnes používáme. Něco podobného se týká i systému Kubernetes. V rámci podnikového IT je součástí různých systémů, a přitom je pro uživatele nenápadný, protože jeho základem je samoobslužnost. V minulosti musel mít každý vývojář o systému Kubernetes komplexní znalosti. Nyní stačí, aby jej vývojáři využívali, a detaily mohou přenechat platformovému inženýrovi.
Platformové inženýrství tak zbavuje vývojáře nutnosti chápat fungování systému Kubernetes. V rámci své každodenní práce to nepotřebují. Tímto způsobem lze vyřešit problém s nedostatkem specialistů na Kubernetes v situaci, kdy na tento systém spoléhají snad všechny největší a nejúspěšnější globální firmy. Platformové inženýrství a systém Kubernetes společně podporují inovace a poskytují konkurenční výhodu.
Murli Thirumale je viceprezident a vrchní ředitel divize Cloud Native ve společnosti Pure Storage.