V oboru softwarového inženýrství je aktuální výzvou poskytnout vývojářům co nejefektivnější samoobslužnou šablonu pro běžné úkoly. A právě to se očekává od platformových inženýrů – měli by dát vývojářům k dispozici jednoduše použitelné interní prostředí a nástroje, které jsou potřeba k realizaci inovací.
V tomto článku se proto podíváme na nově vznikající disciplínu platformového inženýrství a ukážeme si výhody, které přináší. Platformové totiž inženýrství podporuje vývoji aplikací prostřednictvím snadnějšího a rychlejšího přístupu ke službám a zdrojům, zejména s využitím moderních platforem pro správu dat postavených na kontejnerovém prostředí Kubernetes.
Plnit potřeby vývojářů
Přístup DevOps přinesl v prvním desetiletí nového století klíčové principy sdílené odpovědnosti, rychlé zpětné vazby a automatizace pracovních postupů. To vše pomohlo naplnit vizi agilního vývoje softwaru. Režim DevOps vyžadoval vysokou míru autonomie vývojářů a na oplátku jim dával k dispozici nástroje podporující efektivitu.
Automatizace je přitom jedním z klíčových principů DevOps, protože rychlé tempo změn softwaru se s manuálně prováděnými postupy prakticky vylučuje.
Způsob práce, který preferují vývojáři (a mnoho dalších technických specialistů, jako jsou datoví vědci nebo výzkumníci v oblasti umělé inteligence) lze často shrnout do 3 hlavních požadavků:
• Okamžitý přístup ke zdrojům
• Okamžité výsledky
• Plná samoobslužnost
Ačkoliv okamžité poskytování zdrojů a výsledků nemusí být vždy možné, čím více se k tomuto cíli přiblížíme, tím budou vývojáři spokojenější a efektivnější.
Vývojář je pro platformové inženýrství primárním zákazníkem
Vývoj trendu DevOps dnes probíhá právě prostřednictvím platformového inženýrství. To v ideálním případě funguje neviditelně a poskytuje snadno použitelný samoobslužný katalog služeb a infrastrukturních komponent na podporu každodenního vývoje softwaru.
Cílem osvědčených postupů (best practices) platformového inženýrství je pomoci vývojářům aplikací tím, že se jim poskytne vše, co potřebují k experimentování, vývoji, testování i nasazování softwaru. Platforma takto zpřístupněná vývojářům se často inspiruje službami zpopularizovanými veřejným cloudem a jeho způsobem fungování. Bývá navržena tak, aby poskytovala nejen okamžitý přístup k nejnovějším a nejlepším nástrojům a softwaru, ale také snadný přístup k samotným datům, chráněným předem stanovenými technologiemi a bezpečnostními protokoly.
Kubernetes a správa dat
Ideální platforma určená vývojářům zahrnuje také správu (řízení) dat. Může být postavena na systému Kubernetes jako prostředku pro orchestraci, nasazení, provoz a škálování cloudových aplikací a také pro správu datových služeb potřebných pro tyto aplikace. Funkce správy dat jsou pro platformové inženýrství klíčové, protože umožňují zkoumání a testování v reálných podmínkách, například s využitím okamžité kopie produkčních dat namísto používání nereálných sad dat syntetických.
V ideálním případě budou funkce správy dat navrženy také s ohledem na samoobslužnost a zajistí přístup k datům vysoce dostupným, spolehlivým, pružným, opakovaně použitelným a bezpečným způsobem. Příkladem takové moderní datové platformy je Portworx společnosti Pure Storage. Portworx je plně integrován se systémem Kubernetes a umožňuje vývojářům snadno získat přístup k možnostem trvalých dat (včetně funkcí ochrany dat, jako je replikace, zálohování a archivace dat), ale také k samotným datovým sadám prostřednictvím okamžitého klonování dat. Platforma dokonce podporuje samoobslužné okamžité vytváření a obnovu snímků, takže vývojáři mohou experimentovat se změnami a rychle a snadno se vracet k předchozí situaci (výchozímu stavu).
Sada služeb Portworx Data Services navíc poskytuje katalog kurátorských datových služeb, včetně MongoDB, Elasticsearch, Cassandra, Kafka a PostgreSQL, což zjednodušuje nasazení na několik kliknutí nebo jediné volání rozhraní API. Vývojáři pak mohou tyto datové služby snadno nasazovat nebo škálovat s optimální konfigurací a ochranou datových úložišť.
Tento základ přináší vývojářům snadno specifikovatelné řetězce nástrojů a datové služby, takže je mohou jednoduše používat jako stavební kameny, a to i když nemají větší znalosti o systému Kubernetes nebo o tom, jak bezpečně a škálovatelně nasadit daný databázový stroj.
Platformové inženýrství přináší ty nejlepší technologie
Týmy platformového inženýrství pracují nepozorovaně v pozadí, vývojářům aplikací ale poskytují samoobslužnost a další potřebné funkce. Se systémem Kubernetes jako orchestračním rámcem, kontejnery a datovými službami v roli klíčových zdrojů tak platformoví inženýři pomáhají konečně plně naplnit vizi zvýšené agility a vyšší produktivity přístupu DevOps.
Autor: Fred Lherault, CTO Pure Storage EMEA