Platformové inženýrství vs DevOps: Jak se liší?
Platformní inženýrství a DevOps jsou dvě odlišné oblasti, které se zaměřují na optimalizaci vývojových procesů softwaru. Ačkoli oba směry usilují o efektivnější tvorbu produktů, každý z nich k tomu přistupuje jiným způsobem.
DevOps praktiky pomáhají posilovat spolupráci mezi vývojovými a provozními týmy. Na druhé straně, platformní inženýrství se věnuje tvorbě a údržbě centralizované platformy, kde týmy DevOps mají k dispozici automatizované, samoobslužné a opakovaně použitelné nástroje a pracovní postupy.
V tomto článku prozkoumáme platformní inženýrství a DevOps, včetně jejich funkcí a výhod. Zaměříme se také na rozdíly mezi těmito dvěma disciplínami a jejich budoucí vývoj.
Co je platformní inženýrství
Platformní inženýrství je o navrhování, budování a správě infrastruktury pro vývoj softwaru, s cílem zlepšit uživatelský zážitek a produktivitu vývojářů. Poskytuje sdílené, samoobslužné a opakovaně použitelné nástroje, které jsou vývojářům dostupné z jednoho centrálního místa.
Platformní inženýři se soustředí na vytváření a údržbu základních platforem, nástrojů a procesů, které podporují vývoj softwaru. To přispívá ke zvýšení spolehlivosti a škálovatelnosti vývojové infrastruktury, a tím i k rychlejšímu dodávání softwarových produktů.
V praxi se vývojové procesy, technologie a nástroje vyvíjejí v souladu s růstem a složitostí produktu. Platformní inženýrství zajistí, že vývojové procesy a nástroje se budou průběžně vyvíjet s tím, jak se produkt rozrůstá.
To zahrnuje řešení problémů, jako jsou požadavky na testování, ukládání dat, dodržování regulačních norem a další. Tento přístup zajišťuje, že vše potřebné k splnění nových požadavků je k dispozici s předstihem.
Inženýři platformy obvykle navrhují, vytvářejí a spravují nástroje a pracovní postupy, které vývojáři potřebují k efektivnější práci a rychlejšímu dodávání aplikací. Díky samoobslužnému přístupu mohou vývojáři volně využívat všechny nástroje a možnosti bez závislosti na týmech infrastruktury a provozu.
Například vývojáři nemusí neustále žádat o schválení při spouštění nového pracovního prostředí nebo izolovaného vývojového prostředí. V praxi může schvalovací proces vývoj zpomalit a vést k neefektivnímu vývoji produktu.
Samoobslužný přístup řeší tyto a další problémy a umožňuje vývojářům téměř okamžitě přistupovat k široké škále funkcí a možností.
Jak se platformní inženýrství vyvíjí
Platformní inženýrství vytváří sadu strukturovaných služeb, procesů, nástrojů a dalších zdrojů, které mohou vývojáři softwaru využívat bez nutnosti je přímo spravovat nebo jim hlouběji rozumět. Tato disciplína řeší širokou škálu vývojových potřeb.
S růstem složitosti softwarových aplikací a vývojové infrastruktury je pro většinu vývojářů softwaru obtížné držet krok s množstvím proměnlivých faktorů. Od vývojářů se tak vyžaduje správa infrastruktury, na kterou však nemají dostatečné dovednosti ani zdroje.
Pokud týmy řeší problémy, které přesahují jejich kapacitu, produktivita klesá a pravděpodobnost chyb se zvyšuje. Platformní inženýrství se ukazuje jako efektivní řešení, které může zlepšit uživatelský zážitek vývojářů a zrychlit dodávání produktů. Platforma poskytuje přístup k interním, ověřeným, samoobslužným a opakovaně použitelným nástrojům a pracovním postupům.
Platformní inženýrství vytváří interní vývojovou platformu, kterou mohou vývojáři softwaru používat k tvorbě svých produktů. Platforma zahrnuje veškeré technologie a nástroje, které jsou vzájemně propojeny, a vytvářejí tak centralizovanou sadu samoobslužných nástrojů a procesů.
Tato inženýrská praxe využívá širokou škálu nástrojů, které vývojářům umožňují svobodně si vybírat, co chtějí.
Zdroj obrázku: Platformengineering.org
Po vytvoření platforma tvoří standardní cestu, kterou mohou týmy DevOps používat při vytváření svých produktů. Nabízí samoobslužnou infrastrukturu, kde si vývojáři mohou vytvářet vývojové prostředí s nástroji, které potřebují, bez nutnosti čekat na schválení.
Obecně lze platformní inženýrství chápat jako další fázi DevOps, která může velkým společnostem pomoci vyvinout samoobslužné a opakovaně použitelné konfigurace a standardy, které následně nabízejí jako interní produkty. Platformní inženýrství představuje krok vpřed v DevOps a umožňuje vývojářům snadno dodržovat postupy DevOps, i když se může lišit mezi jednotlivými organizacemi.
Výhody interních vývojových platforem

