V této části série článků o AI bychom se měli věnovat způsobu, jak ji optimálně implementovat. Je jasné, že neexistuje nějaký přesný a určitě úspěšný návod, a komplexita tématu neumožňuje jít do nějaké větší úrovně detailů, takže si probereme roli a klíčové funkce AI (resp. ML) v procesu DevOps. Představíme si obecné návodné principy, kterých bychom se při implementaci AI do DevOps měli držet. Probereme i negativní faktory, jako jsou nevýhody nasazení AI, identifikované výzvy a rizika.
DevOps Umělá inteligence Strojové učení Bezpečnost Automatizace
Role AI v DevOps (Predictive DevOps)
Integrace AI do procesu DevOps má potenciál revolučně změnit způsob vývoje a dodávky SW. V souladu s tím, jak business v oblasti SW dodávek zrychluje, hledají organizace způsob, jak zvýšit účinnost, redukovat chyby a navýšit spolupráci mezi týmy. AI může automatizovat opakované, rutinní činnosti (včetně testování, nasazení kódu či monitoringu), identifikovat a predikovat chyby a poruchy1, zlepšovat spolupráci a komunikaci a celkově vytvořit nástroj, který firmám umožní přežít v prostředí narůstající konkurence. [1]
Celkově lze říci, že AI má potenciál výrazně zlepšit efektivitu, spolehlivost a bezpečnost procesů DevOps a přispět k lepšímu fungování softwarového vývoje a provozu aplikací.
Klíčové funkce AI a ML v DevOps
Aplikace AI a ML v DevOps znamená změnu paradigmatu, přeměnu rozsáhlých datových toků na využitelné poznatky a automatizaci. Toto sloučení nově definuje několik klíčových oblastí či funkcí v rámci prostředí DevOps. Tyto oblasti jsou ve formě Mindmap zachyceny na Obr. 1.
Obr. 1: Klíčové funkce AI/ML v DevOps
Integrace AI a ML do postupů DevOps výrazně zlepšuje obchodní výsledky (viz Obr. 2). Díky zkrácení doby uvedení na trh, zvýšení návratnosti investic a zvýšení spokojenosti zákazníků prediktivní DevOps nejen zefektivňuje provozní procesy, ale také přispívá ke konkurenční výhodě v rychle se vyvíjejícím digitálním prostředí. Jak organizace pokračují v přijímání a zdokonalování těchto postupů, mohou těžit ze zvýšené agility, inovací a silnějšího souladu s požadavky trhu a potřebami zákazníků.
Obr. 2: Dopad prediktivních DevOps na obchodní výsledky
Tab. 1: Role AI v DevOps je poměrně zásadní a rozmanitá. Zde je pár příkladů aktivit, jak AI ovlivňuje a podporuje DevOps
Proberme si některé klíčové funkce v detailu (viz. Tab. 2–11).
Predictive DevOps – shrnutí Predictive DevOps stojí na průsečíku inovací AI/ML a tradičních metodik DevOps a symbolizuje transformační posun v poskytování softwaru. Tato fúze překračuje hranice reaktivních provozních postupů a připravuje půdu pro proaktivní přístup založený na datech. Díky využití prediktivní schopnosti AI a ML mohou procesy DevOps předvídat výzvy, optimalizovat zdroje a dynamicky se přizpůsobovat měnícím se požadavkům.
Tab. 2: Paradigmata spolupráce člověk – AI
Tab. 3: Optimalizace zdrojů
Tab. 4: Efektivní testování
Tab. 5: Vývojářské praktiky
Tab. 6: Vylepšování CI/CD pipelines
Tab. 7: Monitoring, detekce anomálií, notifikace
Tab. 8: Prediktivní analýza
Jak implementovat AI v DevOps?
Jak začít s integrací AI do DevOps? Praktické kroky a doporučení. Na co si dávat pozor?
Úvodem je nutné zdůraznit, že nějaký zázračný scénář (silver bullet), jak úspěšně implementovat AI do DevOps, neexistuje. Zvolený plán implementace bude vždy silně ovlivněn různými faktory, jako jsou specifické požadavky businessu (v oblasti funkcionality, časových a finančních očekávání), velikost organizace, organizační kultura, finanční limity, firemní, lokální či mezinárodní regulace, legislativa a celé řady dalších.
Asi nejvíce ovlivňujícím faktorem ale bude rozsah a hloubka AI integrace do DevOps. Od nejjednoduššího nasazení formou použití AI pouze na personální úrovni (ChatGBT, MS Copilot) přes daleko hlubší integrace formou AIOps až po maximum možného u organizací typu AI Emergent Enterprise (organizace, jejichž obchodní model je založen od samého počátku na AI).
Začátek implementace formou integrace AI do DevOps může být komplexním úkolem, ale určitě je zároveň možné postupovat systematicky a efektivně. Zde jsou některé praktické kroky a doporučení:
1. Definování vize AI pro DevOps pro vaši organizaci: Jaký bude výhled v tří čtyřletém období? Definujte svou představu ve stručném shrnutí.
2. Definice cílů: Rozvíjí předchozí bod – vizi. Nejdříve je důležité jasně definovat cíle, kterých chcete dosáhnout integrací AI do svých DevOps procesů. Může jít o zlepšení efektivity, rychlosti nasazení, zvýšení kvality kódu nebo výkonu aplikací, náhradu chybějících lidských a technických zdrojů, redukci finančních nákladů atd. (viz Box 1).
3. Definice vybraných případů užití (viz Box 2): Toto vychází z předchozího bodu, ale liší se v konkrétním zaměření na konkrétní firmu a také v úrovni detailu. Případů užití pro DevOps existuje celá řada, zde je potřeba zúžit výběr na ty, které jsou časově nejrychleji realizovatelné a přinášejí nejvyšší hodnotu.
4. Analýza dat: Prověřte dostupnost a kvalitu dat, která budou potřeba pro vývoj a trénink AI modelů tak, aby podporovaly vybrané/požadované případy užití. Je důležité zajistit, že máte dostatečné množství relevantních dat a že jsou čistá a použitelná.
5. Výběr nástrojů pro AI: Vyberte si vhodné nástroje a technologie pro implementaci AI do vašich DevOps procesů. Můžete využít existujících open- -source nástrojů nebo komerčních řešení, příp. podpůrných nástrojů pro AI – ať už se jedná o nástroje pro ML, automatizaci procesů nebo monitorování. Příklady nástrojů a používaných platforem viz např. [2].
Tab. 9: Zabezpečení a dodržování předpisů (včetně bezpečnosti)
Tab. 10: Správa služeb
Tab. 11: Zajištění kvality
6. Definice rizik při implementaci a způsob jejich eliminace či mitigace: Určete si možná rizika, zranitelnosti, výzvy a otevřené body a ke každému z nich si určete, zda je budete ignorovat, mitigovat nebo úplně eliminovat.
7. Školení personálu: Zajistěte, aby váš tým měl průběžně potřebné znalosti a dovednosti v oblasti AI a ML (a to nejen v technologiích, ale i lidských dovednostech/soft skills). Protože těchto odborníků nebude nikdy dost, provádějte nábor nových zaměstnanců vzdělaných v AI a DevOps, spolupracujte s partnery.
8. Pilotní projekt: Zvažte spuštění pilotního projektu, ve kterém budete implementovat AI do jedné či více konkrétních oblastí vašich DevOps procesů. To vám umožní testovat a validovat koncepty a získat praktické zkušenosti před širším nasazením. Můžete využít koncept MVP4.
9. Měření a vyhodnocování: Toto vám umožní zajistit celkovou governance při implementaci a pozdějším zajištění provozu AI. Definujte klíčové metriky a ukazatele výkonnosti, které vám umožní monitorovat úspěch integrace AI do vašich DevOps procesů. Pravidelně vyhodnocujte výsledky a přizpůsobujte svůj přístup podle potřeby.
10. Stanovení globální strategie pro AI: Definujte AI platformy a nástroje (interní nebo externí, open source vs. komerční), jak budete řešit sourcing (alokace lidských zdrojů (interně/externě/kombinace obou), zda chcete implementaci a další rozvoj AI řešit centrálně nebo decentralizovaně (separátní organizační jednotky/ line of businesses).
Ač je to k nevíře, regulace AI je určitě jedním z možných řešení těchto výzev. Můžeme jen definovat, zda má být uplatněna obligatorním způsobem, na úrovni jakých entit (kontinenty, regiony, individuální země či velké korporace a národní lokální entity).
Na co si dávat pozor?
Při integraci AI do DevOps je důležité si dávat pozor na několik klíčových věcí:
- Bezpečnost a ochrana dat: Zajistěte, aby byly ochrana dat a zabezpečení infrastruktury zahrnuty do vašich AI iniciativ, aby se minimalizovala rizika spojená s únikem dat nebo zneužitím AI.
- Transparentnost a interpretovatelnost: Ujistěte se, že AI modely jsou transparentní a interpretovatelné, zejména pokud mají vliv na důležitá rozhodnutí nebo obchodní procesy. To pomůže zajistit důvěru a akceptaci u uživatelů a zúčastněných stran.
- Správa změn a řízení rizik: Implementace AI do Dev- Ops může přinést změny v procesech a pracovních postupech. Důkladně plánujte a spravujte tyto změny a minimalizujte rizika spojená s novými technologiemi a postupy. Závěr V dalším dílu si řekneme specificky o bezpečnosti v oblasti AI a DevOps a pokusíme se predikovat další rozvoj.
Závěr
V dalším dílu si řekneme specificky o bezpečnosti v oblasti AI a DevOps a pokusíme se predikovat další rozvoj.
Tato e-mailová adresa je chráněna před spamboty. Pro její zobrazení musíte mít povolen Javascript.
Poznámky pod čarou:
- Proto se vžilo označení Predictive DevOps.
- Static Application Security Testing – statické testy bez spuštění kódu
- Dynamic Application Security Testing – spuštění zdrojového kódu aplikace a jeho test
- Minimal Viable Product/Minimálně životaschopný produkt – termín z agility vyjadřující produkt s minimalizovanou funkcionalitou k ověření validity konceptu
POUŽITÉ ZDROJE:
[ 1 ] Agilemania – How can DevOps take advantage of artificial intelligence? Agilemania https://agilemania.com/advantages-of-ai-in-devops#:~:text=You%20can%20use%20AI%20to,resource%20management%2C%20and%20enhancing%20security
[ 2 ] Dostupné webové platformy pro využívání AI – Janáčkova akademie múzických umění; Nástroje AI | MarketingPPC; Flexos – [Report] Generative AI Top 150: The World's Most Used AI Tools (Feb 2024)
[ 3 ] Swoogoo, AI Code Completition – Microsoft PowerPoint – final-presentation.pptx