Platformové inženýrství vs DevOps: Jak se liší?

Platformové inženýrství a DevOps jsou dvě disciplíny, které optimalizují procesy vývoje softwaru. I když cílem každého z nich je zefektivnit vývoj produktů, každý má jiný přístup.

Postupy DevOps pomáhají vývojářům produktů a provozním týmům spolupracovat a spolupracovat. Na druhé straně platformové inženýrství vytváří a udržuje centralizovanou platformu, kde mohou týmy DevOps přistupovat k automatizovaným, samoobslužným opakovaně použitelným nástrojům a pracovním postupům.

V tomto článku se dozvíme o platformovém inženýrství a DevOps, o tom, co každý přístup dělá, a jeho výhodách. Podíváme se také na rozdíly a budoucnost obou disciplín.

Co je Platform Engineering

Platformové inženýrství je praxe navrhování, budování a údržby infrastruktury vývoje softwaru za účelem zlepšení zkušeností a produktivity vývojářů. Poskytuje sdílené, samoobslužné opakovaně použitelné nástroje, ke kterým mají vývojáři přístup z centrálního umístění.

Platformoví inženýři se zaměřují na vytváření a údržbu základních platforem, nástrojů a procesů, které podporují vývoj softwaru. Pomáhá zlepšit spolehlivost a škálovatelnost vývojové infrastruktury, a tím zrychlit dodávání softwarových produktů.

V praxi se vývojové procesy, technologie a nástroje vyvíjejí s tím, jak produkt neustále roste a stává se složitějším. A platformové inženýrství zajišťuje neustálý vývoj vývojových procesů a nástrojů s tím, jak produkt roste.

Patří mezi ně problémy, jako jsou požadavky na testování, skladování, nutnost dodržovat regulační normy a další. Tento přístup zajišťuje, že to, co je požadováno pro splnění nových požadavků, je k dispozici předem.

Inženýři platformy obvykle navrhnou, vytvoří a spravují nástroje a pracovní postupy, které vývojáři potřebují, aby jim usnadnili práci, pracovali efektivněji a rychleji dodávali aplikace. Díky samoobslužnému přístupu mohou vývojáři volně využívat všechny nástroje a schopnosti, aniž by se spoléhali na infrastrukturu a operace a další týmy.

Vývojáři například nemusí neustále žádat o schválení spuštění nového pracovního prostředí nebo spuštění izolovaného vývojového prostředí. V praxi může schvalovací proces věci zpomalit a vyústit v neefektivní vývoj 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 schopností.

Jak se vyvíjí platformové inženýrství

Inženýrství platforem vytváří sadu organizovaných skupin služeb, procesů, nástrojů a dalších zdrojů, které mohou vývojáři softwaru používat, aniž by je museli přímo spravovat nebo jim museli rozumět. Disciplína řeší širokou škálu vývojových potřeb.

Jak se softwarové aplikace a vývojová infrastruktura vyvíjejí, stávají se komplexnějšími a mají tolik pohyblivých částí, že většina vývojářů softwaru nemůže držet krok. V praxi se od vývojářů vyžaduje správa infrastruktury, ale nemají dostatečné dovednosti nebo zdroje pro správu vznikajících technologií.

Když týmy podle potřeby zvládají věci, které přesahují jejich kapacitu, produktivita klesá a zvyšuje se pravděpodobnost chyb. A platformové inženýrství se ukazuje jako životaschopné řešení, které může zlepšit vývojářskou zkušenost a rychlost dodávání produktů. Platforma poskytuje přístup k vlastním, ověřeným samoobslužným, opakovaně použitelným nástrojům a pracovním postupům.

Platformové inženýrství vytváří interní vývojářskou platformu, kterou mohou vývojáři softwaru používat k vytváření svých produktů. Platforma zahrnuje všechny technologie a nástroje, které jsou vzájemně propojeny, aby vytvořily centralizovanou kolekci samoobslužných nástrojů a procesů.

  Jak Ctrl + F vyhledávat text v tištěném dokumentu

Inženýrská praxe se spoléhá na širokou škálu nástrojů, které dávají vývojářům svobodu vybrat si, co chtějí.

Zdroj obrázku: Platformengineering.org

Jakmile je vytvořen, tvoří zlatou cestu, kterou mohou týmy DevOps používat k vytváření svých produktů. Poskytuje samoobslužnou infrastrukturu, kde mohou vývojáři vytvářet své vývojové prostředí s nástroji, které potřebují, aniž by čekali na schválení.

Obecně platí, že platformové inženýrství je jako další fáze DevOps, která může pomoci velkým společnostem vyvinout samoobslužné, opakovaně použitelné konfigurace a standardy, které pak nabízejí jako interní produkty. Jako krok vpřed v DevOps umožňuje platformové inženýrství vývojářům snadno sledovat postupy DevOps, ale může se lišit od jedné organizace k druhé.