Platformní inženýrství nabízí širokou škálu výhod a společnosti by se neměly vyhýbat jeho implementaci. Mezi hlavní výhody patří:
- Zrychlení dodávání softwarových aplikací, což umožňuje podnikům včas realizovat obchodní hodnotu.
- Poskytování opakovaně použitelných nástrojů se samoobslužnými funkcemi a automatizovanými infrastrukturními operacemi, což zlepšuje produktivitu a uživatelské zkušenosti vývojářů, standardní postupy DevOps a bezpečný a škálovatelný vývojový proces.
- Zrychlení vývoje softwaru. Výsledné interní vývojové platformy nabízejí automatizované procesy a samoobslužnou infrastrukturu, která pomáhá snižovat plýtvání časem a byrokracii, a tím zvyšovat produktivitu.
- Zvýšení míry specializace a zaměření: Umožňuje vývojářům soustředit se na vývoj (což je jejich hlavní odbornost); v praxi jsou CI/CD procesy, infrastruktura a distribuované nasazení komplexní systémy, které vyžadují vysoce specializované dovednosti. S platformním inženýrstvím však vývojáři nemusí těmto systémům rozumět a mohou se soustředit na vývoj softwaru místo toho, aby se snažili porozumět základní infrastruktuře.
Co je DevOps

DevOps je přístup, který se snaží zvýšit frekvenci a efektivitu vydávání softwaru. Eliminuje bariéry mezi týmy a zároveň podporuje jejich spolupráci.
Tato metoda vývoje softwaru využívá automatizační nástroje a postupy, nepřetržité monitorování, integraci, nepřetržité dodávání, testování, správu konfigurace a správu incidentů k podpoře různých procesů v rámci CI/CD potrubí.
Vývojáři spolupracují s provozním týmem na zkrácení doby potřebné k sestavení a pomáhají společnostem rychle a často uvádět na trh nové produkty a funkce.
Konečným cílem přístupu DevOps je automatizovat a zkrátit zpětnou vazbu a cyklus vývoje softwaru. Zefektivňuje fáze vývoje softwaru, jako je plánování, tvorba, sestavování, konfigurace, monitorování a ověřování.
Výhody postupů DevOps
DevOps poskytuje širokou škálu výhod. Některé z nich zahrnují:
- Rychlejší vývoj a nasazení softwaru a funkcí
- Vylepšené a stabilní pracovní prostředí
- Vyšší kvalita produktů
- Nepřetržité dodávky softwarových produktů a funkcí
- Lepší, spolehlivější a rychlejší techniky řešení problémů
- Snížení nákladů na vývoj softwaru
Platformní inženýrství vs. DevOps
Níže jsou uvedeny některé z klíčových rozdílů mezi platformním inženýrstvím a DevOps.
| Platformní inženýrství | DevOps |
| Platformní inženýrství vytváří interní vývojovou platformu, která minimalizuje potřebu koordinace. | Postupy DevOps mají za cíl zlepšit koordinaci a spolupráci mezi vývojáři a provozními týmy. |
| Tým DevOps si často vybírá nástroje, které jim pomohou dosáhnout jejich cílů. Vytváří samoobslužnou platformu pro nástroje, procesy a pracovní postupy DevOps. | Disciplína, která týmům DevOps poskytuje škálovatelnou, centralizovanou samoobslužnou platformu pro jejich pracovní postupy a nástroje. |
| Zlepšuje spolupráci mezi vývojovými a provozními týmy. | Organizace může implementovat platformní inženýrství pouze po úspěšném nasazení prostředí DevOps. |
| Společnosti začínají s DevOps před implementací platformního inženýrství, a nikoli naopak. | Definuje ověřené a osvědčené nástroje a pracovní postupy, které by týmy DevOps měly používat na základě potřeb vývojářů. |
| Podílí se na fázích vývoje a životního cyklu operací, jako je plánování, kódování, sestavování, testování, provoz, monitorování, nasazení a vydání softwaru a funkcí. | Pracuje a podporuje interní týmy. |
| Přímo vydává softwarové produkty a funkce zákazníkům a dalším externím uživatelům. | Nepracuje na obchodních projektech, ale vytváří a udržuje platformu, kterou týmy DevOps vyžadují. |
| Podílí se pouze na fázích nasazení, provozu a monitorování životního cyklu DevOps. | Týmy DevOps mohou brát a pracovat na obchodních projektech při vývoji svého softwaru. |

