Průkopníci komunitního vývoje v automotive
Ukázkovým příkladem přeměny otevřených standardů, komunitního přístupu v implementaci CI/CD a moderního způsobu vývoje do špičkového produktu je společnost Ford. Díky zapojení do open source komunity Ford ovlivňuje projekty tak, aby co nejlépe vyhovovaly potřebám podnikových uživatelů.
Společnost Ford Motor Company si velmi cení otevřených technologií a standardů, i proto sáhla po open source řešeních, když v minulém desetiletí stanovovala svou strategii digitální transformace. S produkčními aplikacemi spuštěnými už v roce 2017 patřila společnost Ford k prvním uživatelům Kubernetes. Od té doby se open source technologie staly základním kamenem pro iniciativy společnosti v oblasti nativně cloudového vývoje. Ford ale open source nejen využívá, na své cestě k němu se rozhodl udělat i další krok – přispívat zpět do open source upstreamu.
Ze slov Satishe Puranama, vedoucího cloudových služeb ve společnosti Ford Motor Company, pochopíme, kde se Ford právě nachází a kam směřuje: „Komplexní celofiremní digitální transformace Fordu pomáhá přinášet nejlepší produktovou řadu v historii firmy – včetně toho, že se Ford stal druhým nejprodávanějším elektromobilem po vozech Tesla – a ještě více zpříjemňuje užívání vozů Ford díky softwarovým technologiím zajišťujícím nepřetržitě dostupné služby a zážitky z jízdy. Ford například zjišťuje preference zákazníků na základě dat získaných z připojených vozidel a následně do nich s využitím bezdrátové distribuce softwaru přidává nové funkce nebo vylepšení. Takovou novinku ocenili například majitelé vozů F-150 a Mustang Mach-E, kteří nedávno obdrželi aktualizaci softwaru Ford Power-Up s technologií BlueCruise pro autonomní jízdu po dálnicích. Jeden den zákazníci řídili svá vozidla běžným způsobem, ale už druhý den mohli sundat ruce z volantu. Aby Ford podpořil tyto inovace, usnadňuje svým softwarovým expertům soustředit se na nejlepší část jejich práce a zároveň odstraňuje mnoho překážek, které jim dříve bránily v kreativitě a produktivitě.“
Když se Ford zdokonalil v používání Kubernetes, snažil se zefektivnit, zkonsolidovat a škálovat i své pracovní procesy a postupy. Tým IT proto nasadil řešení Red Hat OpenShift Pipelines, založené na projektu Tekton, aby standardizoval CI/CD způsob vývoje, což pomáhá vytvářet, testovat a nasazovat aplikace napříč cloudy. Jakmile tým IT společnosti Ford začal Tekton používat, téměř okamžitě zaznamenal úspěch. Tento úspěch pak přispěl k rozhodnutí, že se kromě samotného využívání této technologie bude na tomto projektu i aktivně podílet, zejména pokud jde o vylepšení jeho používání v rámci podnikové sféry. Ford se inspiroval společností Red Hat a naučil se pracovat s open source komunitami, což mu nyní umožňuje přispívat a pomáhat při utváření další verze systému Tekton.
Rychlejší inovace s projektem Tekton
Když společnost Ford začala poprvé experimentovat s CI/CD přístupem a modernizovala tak svůj způsob vývoje, jejím cílem byla opakovatelnost procesů a komponent a zajištění jednotného prostředí napříč týmy IT, včetně těch s různými dovednostmi a názory na nástroje. IT oddělení Fordu nasadilo systém Tekton částečně i kvůli tomu, že jde o projekt složený z různých částí. Týmy se tak nemusely učit žádný specifický jazyk a mohly pracovat způsobem, který jim nejvíce vyhovoval, a spoléhat se na své dosavadní znalosti. Navíc, Tekton lze rozšířit napříč cloudy, a tak Ford není závislý na jediném dodavateli. Na produkční úrovni Ford využívá Tekton prostřednictvím OpenShift Pipelines, s plně podporovanou a zabezpečenou verzí, která je vhodnější pro celopodnikové nasazení.
Tekton se pro společnost Ford stal nedílnou součástí poskytování služeb infrastruktury IT a aplikací, přičemž veškeré poskytování cloudových služeb se nyní provádí výhradně v systému Tekton prostřednictvím tisíců nasazení.
Zavedením CI/CD vývoje se společnosti Ford podařilo díky automatizaci zkrátit dobu potřebnou k vývoji a nasazení aplikací. Automatizace a opakovatelnost také vedly k menšímu počtu chyb – a chyby, které se vyskytnou, je snazší vysledovat a opravit. Ford navíc může častěji vydávat nové verze softwaru a aplikací, a díky kontinuálnímu dodávání a nasazování se nové funkce a vylepšení dostanou do rukou koncových uživatelů co nejrychleji.
Podnikové inovace ve spolupráci s komunitou
V návaznosti na úspěch při používání systému Tekton se společnost Ford obrátila na Red Hat, aby zahájila společnou inženýrskou iniciativu, která by pomohla jejímu týmu IT přispívat zpět do projektu Tekton. Se zkušenostmi s dlouhodobým využíváním open source technologií chtěla společnost Ford učinit další krok a přispět v rámci komunity.
Ford a Red Hat společně vytvořily virtuální tým, který v rámci projektu Tekton prosazuje podnikové možnosti jeho využití. Díky zapojení do komunity může Ford ovlivňovat projekt tak, aby co nejlépe vyhovoval potřebám podnikových uživatelů, přičemž konkrétně se zaměřuje na formování technologie, aby vyhověla rostoucím nárokům na rozsáhlé operace v oblasti bezpečnosti a zkrácení cyklu zpětné vazby.
Prvním úkolem Fordu bylo zabránit zbytečnému spuštění běhu jednotlivých CI/CD úloh na základě toho, zda byl soubor změněn nebo ne. Dříve Ford řešil problém tak, že kontroloval, zda byly soubory změněny uvnitř vlastní úlohy, což bylo těžkopádné. K vyřešení tohoto problému přispěl tým Fordu v upstreamu komponentou Tekton Triggers, která obohacuje příchozí požadavek na github o seznam změněných souborů souvisejících s událostí typu pull_request nebo push. Poté je tento seznam ověřen pomocí interceptoru CEL, aby se zastavilo zpracování a/nebo došlo k předání do Tektonu, kde může být seznam souborů použit úlohou.
Dalším příspěvkem Fordu do upstreamu Tekton je tzv. interceptor, který blokuje spuštění požadavku na aktualizaci (pull request trigger), pokud není vyvolán vlastníkem, přičemž vlastníci jsou definováni v souboru OWNERS v kořenovém adresáři úložiště. Díky tomuto příspěvku se požadavek na obnovu modulu (pull request of pipeline) spustí až poté, co jej zkontroluje vlastník modulu. To pomáhá omezit zdroje a zlepšit zabezpečení jmenného prostoru tím, že se spouštějí pouze schválené procesy, protože do různých modulů přispívají tisíce vývojářů společnosti Ford. Výsledkem změn je efektivnější proces s větším důrazem na bezpečnost. Příspěvky společnosti Ford byly zveřejněny ve verzi Tekton Triggers v0.23.0, což umožňuje ostatním podnikům využívat tyto funkce.
Mentoring od zkušeného
Podstatou spolupráce společností Ford a Red Hat je podpora inovací v rámci projektu Tekton, které mohou využít i další podniky, protože nejsilnější projekty a nástroje, s nimiž lze pracovat, vedou k většímu množství inovací v celém IT. Díky spolupráci se společností Red Hat byl Ford schopen komunitu rychleji pochopit a zapojit se do ní. Red Hat v roli mentora ukázal společnosti Ford, jak začít s přispíváním a jaké kroky je třeba podniknout na začátku zapojení do komunity.
Podle Satishe Puranama, vedoucího cloudových služeb ve společnosti Ford Motor Company, „je snadné využívat open source, ale teprve když jsme se zapojili do upstream komunity, pochopili jsme, kolik krve, potu a slz je do těchto projektů vkládáno – a to s velkým počtem individuálních přispěvatelů. Red Hat nám poskytl cenné mentorské vedení, které nám pomohlo naučit se zapojit do širší open source komunity a spolupracovat s ní.“
Ford plánuje dále rozšířit svou práci v rámci příspěvků do open sourcu a zapojit se do dalších projektů souvisejících se systémem Tekton, aby urychlil svou digitální transformaci, a ještě více vylepšil své produktové portfolio.