Výhody interních vývojových platforem

Platformové 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ří:

  • Pomáhá urychlit dodávání softwarových aplikací a umožňuje tak podnikům včas realizovat užitečnou obchodní hodnotu.
  • Praxe poskytuje opakovaně použitelné nástroje se samoobslužnými funkcemi a automatizovanými operacemi infrastruktury, které pomáhají zlepšit produktivitu a vývojářské zkušenosti, standardní postupy DevOps a bezpečný a škálovatelný vývojový kanál.
  • Zrychlení vývoje softwaru. Výsledné platformy interního vývoje 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.
  • Zvyšuje větší specializaci a zaměření: Umožňuje vývojářům soustředit se na vývoj (to, co umí nejlépe); v praxi jsou potrubí CI/CD, infrastruktura a distribuované nasazení komplexní systémy, které vyžadují vysoce specializované dovednosti. S platformovým inženýrstvím však vývojáři nepotřebují rozumět systémům a mohou se soustředit na vývoj softwaru namísto snahy porozumět základní infrastruktuře a pracovat na ní.

Co je DevOps

DevOps je přístup, který se snaží zvýšit frekvenci a efektivitu vydávání softwaru. Rozbíjí sila mezi týmy a zároveň podporuje spolupráci mezi nimi.

Metoda vývoje softwaru využívá nástroje a postupy automatizace, nepřetržitého monitorování, integrace, nepřetržitého dodávání, testování, správy konfigurace a správy incidentů k podpoře různých procesů v rámci CI/CD potrubí.

Vývojáři spolupracují s operačním týmem na zkrácení doby sestavení a pomáhají společnostem rychle a často uvolňovat 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í, vytváření, budová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í
  • Lepší kvalita produktu
  • Nepřetržité dodávky softwarových produktů a funkcí
  • Lepší, spolehlivé a rychlejší techniky řešení problémů
  • Snížení nákladů na vývoj softwaru

Platform Engineering vs. DevOps

Níže jsou uvedeny některé z klíčových rozdílů mezi platformovým inženýrstvím a DevOps.

Platform engineeringDevOpsPlatform engineering vytváří interní vývojářskou platformu, která minimalizuje potřebu koordinace. Postupy DevOps mají za cíl zlepšit koordinaci a spolupráci mezi vývojáři a operacemi.
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ástrojů.Zlepšuje spolupráci mezi vývojovými a provozními týmy.Organizace může implementovat platformové inženýrství pouze po úspěšném nasazení prostředí DevOps.Společnosti začínají s DevOps před implementací platformového inženýrství, a nikoli vis versa Definuje ověřené a osvědčené nástroje a pracovní postupy, které by týmy DevOps měly používat na základě na potřebách vývojářů. Podílí se na fázích vývoje a životního cyklu operací, jako je plánování, kódování, budová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.
Nepracuje na obchodních projektech, ale vytváří a udržuje platformu, kterou k tomu týmy DevOps vyžadují. Týmy DevOps mohou brát a pracovat na obchodních projektech při vývoji svého softwaru.

  Jak používat Custom Design Kiosk v 'Animal Crossing: New Horizons'

Obvykle se kombinace nástrojů v interní vývojářské platformě může lišit od jednoho prostředí k druhému.

Typické nástroje pro inženýrské platformy

  • Kubernetes
  • Crossplane
  • GitLab CI
  • Zákulisí
  • Dotaz
  • ArgoCD

Nástroje DevOps zlepšují spolupráci, automatizaci a další procesy, které zlepšují kvalitu produktů a dodací lhůty. 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
  • Přístavní dělník
  • Loutka
  • Gradle
  • CircleCi
  • Kamarád
  • Git
  • Github
  • Šéfkuchař
  • Kubernetes
  • Ansible
  • Terraform

Platform Engineering se objevuje, když DevOps dospívá a škáluje

Dnes se objevuje platformové inženýrství, protože DevOps dospívá a škáluje. Tato disciplína vypadá, že je to další fáze ve vývoji DevOps. DevOps již téměř dosáhlo své zralosti, protože se neustále vyvíjí, a vypadá to, že vývoj platformy bude další fází. A jak se zvětšuje, objevují se nové výzvy a příležitosti.

Platformové inženýrství poskytuje samoobslužné, opakovaně použitelné procesy a nástroje, takže vývojáři nemusí neustále budovat nové způsoby, jak dělat věci. V ideálním případě to znamená, že nemusí vytvářet nové nástroje, ale mohou místo toho používat to, co se osvědčilo. Praktiky DevOps obvykle sledují určitou cestu ke 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.
  • Identifikujte slabá místa, která vyžadují zlepšení
  • Definujte kroky, které je třeba podniknout k dosažení cílových cílů DevOps.