Obvykle se kombinace nástrojů v interní vývojové platformě může lišit mezi jednotlivými prostředími.
Typické nástroje pro platformní inženýrství:
- Kubernetes
- Crossplane
- GitLab CI
- Backstage
- ArgoCD
Nástroje DevOps zlepšují spolupráci, automatizaci a další procesy, které zvyšují kvalitu produktů a rychlost dodání. Díky dostupnosti nástrojů a odborných znalostí mnoho organizací přijalo DevOps. V praxi týmy využívají sadu nástrojů v různých kombinacích.
Mezi oblíbené nástroje patří:
- Jenkins
- Docker
- Puppet
- Gradle
- CircleCI
- Buddy
- Git
- Github
- Chef
- Kubernetes
- Ansible
- Terraform
Platformní inženýrství se objevuje, když DevOps dospívá a rozšiřuje se
V současnosti se platformní inženýrství stává relevantní, protože DevOps dospívá a rozšiřuje se. Zdá se, že tato disciplína představuje další fázi ve vývoji DevOps. Jelikož se DevOps neustále vyvíjí a dosahuje své zralosti, zdá se, že vývoj platformy bude dalším logickým krokem. S tím, jak se rozšiřuje, se objevují nové výzvy a příležitosti.

Platformní inženýrství poskytuje samoobslužné a opakovaně použitelné procesy a nástroje, takže vývojáři nemusí neustále hledat nové způsoby, jak věci dělat. V ideálním případě to znamená, že nemusí vytvářet nové nástroje, ale mohou používat to, co se osvědčilo. Praktiky DevOps obvykle sledují určitou cestu k zralosti.
Model vyspělosti DevOps ukazuje celou cestu vývoje DevOps. Model vyspělosti DevOps pomáhá identifikovat tři věci:
- Posouzení současného stavu a schopností postupů DevOps.
- Identifikaci slabých míst, která vyžadují zlepšení.
- Definici kroků, které je třeba podniknout k dosažení cílových cílů DevOps.
Organizace může posoudit své schopnosti z hlediska kultury a strategie, automatizace, struktury a procesů a nakonec i spolupráce a sdílení.
V ideálním případě model vyspělosti DevOps zahrnuje následujících pět transformačních kroků:
- Počáteční fáze: Zahrnuje rozdělení tradičních vývojových sil na vývojářské a provozní týmy.
- Řízená fáze: Změna myšlení vývojových týmů s cílem zaměřit se na agilní vývojové postupy. Tato fáze také zahrnuje nasazení počáteční automatizace operací a podporu spolupráce mezi týmy Dev a Ops.
- Definovaná fáze: Cesta transformace začíná pomocí definovaných procesů a automatizovaných postupů.
- Měřená fáze: Vyhodnocování a neustálé zlepšování procesů a automatizovaných pracovních postupů.
- Optimalizovaná fáze: Organizace nyní může vidět výhody DevOps a řešit případné nedostatky za účelem zlepšení efektivity.
S tím, jak DevOps dospívá a rozšiřuje se, dostává se do měřených a optimalizovaných fází, kdy organizace začíná analyzovat postupy a nástroje. To zahrnuje kontrolu, jak týmy používají nástroje pro řešení stejného problému a poskytuje příležitost identifikovat problematické oblasti a neefektivitu.
K optimalizaci systémů mohou organizace využívat platformní inženýrství k vytváření samoobslužných opakovaně použitelných nástrojů, které mohou obsluhovat z centrálního místa. Tím umožní týmům přístup ke stejným nástrojům a procesům namísto vytváření vlastních.
Může platformní inženýrství ovládnout DevOps?
Platformní inženýrství je v podstatě implementací postupů a konceptů DevOps, nikoli jeho náhradou. Obecně je cílem DevOps využívat procesy, nástroje a rámce spolupráce pro zlepšení kvality softwaru a životního cyklu vývoje. Využívá různé postupy a nástroje pro zefektivnění vývoje, monitorování a správy.
Platformní inženýrství spočívá ve spojení těchto procesů, nástrojů a osvědčených postupů s cílem vytvořit opakovaně použitelné, samoobslužné služby a nástroje, které mohou využívat různé týmy v rámci celé organizace.
Platformní inženýrství v podstatě zvyšuje produktivitu vývojářů zajištěním konzistence a efektivity. Praxe poskytuje snadno použitelnou platformu pro vývoj a tvorbu produktů. Platforma nabízí samoobslužné opakovaně použitelné nástroje s automatizovanými infrastrukturními procesy.
Vývojáři mají přístup k opakovaně použitelným konfigurovatelným komponentám a službám. V ideálním případě platforma nabízí výhody, jako jsou standardizované výrobní komponenty, nástroje a automatizované procesy.
Pokud například každý produktový tým chce implementovat službu správy tajných klíčů, vznikne v organizaci mnoho různých mechanismů. Místo toho, aby každý tým vytvářel vlastní mechanismus, může platforma poskytnout službu a nabízet ji z centrálního místa.
To přináší výhody, jako je standardní produkt, opětovná použitelnost a snížení časové ztráty. Výsledkem je dosažení opakovatelnosti, která je jedním ze základních prvků modelu DevOps Maturity.
Budoucnost platformního inženýrství a DevOps

