DevOps je moderní filozofie spojující IT procesy, lidi a nástroje s cílem jejich harmonické spolupráce, díky níž budou společně průběžně dodávat co nejvyšší užitnou hodnotu softwarových řešení svým zákazníkům (externím či interním).
Zkratka DevOps vyjadřuje Development (vývoj) a Operations (provoz) a reprezentuje právě přístup pro celý řetězec IT služby od vývoje až po provoz. Do agilních DevOps procesů jsou vždy zapojeni všichni účastníci životního cyklu softwarových aplikací, včetně koncových uživatelů. Dodávat do provozu ty správné věci je primární cíl, dodávat je průběžně a včas bývá těžší. Nová funkčnost, oprava či jakákoli další změna musí být poskytnuta co nejrychleji v dobré kvalitě, a tak vždy využívá automatizace a kontinuálních technik.
Microsoft má velmi jasnou DevOps vizi. Dodává nástroje pro podporu DevOps procesů a také infrastrukturu pro vývoj, testování i provoz. Od agilního plánování, tvorby softwaru, testování, správy nasazení až po telemetrii a sběr dat o funkčnosti aplikací a chování uživatelů. Pojďte se podívat, jak se dá taková infrastruktura a procesy pro DevOps snadno „naklikat“ pomocí Azure DevOps Projects.
Klíčovým produktem společnosti Microsoft pro orchestraci DevOps procesů je Visual Studio Team Services, za nejdůležitější platformu pro běh i tvorbu softwarových aplikací zase můžeme považovat Azure.
Azure DevOps Projects
Zprovoznit celou infrastrukturu pro podporu DevOps, třeba jen na vyzkoušení a studium „jak to tam běhá“, nebývalo jednoduché a vyžadovalo mnoho času a zkušeností. Nyní je v Azure k dispozici průvodce, který s tím pomůže, vše propojí a uvede do funkčního stavu. Najdete jej v portálu Azure pod názvem Azure DevOps Projects.
Azure DevOps Projects umožňuje vygenerovat kostru infrastruktury DevOps orchestrované ve Visual Studio Team Services (VSTS), propojené s reálnou aplikací běžící v Azure. V současné době veřejně na Azure WebApp nebo WebApp for containers, časem přibydou další infrastrukturní služby jako VM atd.
Většina z čtenářů tohoto článku určitě nějaké IT zkušenosti má, tuší, co to je Azure, může si ho aktivovat zdarma v rámci svého Visual Studia nebo výhod programu Microsoft Partner Network. Ostatní si mohou založit nějakou formu zkušebního provozu Azure (trial), a to je vše, co budeme potřebovat.
Pojďme si to vyzkoušet! Zabere to jen pár minut!
- Na portálu Azure https://portal.azure.com najděte mezi službami „DevOps projekt“, vyberte si svou oblíbenou či jinak vhodnou technologii a postupujte podle návodu.
- Různé technologie nabízejí různé aplikační frameworky, my použijeme třeba Node.JS.
- Nasazovat lze zatím jen do několika infrastruktur, my nasadíme website do Dockeru.
- Bude se generovat serverová infrastruktura, WebApp v Docker kontejneru s veřejnou webovou stránkou, která v našem případě je http://quasclanek.azurewebsites.net, a tam se bude aplikace nasazovat (viz obr. níže).
- Pokud ještě nemáte Visual Studio Team Services (je zdarma pro prvních 5 uživatelů), je založen zcela nový VSTS account (v našem případě https://quasclanek.visualstudio.com) provázaný s vaším Azure login.
- Po kliknutí na Done se začne vše tvořit a za chvilku uvidíte v portálu Azure něco podobného:
- Zdrojové kódy vaší aplikace nebo příkladu jsou uloženy v repositáři Git master větve daného projektu, což je u nás projekt „QuasCICD” ve VSTS tenantu https://quasclanek.visualstudio.com.
- Dle typu aplikace (Java, .NET, PHP, Node.js, …) a cílové platformy je ve VSTS nastaven odpovídající build proces a je přidán trigger Continuous Integration (CI) pro automatizaci buildu po Commitu zdrojového kódu. V našem příkladu se nasazuje Docker image.
- Spustí se první běh procesu, proběhne Build, nasadí se první Release do externího produkčního prostředí Azure WebApp.
- Aplikace je za chvilku dostupná live veřejně na webu na adrese, kterou jsme uvedli v průvodci na začátku.
- Můžete si pohrát se zdrojovým kódem přímo ve VSTS, udělat zkušební Commit a celé CI/CD kolečko kontinuálního nasazení proběhne opět.
- Nezapomeňte si v portálu Azure časem také kliknout na AppInsights, kde se sbírá telemetrie, naleznete tam mnoho užitečných vychytávek.
Na závěr
Během pouhých několika minut jsme si vygenerovali základ DevOps procesu, nastavili CI/CD ve VSTS, nasadili aplikaci do cloudové aplikační infrastruktury. Všechno to můžete dál studovat a rozšiřovat. Zatím jsme si totiž ukázali jen nepatrnou část možností a funkcí, které najdete v Azure a Visual Studio Team Services.
Více praktických návodů hledejte na http://aka.ms/almvms.
Jiří Burian, https://www.linkedin.com/in/jiribur/