Organizace může zhodnotit své schopnosti z hlediska kultury a strategie, automatizace, struktury a procesů a konečně spolupráce a sdílení.

V ideálním případě obsahuje model vyspělosti DevOps 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ývojářský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 zároveň 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ěřeno: vyhodnocování a neustálé zlepšování procesů a automatizovaných pracovních postupů
  • Optimalizováno: Organizace nyní může vidět výhody DevOps a také řešit případné mezery, aby zlepšila efektivitu.

Jak DevOps dospívá a škáluje, dostává se do fází měřených a optimalizovaných, kde nyní organizace začíná analyzovat postupy a nástroje. To zahrnuje kontrolu způsobu, jakým týmy používají nástroje k řešení stejného problému. A poskytuje příležitost identifikovat problémové oblasti a neefektivity.

  10 nejlepších AVAX peněženek pro držáky Avalanche Crypto

K optimalizaci systémů mohou nyní organizace využívat platformové inženýrství k vytváření samoobslužných opakovaně použitelných nástrojů, které mohou obsluhovat z centrálního místa, a umožňují tak týmům přistupovat ke stejným nástrojům a procesům a používat je namísto vytváření vlastních.

Může Platform Engineering ovládnout DevOps?

Platformové inženýrství je v ideálním případě implementací postupů a konceptů DevOps, nikoli náhradou. Obecně je cílem DevOps používat procesy, nástroje a rámce spolupráce ke zlepšení kvality softwaru a životního cyklu vývoje. Využívá různé postupy a nástroje k zefektivnění vývoje, monitorování a správy.

Co dělá platformové inženýrství, je vzít tyto procesy, nástroje a osvědčené postupy a spojit je dohromady, aby vytvořily znovu použitelné, samoobslužné služby a nástroje použitelné různými týmy v celé organizaci.

Platformové inženýrství v ideálním případě zvyšuje produktivitu vývojářů zajištěním konzistence a efektivity. Praxe poskytuje snadno použitelnou platformu pro vývoj a vývoj produktů. Platforma nabízí samoobslužné opakovaně použitelné nástroje s automatizovanými procesy infrastruktury.

A 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 chce například každý produktový tým implementovat službu správy tajemství, bude v organizaci existovat mnoho různých mechanismů. Místo toho, aby každý tým vytvářel svůj mechanismus, může platforma poskytovat službu a nabízet ji z centrálního místa.

A to má výhody, jako je standardní produkt, opětovná použitelnost a snížená ztráta času. V důsledku toho je dosaženo opakovatelnosti, která je jedním ze základních prvků modelu DevOps Maturity.

Budoucnost platformového inženýrství a DevOps

Budoucnost platformy i DevOps vypadá jasně. Současné implementace platformového inženýrství již přinášejí různé výhody a ty se budou zvyšovat, jak se disciplína vyvíjí a dospívá.

V důsledku toho bude i nadále usnadňovat práci týmů DevOps, a tak jim poskytne příležitost soustředit se více na vytváření aplikací namísto snahy porozumět infrastruktuře a produkčnímu prostředí.

Ačkoli se jeho primární zaměření soustředí na běhové prostředí, jako je infrastruktura (Kubernetes atd.), kanál vydání softwaru a další základy, poskytuje také další sekundární funkce, jako je správa certifikátů a tajemství, cvičení chaosového inženýrství, automatické zotavení po havárii a pravděpodobně bude zahrnovat další, jak se bude vyvíjet.

Některé společnosti se mohou rozhodnout pokračovat v DevOps bez inženýrství platformy. Časem se však mohou stát nekonkurenceschopnými, zvláště když mají několik týmů DevOps, které k provádění stejného úkolu používají různé mechanismy.

Inženýrství platforem podporuje standardizaci životního cyklu vývoje a jeho využití pravděpodobně poroste s tím, jak se vyvíjí a začleňuje další oblasti nad rámec nástrojů a procesů. Bude se neustále měnit, jak se vyvíjejí procesy, postupy, technologie a další části disciplíny.

Pro zlepšení efektivity a kvality produktů by organizace měly zvážit platformové inženýrství, které týmům nabízí přístup ke standardním samoobslužným produktům z centralizovaného místa. To urychlí vývoj a zároveň zlepší obchodní hodnotu a výnosy. 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

Platformové 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 svým zákazníkům hodnotu.

Obecně platí, že platformové inženýrství je efektivní způsob, jak rozšířit a odemknout výhody DevOps.

Můžete si také přečíst automatizaci DevOps.