Budoucnost platformního inženýrství i DevOps vypadá nadějně. Současné implementace platformního inženýrství již přinášejí různé výhody a ty se budou s vývojem a dospíváním disciplíny zvyšovat.
Díky tomu bude i nadále usnadňovat práci týmů DevOps a dá jim tak příležitost soustředit se více na tvorbu aplikací místo toho, aby se snažily porozumět infrastruktuře a produkčnímu prostředí.
I když se primárně zaměřuje na běhové prostředí, jako je infrastruktura (Kubernetes atd.), softwarový release kanál a další základy, nabízí také další sekundární funkce, jako je správa certifikátů a tajných klíčů, praktiky chaosového inženýrství, automatické zotavení po havárii a pravděpodobně zahrne další s tím, jak se bude vyvíjet.
Některé společnosti se mohou rozhodnout pokračovat v DevOps bez platformního inženýrství. Časem se však mohou stát nekonkurenceschopnými, zejména pokud mají několik týmů DevOps, které používají různé mechanismy k provádění stejného úkolu.
Platformní inženýrství podporuje standardizaci životního cyklu vývoje a jeho využití pravděpodobně poroste s tím, jak se bude vyvíjet a začleňovat další oblasti nad rámec nástrojů a procesů. Bude se neustále měnit s vývojem procesů, postupů, technologií a dalších částí této disciplíny.
Za účelem zvýšení efektivity a kvality produktů by organizace měly zvážit platformní inženýrství, které týmům nabízí přístup ke standardním samoobslužným produktům z centralizovaného místa. Tím se urychlí vývoj a zároveň se zlepší obchodní hodnota a výnosy. Společnost Gartner předpovídá, že přibližně 80 % společností bude mít do roku 2026 vytvořené týmy pro vývoj platforem.
Závěr
Platformní inženýrství je nově vznikající a užitečná disciplína pro zlepšování procesů dodávání softwaru bez obětování bezpečnosti, efektivity a kvality. Vývoj automatizuje a zjednodušuje poskytování a správu zdrojů, což vývojářům umožňuje rychleji dodávat kvalitní software a funkce a přinášet tak svým zákazníkům hodnotu.
Obecně lze říci, že platformní inženýrství je efektivní způsob, jak rozšířit a uvolnit výhody DevOps.
Můžete si také přečíst o automatizaci DevOps.