Informační architektura - struktura a organizace informací v digitálním světě | | https://www.create-it.cz/Blog/Stranky/informacni_architektura.aspx | Informační architektura - struktura a organizace informací v digitálním světě | <p>
<em>Trápíte se občas nad tím, že nedokážete na Internetu něco rychle najít? Ať už se jedná o zboží v e-shopu, tlačítko pro připojení přílohy ve Datové schránce nebo nákup lístku na online seminář. Na stránkách, kde hledáte dlouho nebo dokonce nenacházíte potřebné údaje, roste vaše nespokojenost a mění se ve frustraci. Na vině je většinou špatná informační architektura. Co je to informační architektura (IA) a proč je důležité její výstavbu nepodcenit? Jak ji navrhnout, aby uspokojila potřeby cílové skupiny? </em><br></p><p>Informační architektura se zabývá organizací, strukturou a navigací informací, aby byly snadno dostupné, srozumitelné a užitečné pro uživatele. Správné uspořádání informací je základním prvkem úspěšného fungování webových stránek, softwarových aplikací a dalších informačních systémů. </p><p>Jak tedy navrhnout IA, která má předpoklady být dobrým poskytovatelem informací? Při návrhu IA se prolínají tří základní perspektivy. Zohlednění všech dílčích oblastí je klíčem k návrhu kvalitní IA. A naopak, potlačení kterékoliv z nich negativně ovlivní výslednou kvalitu. <br></p><p>
<img src="/Blog/PublishingImages/Stranky/informacni-architekura/architektura1.svg" data-themekey="#" alt="" style="width:100%;margin-top:20px;" /> </p><h2>Kontext</h2><p>Každé naše konání se děje s určitým účelem a v nějakém prostředí. Stejně tak i IA , systému, aplikace či webových stránek, vzniká v určitém kontextu. Před tvorbou IA tedy musím mít zřejmou odpověď na otázku jaký je účel IA s ohledem na obchodní cíle. Co mi přinese a proč ji potřebuji? Další rovinu kontextu představuje umístění IA v interakci s okolním světem. Jak k ní budou přistupovat uživatelé? Kontext můžeme vnímat zjednodušeně vnímat jako odpověď na otázku „proč a kde“ bude vznikat IA.<br></p><h2>Uživatel</h2><p>Obchodní cíle jsou realizovány interakcí s okolím – s uživateli. Tato oblast představuje druhou perspektivu. Kdo jsou cíloví uživatelé? Jaké jsou jejich potřeby a hlavní motivace? To jsou základní otázky, jejichž odpovědi musíme umět zformulovat. V této rovině pracujeme se skupinami uživatelů a hlavně jejich mentálními modely.<br></p><h2>Obsah</h2><p>Poslední perspektivu představuje obsah, tedy všechna data, která pomocí IA organizujeme. Obsah je silně ovlivněn uživatelem. Musíme znát odpovědět na otázku, jaký obsah je pro uživatele relevantní? Kolik informací jsou uživatelé schopni zpracovat najednou? Správná IA má poskytovat přiměřené množství informací, které uspokojí co největší procento cílové skupiny. Myslet si, že čím více informací poskytneme, tím větší skupinu příjemců obsloužíme, není většinou pravda. Zároveň musí být správně navržená IA flexibilní a škálovatelná. Žijeme v dynamické době a je třeba mít na paměti budoucí vývoj a s ním předpokládané změny. </p><h2>Tvorba IA jako proces</h2><p>Mít na paměti všechny tři perspektivy nemusí být vždy jednoduché. Tady je stručná kuchařka, kterou můžete použít, abyste při tvorbě IA na nic nezapomněli.</p><p>1. <strong>Poznejte kontext.</strong> Důvody a cíle IA je potřeba mít pořád na paměti. Porozumění zadání, motivace a celkového kontextu je první důležitý krok. Pokud zadání nemáte jasně definované, shrňte jej stručně sami a nechejte si ho odsouhlasit vlastníky projektu. K popsaným cílům je nutné se v procesu navrhování IA vracet. Jen tak máte jistotu, že se neodchýlíte od požadovaného stavu a splníte zadání. </p><p>2. <strong>Definujte cílové skupiny uživatelů.</strong> Jaké jsou potřeby a motivace? V jakém kontextu uživatelé hledají informace? Existují 4 obecné důvody návštěvy: </p><blockquote style="margin:0px 0px 0px 40px;border:medium;padding:0px;"><p>• Uživatel ví, co hledá. Dokáže popsat cíl svého vyhledávání a má určitou představu, jak jej najít. Cesta k cíli by měla být rychlá a jednoduchá.</p><p>• Uživatel ví přesně, co hledá, ale nemůže si vzpomenout na název, detaily. Dokáže si ovšem vzpomenout, kde zhruba informaci našel.</p><p>• Uživatel má matnou představu, co potřebuje vědět. Někdy to dokáže vyjádřit, jindy ne.</p><p>• Uživatel neví přesně, co hledá. Nehledá nic specifického, má jen obecný cíl. </p></blockquote><p>Ideální IA dokáže pokrýt všechny důvody. Nezapomeňte ale na to, že všem nikdy nevyhovíte. Přestože jsou určité vzorce chování, i tady platí „sto lidí, sto názorů“. Důležité by mělo být rychle a kvalitně obsloužit skupinu, která nám pomůže dosáhnout obchodních cílů. Ta nemusí být nutně tou nejrozsáhlejší.</p><p>3. <strong>Seznamte se s obsahem.</strong> Počítejte s tím, že tato fáze vám může zabrat hodně času. Ať už je to kvůli rozsahu nebo neznalosti zpracovávaného tématu. V této fázi je žádoucí posuzovat obsah s ohledem na definované cílové skupiny a jejich potřeby. Pokud děláte revizi IA, je dobré se ptát – uspokojí tato informace potřeby primární cílové skupiny? Pokud ne, pryč s ní. Hygiena obsahu je většinou pracná a bolestivá, protože autor zpravidla nerad vyhazuje něco, co vytvořil a dal si s tím práci. Je na vás jej dobrými argumenty dovést k názoru, že tohle je správná cesta. </p><p>4. <strong>Udělejte rešerši. </strong>Je vysoce pravděpodobné, že v digitálním světě existuje stejné nebo velmi obdobné řešení tomu, kterého chcete namodelovat. Zjistit, jak fungují podobná řešení vám pomůže lépe předvídat uživatelské znalosti a zkušenosti dané oblasti, které se budou snažit podvědomě aplikovat při používání vašeho řešení. Hovoříme o poznání tzv. uživatelského mentálního modelu.</p><p>Nejjednodušší srozumitelná definice <a href="https://www.nngroup.com/articles/mental-models" target="_blank">mentálního modelu</a> je podle Nielsen Norman Group „Mentální model je to, co si uživatel myslí o daném systému." Jinými slovy, mentální modely jsou předpoklady založené na dosavadních zkušenostech poznávání reálného světa, které lidé nosí v hlavě před interakcí s webovou stránkou nebo aplikací. Všichni podvědomě tušíme, že kontaktní informace nalezneme v sekci O nás nebo Kontakt a nebudeme očekávat její umístění mezi deskriptivními informacemi produktu nebo uprostřed novinového článku. Tuto myšlenku zformuloval do jednoho ze základních UX zákonů průkopník této oblasti <a href="https://www.nngroup.com/people/jakob-nielsen/" target="_blank">Jakob Nielsen.</a></p><hr />
<h2>Jakobův zákon (Jakob’s law)</h2><p>
<i> Jakobův zákon o uživatelském zážitku na internetu říká, že uživatelé tráví většinu času na jiných webových stránkách než na vašich. To znamená, že uživatelé dávají přednost tomu, aby váš web fungoval stejně jako všechny ostatní weby, které již znají.</i><br></p><br><hr /><br>
<div><p>Nepodcenit rešerši a inspirovat se podobnými řešeními je zpravidla lepší než přehnaná kreativita a snaha o originalitu. Lidé nechtějí přemýšlet a rozhodovat se více, než je nutné.</p><p>5. <strong>Roztřiďte obsah.</strong> V tomto kroku musíte vymyslet koncept taxonomie a struktury. Taxonomie je systém kategorizace a klasifikace informací, struktura je o definování vzájemných vztahů mezi jednotlivými částmi systému. Klíčové je mít koncept. Např. webové stránky nabízející robustní softwarové řešení mají několik možností, jaké pojetí pro uspořádání obsahu zvolit. Jako uživatele vás může v první řadě zajímat, jaké má produkt funkce. Nebo hledáte informace o produktu podle odvětví, tedy hledáte identifikaci s cílovou skupinou. Anebo si říkáte, proč zrovna tenhle produkt, jaké má benefity, přednosti atd. Svět je pestrobarevný a komplexní, neexistuje jen jeden správný koncept. Vracejte se k rešerši a inspirujte se jimi.</p><p>Jakmile se rozhodnete pro jednu hlavní myšlenku, můžete definovat primární úrovně hierarchie informací, tj. hlavní kategorie, do kterých budete třídit obsah. Pro tento krok můžete použít metodu Třídění karet (card sorting). Jednotlivá témata rozřazujete do hlavních kategorií nebo jejich podskupin, které vám intuitivně dávají smysl. Nesnažte se vytvářet zbytečně mnoho kategorií a úrovní. Čím méně, tím lépe. Při třídění obsahu využijte aplikací, které vám umožní vytvořit snadno myšlenkovou mapu nebo jinak vizualizujete uspořádání obsahu. Programů pro bezplatné použití je dneska celá řada; Figma, Miro, Lucidspark, MindMaster aj.</p><p>Jakmile máte vytvořenou hierarchii, udělejte si průběžný test. Využít můžete tzv. Stromové testování (tree testing). Je to v podstatě inverzní metoda ke třídění karet. Snažíte se nalézt konkrétní informaci v dané struktuře. Cílem tohoto testování je odpověď na otázku „Najdou uživatelé to, co hledají?“</p><p>V tomto kroku pamatujte také na to, že je nutné držet konzistentní jazyk – tón, jazykový rytmus, jednotné názvosloví a soudržnost informací. To všechno silně ovlivňuje uživatelský prožitek. Pojmenovávejte kategorie jasně, srozumitelně a jednoduše.</p><p>6. <strong>Navrhněte wireframe.</strong> Wireframe je grafické zobrazení upořádání klíčových prvků navigace jako jsou menu, drobečková navigace, odkazy, vyhledávání a další prvky sloužící k procházení obsahu. Tvorba wireframů je o logice fungování systému/stránek. Díky nim získáváte vizualizovaný pohled na rozložení prvků usnadňujících orientaci a hledání informací. Navíc vám jejich vytvoření dovolí simulovat další uživatelské testování; identifikovat potenciální problémy a řešit úpravy dříve, než se bude řešit grafický design nebo bude systém v provozu. V neposlední řadě je potřeba myslet i na to, na jakých zařízeních bude naše řešení realizováno a v případě nutnosti navrhnout wireframe pro všechna požadovaná zařízení (desktop, mobil, tablet). Výsledkem tohoto kroku by měla být jednoduchá, konzistentní a intuitivní navigace napříč všemi kontexty použití.</p><p>7. <strong>Aplikujte design.</strong> Sebelépe navržená IA neobstojí, pokud její obsah není dobře prezentován. Cílem této fáze je vytvořit esteticky příjemné a konzistentní uživatelské rozhraní, které umocní pozitivní uživatelský prožitek. K tomu slouží designový jazyk. Jedná se o soubor pravidel, vzorů a prvků vizuálního designu, ke kterým patří barevná paleta, typografie, ikony, vzory, mřížka atd. Správné použití designu může uživateli pomoci rychle identifikovat důležité informace, usnadnit orientaci na stránce anebo podpořit sdělení, která jsou ze strategického hlediska vhodné uživateli komunikovat. </p><p>8. <strong>Sestavte prototyp.</strong> Když máte jasno o tom, jak budou informace uspořádány, máte rozmyšlenou navigaci a navrhnutý design, je čas vytvořit prototyp, který simuluje vzhled a chování budoucího produktu. Propojením několika navrhovaných obrazovek vytvoříte maketu řešení, které prezentujete zadavateli a zároveň skvělý nástroj pro otestování budoucího produktu. Rozsah prototypu se odvíjí od očekávání a potřeb zainteresovaných stran. Může sloužit pro potřeby testování IA i jako zadání pro vývojáře. Záleží tedy na okolnostech, jak moc velkou část aplikace budete prototypovat. Pro otestování navigace a jednoduchost pohybu v aplikace zpravidla stačí jen malá část. </p><p>9. <strong>Testujte.</strong> Existuje celá řada technik a postupů, jak testovat informační architekturu. Je potřeba otestovat navigaci, zkontrolovat jednotnost použité taxonomie, konzistentnost designového jazyka, interakci systému, responzivitu řešení atd. Testování použitelnosti (usability testing) je objemná kapitola z oblasti Testování.</p><p>To nejjednodušší testování, které byste ale měli v této fázi sami realizovat, vychází z uživatelských potřeb. Definujte tři základní scénáře použití, které uživatel v aplikaci bude provádět, a ty, které z obchodního hlediska považujete za klíčové. Jak rychle dokážete uspokojit tyto potřeby? Je navigace dostatečně intuitivní? Jsou informace vizuálně dobře rozpoznatelné? Nezapomeňte, že u vás hrozí provozní slepota. Jakožto tvůrci IA víte, kam jste co zařadili. Požádejte kohokoliv blízkého, aby vám věnoval deset minut. Nechejte jej splnit dané úkoly a vy jen přihlížejte. Toto testování nepotřebuje velký rozpočet a výsledky zjištění mohou mít velký dopad na finální řešení.</p><h2>Závěr</h2><p>Níže nakreslené schéma shrnuje základní kroky, které směřují k cíli. V popsaném procesu je cílem funkční prototyp, který splňuje zadání. Někdy proces končí roztříděním obsahu, protože zadáním je dodat jen strukturu IA bez navigace. V tomto případě přeskočíte kroky návrh wireframe, design a prototypování, ale rozhodně nevynechejte fázi testování. </p><div><p>
<br>
</p><p></p><center><img src="/Blog/PublishingImages/Stranky/informacni-architekura/architektura2.svg" data-themekey="#" alt="" style="width:80%;margin-top:20px;" /></center> <p></p><p>
<br>
</p><p>Schéma ukazuje, že pokud zapojíte do tvorby IA i fázi testování, budete některé kroky opakovat a ladit. Dokud výsledek neprojde uspokojivě základním testováním, nepředkládejte jej klientovi, ani jej neposouvejte dále v rámci projektu do realizace. Když testování do tvorby IA nezapojíte, na chyby stejně přijdete. Jen to bude o něco později a s většími dopady; vyšší náklady, nespokojenost uživatelů, ztráta reputace atd. A hlavně, než posunete řešení dál, měli byste si být jistí, že znáte odpověď na otázku „Splnil jsem zadání definované na začátku tvorby IA?“</p><p>Závěrem si připomeňme, že ve všech krocích byste měli mít stále na paměti tři základní dimenze: kontext, uživatel, obsah. Využijte osvědčených standardů a buďte kreativní, ale konzistentní, v designovém jazyku.</p><p><br></p><p>
<span style="color:#000000;font-family:calibri, sans-serif;font-size:15.3333px;">
<em>Vendula Vytisková</em></span><em></em><br></p><p> <br> </p></div></div> | | odborné;# | | |
Jak úspěšně zavést DevOps | | https://www.create-it.cz/Blog/Stranky/zavedeni-devops.aspx | Jak úspěšně zavést DevOps | <p>V předchozím článku <a href="/Blog/Stranky/devops-digi-transformace.aspx" target="_blank">„Role DevOps v digitální transformaci“</a>, jsme se zabývali podstatou a výhodami přístupu DevOps. Jeho zavedení v organizaci pomáhá s urychlením i zvýšením efektivity procesu nasazení a celkovým vylepšením spolehlivosti nasazení nových softwarových produktů pomocí agilního vývojového procesu. Dnes se podíváme na možná úskalí spojená se zavedením DevOps procesů do struktury organizace a jak těmto problémům čelit. Základním účelem přechodu k metodě DevOps je totiž dlouhodobé nastavení celého procesu tak, aby nevznikaly vícenáklady spojené s plánováním, organizací a realizací.<br></p><h2>Strategický plán je klíčem</h2><p>Na počátku každé úspěšné změny stojí zejména kvalitní a promyšlený strategický plán. Je tedy potřeba si určit jeho podobu i obsah, stejně jako stanovit realizační tým. Strategický plán je pak úzce provázán s projektovým plánováním. Projektové plánování představuje jeden z klíčových kroků pro úspěšné zavedení DevOps do organizace.<br></p><p>Nejdříve je potřeba si definovat očekávaný výsledek. Pokud například chceme začít s menší mikroservisní aplikací, můžeme na první službě skvěle odladit celý proces od odevzdání kódu, přes automatické testy, nasazení až po monitorování životních funkcí a upozornění na případné chyby.<br></p><p>V okamžiku, kdy je celý proces detailně popsán, je důležité stanovit si časovou náročnost celé aktivity, termín odevzdání finální podoby i postup přidávání dalších aplikací. Takový způsob plánování pomáhá nacházet opakující se vzorce v nasazování i testování a umožňuje tak vytvářet určité šablony. Některé z těchto šablon je pak možné pomocí různých nástrojů použít opakovaně k automatizaci.<br></p><h2>Kdo je kdo? Bez jasně definovaných rolí v týmu to nepůjde…</h2><p>Důležitou součástí plánu je také popis jednotlivých rolí v týmu. V každé implementaci takových procesů by se měl nacházet alespoň jeden člověk skutečně znalý dané aplikace, tedy zástupce vývojářů. Stejně tak by se měl účastnit jeho protějšek ze strany operativců, kteří udržují aplikaci při životě v produkčním prostředí, popřípadě se starají o její monitorování. V neposlední řadě by měl být součástí týmu i někdo, kdo je zodpovědný za infrastrukturu, aby celý proces probíhal bez problémů a neprodlužoval se čas doručení při čekání na různé technické účty a prostupy. Pro úspěšné fungování všeho výše popsaného je potřeba mít domluvenou i podporu u managementu organizace. Možná se tato poznámka může zdát jako nadbytečná, ale praxe opakovaně ukazuje opak. S postupy a fungováním DevOps týmu totiž musí být velice dobře seznámeno i vedení firmy a musí tomuto týmu poskytovat svou součinnost a podporu.<br></p><h2>DevOps kultura krok za krokem</h2><p>Jak vlastně vzniká DevOps kultura v organizaci? Je potřeba ji prostě a jednoduše vytvořit na základě několika faktorů. Těmi jsou čas, typ projektu, velikost organizace, velikost týmu a samozřejmě i rozpočet. Zde se opět vracíme k důležitosti a roli managementu organizace a jeho úloze v zavádění kultury DevOps. V samotném úvodu snah o zavedení postupů DevOps je totiž nejdůležitější probrat s managementem, jaký přínos bude mít tato aktivita pro koncové uživatele, vývojové a podpůrné týmy, nebo pro firemní kulturu a v neposlední řadě pro výsledky celého týmu. Uspořádání technických i personálních záležitostí totiž pochopitelně následuje až s podporou managementu, který je přesvědčen, že dělá správnou věc. Zcela nezbytné je probrat také finanční a časové zázemí pro implementaci procesů, aby nově vzniklý DevOps tým měl opravdu prostor v klidu efektivně pracovat.<br></p><p>Před zapojením vzniklého týmu je samozřejmě potřeba zajistit důkladné školení na DevOps metodiku, nebo si najmout specialistu, který s takovou aktivitou může pomoci. Jedná se o komplexní proces a je možné, že na některé chyby při implementaci by se mohlo přijít zbytečně pozdě. Od nově vzniklého týmu se naopak očekává schopnost učit se novým věcem a nevracet se do starých zaběhnutých kolejí.<br></p><h2>Komunikace jako základ úspěchu</h2><p>Ač se to může zdát jako banalita, je potřeba nepodceňovat kvalitní nástroje pro komunikaci. Nově vzniklý DevOps tým musí mít možnost efektivně komunikovat jak uvnitř, tak i s ostatními články celé organizace. Mezi efektivní nástroje rozhodně nepatří e-mail, který se používá spíše pro formální komunikaci. Naopak výborným nástrojem pro týmovou komunikaci jsou například Slack, MS Teams nebo Discord, které pak dokáže využít DevOps tým pro automatické sdílení chyb a komplikací v procesu s ostatními členy organizace. V poslední době je možné využít i implementované chatboty, které jsou schopny v rámci komunikačního nástroje zjistit stav, kde se jejich nasazení nachází, v jakém stavu jsou například backendy napříč testovacími prostředími a podobně.<br></p><h2>Automatizace aneb „Samoseto“</h2><p>Matematika využívá symbol nekonečna ve spojení s nekončícími procesy a ani v DevOps není tento symbol náhodou, protože cokoliv se opakuje vícekrát než jednou, je potřeba zautomatizovat a tím dostat i mezi nekončící procesy. Kde všude se dá proces automatizace aplikovat? Začněme třeba od infrastruktury.<br></p><p>Pomocí Terraform šablon jsme schopni říci kolik a kde potřebujeme výpočetního výkonu, které všechny komponenty potřebujeme k chodu a podle jakých pravidel se má naše infrastruktura rozšířit nebo zmenšit. Celý tento proces se dá navíc také automatizovat. Operátor tak už nemusí používat příkazy, ale infrastruktura se po aplikaci změny v dokumentu upraví sama. Pro takové úpravy je možné využít nástroje jako GitLab nebo Azure DevOps. Možností je v současnosti samozřejmě ještě mnohem více.<br></p><p>Stejný postup lze využít na nasazení monitorovacích nástrojů, dokumentace nebo jakékoliv jiné komponenty z DevOps palety. Zní to velice jednoduše, má to ale i svá úskalí na která je potřeba si dát pozor. Veškerá automatizace vyžaduje údržbu, aby byla odolná pro všechny nadcházející aktualizace. Pro odolnou automatizaci je dobré opět využít šablony, a proto čím více podobné jsou si aplikace s programovacím jazykem, který byl použit, tím menší zdroje jsou potřeba na rozšiřování šablon, ale i na nutnou údržbu.<br></p><h2>Dvakrát měř, jednou řež</h2><p>Bez dobře nastavených metrik jsme v podstatě „slepí“ a na základě domněnek je těžké cokoliv udržovat, sledovat případně vylepšovat. Pro takové aktivity existují komplexní nástroje jako je Datadog, Dynatrace nebo Splunk. Tyto nástroje dokážou s pomocí operátorů v infrastruktuře poměrně jednoduše načíst celou aplikaci, logy i její zázemí. Ovšem pouze pokud jsou do aplikace volně puštěny. V některých organizacích jako jsou třeba banky, to bohužel není možné, v jiných organizacích je to naopak žádané, protože přinášejí dokonalý přehled o všem, co se děje, na jednom místě.</p><p>Pokud neexistuje možnost využít tyto samostatné nástroje a je nutné nástroj více přizpůsobit potřebám organizace, nabízí se pak např. ELK stack i s možností připojení Grafany.<br></p><h2>SRE</h2><p>Sebelepší nástroj však potřebuje zkušeného specialistu, který ho bude používat. V tomto případě se jedná o pozici zvanou SRE (Site Reliability Engineer). Tato role kombinuje prvky softwarového inženýrství a provozu IT infrastruktury. Člověk v této pozici je zodpovědný za zajištění spolehlivosti, škálovatelnosti a dostupnosti systémů a služeb pro uživatele.<br></p><p>Site Reliability Engineer se zaměřuje na řešení problémů spojených s výkonem, stabilitou a škálovatelností systémů. Jeho hlavním cílem je minimalizovat výpadky a zajistit, aby systémy byly vždy dostupné a efektivní. Součástí role je také řízení incidentů.<br></p><h2>Závěrem</h2><p>Po přečtení těchto řádků si možná řeknete: „Dobře, tak teď půjdu, naplánuju si zavedení DevOps, domluvím se s vedením, vezmu Frantu z vývoje a Vaška z operations, napíšeme pár skriptů a pipeline, něco zmonitorujeme a máme to - jsme DevOps organizace!“<br></p><p>Bylo by to samozřejmě dobré zjištění, ale DevOps je velice komplexní proces, který přece jen nelze takto jednoduše obsáhnout. Aby bylo zavedení přístupu DevOps do organizace funkční, každá ze součástí nezávisle na velikosti organizace vyžaduje pečlivý a zodpovědný přístup, protože celý procesní řetěz je jen tak silný jako jeho nejslabší článek. Nicméně nezoufejte. Pokud máte vizi a dostatek odhodlání, půjde to!<br></p><p><em>Vojtěch Kijenský</em></p><p><em>Zdroj: SystemOnLine 07/2023</em></p><p><br></p> | | odborné;# | | |
Role DevOps v digitální transformaci | | https://www.create-it.cz/Blog/Stranky/devops-digi-transformace.aspx | Role DevOps v digitální transformaci | <p>Tak jako ve většině technologických odvětví se i ve vývoji softwaru na zakázku stále zvyšuje tlak na jeho rychlost a flexibilitu. V tradičních přístupech, jako je například Waterfall, to však většinou není možné. Technologické společnosti tak objevují nové agilní přístupy, které umožňují zrychlení vývoje a nasazování projektů. Jedním ze základních stavebních kamenů agilního přístupu k vývoji softwaru je využití metody DevOps. Ty umožňují společnostem velmi rychle reagovat na měnící se požadavky klientů v průběhu vývoje i provozu aplikací.<br></p><p>Průzkum z roku 2019 vytvořený společností <a href="https://www.puppet.com/resources/history-of-devops-reports" target="_blank">Puppet</a> ukázal, že použití metody DevOps umožnil technologickým společnostem zrychlení doručování změnových požadavků a vydávání nových verzí softwaru až o 63 %.<br></p><p>Klíčem ke zlepšení výkonnosti, kvality služeb a zároveň i zvýšení zisku je pro IT firmy pochopení a průchod tzv. digitální transformací. Jedině tak je možné udržet krok, přizpůsobovat se novým trendům a zůstat konkurenceschopným. Ne vždy se to však podaří.<br></p><p>I když podle průzkumu společnosti <a href="https://www.statista.com/statistics/870924/worldwide-digital-transformation-market-size/" target="_blank">Statista</a> se očekává, že do roku 2024 bude na digitální transformaci vynaloženo neuvěřitelných 2.4 miliard USD, jen 30 % z těchto implementací je nakonec úspěšných. V čem dělá tolik firem chybu? Velmi často je to podceněním samotné transformace, neznalostí všech důležitých rolí a chybějící kvalifikované autority, které jsou v této cestě digitální transformace nezbytné.<br></p><p>V tomto článku bychom se rádi věnovali základním aspektům digitální transformace z pohledu metody DevOps, které přímo stojí a jsou zodpovědné za oblasti jako je automatizace, zvyšování kvality a bezpečnosti softwaru a v neposlední řadě snižování nákladů.<br></p><h2>Co je vlastně DevOps?<br></h2><p>DevOps bývá často označením pro pracovní pozici, nebo proces nasazení. Pravdou je, že je to celý soubor pravidel, metod, postupů a technologií určených k urychlení a optimalizaci vývoje softwaru. Často využívá automatizaci, cloudové služby, virtualizaci a kontejnerizaci k dosažení rychlého, spolehlivého a předvídatelného nasazení nových verzí softwarových produktů pomocí agilního vývojového procesu.<br></p><p>Samotný název DevOps vznikl spojením dvou anglických slov „Development“ a „Operations“, tedy vývoj a nasazení softwaru. O ty se v tradičním vývojovém procesu starají různé týmy. V procesu DevOps jsou tyto úkoly spojeny do jednoho celku a vykonává je tak stejný tým. DevOps zavádí a popisuje důležité automatizace, které při tvorbě projektu ve starších přístupech zabíraly příliš mnoho času. Mezi tyto automatizace patří integrace projektu (continuous integration) a nasazení projektu (continuous delivery). To umožňuje po každém vývojovém cyklu automaticky sestavit projekt a otestovat tak, zda je práce jednotlivých vývojářů funkční ve společném celku, a to bez zásahu člověka. Nasazování nových verzí projektu je obvykle velmi zdlouhavá činnost. Při použití tohoto přístupu však tato potřeba odpadá a nasazení provádí automaticky počítač.<br></p><h2>Co je digitální transformace?</h2><p>Digitální transformace je komplexní a rozsáhlý proces, při kterém se buď digitálně upravují stávající podnikové procesy, nebo se dokonce vytvářejí nové, aby efektivně vyhovovaly měnícím se požadavkům podnikání a trhu. Digitální transformace tedy vyžaduje výrazné přepracování procesů tak, aby se staly digitálními, a přepracování zákaznické zkušenosti tak, aby odpovídala digitálnímu prostředí. Jinými slovy, digitální transformace využívá digitální technologie a data k vytváření zisku, efektivizaci podnikání, nahrazení nebo transformaci podnikových procesů, kompetencí, modelů řízení a výroby (nikoliv pouze k jejich digitalizaci) a k vytvoření prostředí pro digitální obchod a spolupráci.<br></p><p>Digitální transformaci v podnikání je třeba chápat jako nikdy nekončící proces. Na této cestě budou podniky vždy muset reagovat na změny v prostředí, přehodnocovat svůj status quo a měnit své transformační aktivity.<br></p><h2>Jak DevOps zapadá do digitální transformace?</h2><p>Vybudování kultury DevOps ve firmě není jednorázová záležitost. Jedná se o trvalý a nikdy nekončící proces. Nejde jen o sérii technologických kroků, které musí organizace, týmy a samotní programátoři splnit, ale jde o změnu organizace projektu a především o změnu myšlení zaměstnanců a vedení.<br></p><p>V tradičním procesu vydávání softwaru jeden tým (vývojový) píše, testuje a sestavuje kód izolovaně. Poté ho předá druhému (provoznímu) k nasazení a vydání. Tento proces však může vést k pomalejšímu vydávání a tím i ke zhoršení zákaznické zkušenosti. DevOps zásadně omezuje právě problémy spojené s tradičním procesem vydávání softwaru. Technologické firmy tak mohou vydávat produkty v řádu hodin nebo dnů místo týdnů nebo měsíců.<br></p><p>Digitální transformace zlepšuje podnikové procesy prostřednictvím technologických vylepšení. Vytváří také nové a vylepšené procesy, které jsou řízeny technologiemi. DevOps propojuje procesy vývoje softwaru a provozní procesy. Díky této synergii může DevOps pomoci organizaci na její cestě k digitální transformaci. Níže se podíváme na čtyři klíčové body, jak jsou procesy DevOps užitečné při digitální transformaci.<br></p><h2>1. Automatizace</h2><p>Automatizace je důležitým aspektem digitální transformace, protože pomáhá zrychlit procesy, omezit manuální činnosti, odhalovat chyby a zvýšit efektivitu. Díky DevOps mohou organizace automatizovat různé fáze vývoje a dodávání softwaru, včetně sestavování a nasazování, testování a správy infrastruktury. Automatizace minimalizuje čas potřebný k vývoji, testování a vydání softwaru, což vede k rychlejšímu uvedení na trh a častějšímu vydávání nových verzí. DevOps navíc umožňuje automatizovat monitorování a údržbu aplikací a infrastruktury. To pomáhá organizacím rychle identifikovat a řešit problémy a zajistit vysokou dostupnost aplikací.<br></p><p>DevOps navíc umožňuje automatizovat kontrolu bezpečnostních hrozeb, čímž snižuje riziko narušení bezpečnosti a zajišťuje, že aplikace splňují regulatorní požadavky. To pomáhá organizacím splnit požadavky neustále se měnícího podnikatelského prostředí a udržet si náskok před konkurencí.<br></p><h2>2. Snížení nákladů</h2><p>Kontrola nákladů je klíčovou součástí každé organizace. V digitální éře je však obzvláště důležitá, protože při práci s novými technologiemi a různorodými týmy je snadné ztratit přehled o výdajích. Pokud se vyskytnou problémy s některou částí systému, budete o nich okamžitě vědět, takže je můžete rychle odstranit a zabránit dalším škodám.<br></p><p>DevOps šetří organizacím náklady omezením manuálních procesů, zvýšením efektivity a optimalizací využívání zdrojů. Zefektivněním procesů vývoje, testování a nasazení snižuje DevOps riziko chyb, přepracování a výpadků.<br></p><h2>3. Zvyšování kvality softwaru</h2><p>V prostředí DevOps vývojové a provozní týmy úzce spolupracují, což vede k celkově efektivnější komunikaci. Výsledkem je efektivnější proces vývoje softwaru, který snižuje riziko chyb a zajišťuje, že aplikace splňují požadované standardy kvality. V rámci DevOps jsou zavedeny postupy průběžného testování, integrace a dodávání (CI/CD), které zajišťují důkladné otestování a ověření aplikací před jejich vydáním. Je tak možné zachytit a vyřešit problémy v rané fázi vývoje, snižovat riziko chyb a zajistit vysokou kvalitu aplikací.<br></p><p>DevOps také pomáhá zavést mechanismy průběžného monitorování a zpětné vazby, které poskytují přehled o výkonu aplikací a infrastruktury v reálném čase. Organizace tak mohou rychle identifikovat a řešit problémy, zlepšovat kvalitu aplikací a zvyšovat uživatelskou zkušenost. DevOps navíc podporuje používání nástrojů pro automatizaci a orchestraci, které vývojářským firmám pomáhají standardizovat a zefektivnit proces nasazení. Výsledkem je méně manuálních chyb a kratší doba nasazení aplikací, což vede i ke zlepšení kontroly kvality.<br></p><h2>4. Využití nových technologií<br></h2><p>Ještě před několika lety byly mnohé technologické společnosti v oblasti IT a softwaru spíše konzervativní a jakékoliv změna nebo adopce nových technologií byla velmi náročná, v posledních pěti letech dochází k přesnému opaku. Oblast IT zažívá revoluci směrem do cloudových služeb, která těmto společnostem umožňuje využít služby PaaS a SaaS a která byla do této doby mimo jejich finanční a časové možnosti.<br></p><p>Za zmínku stojí přes 250 spravovaných služeb (managed services) v AWS, Azure, nebo GCP dostupných během pár minut na „jedno kliknutí“. Na vzestupu je i strojové učení, kde jsou k dispozici neuronové sítě, speciálně upravené pracovní stanice nebo přizpůsobená datová skladiště.<br></p><p>Většina aplikací nově nekončí na serveru jako proces, ale izolovaně v kontejnerech orchestrovaných v Kubernetes/Openshiftu, a stále častěji, pokud to má aplikační smysl, i serverless (AWS Lambda/Azure Functions/Google Cloud Functions).<br></p><p>Při vytváření nových aplikačních a infrastrukturních návrhů je autor prakticky limitovaný jen znalostí a možností těchto poskytovatelů a vlastní fantazií. (Kterou krotí snad jen hranice definovaného rozpočtu a korporátních pravidel.)<br></p><p>Poměrně nová a čím dál rozšířenější technologie používaná v DevOps je možnost deklarativního přístupu k doručení software, kdy se již nestaráme o to, jak doručit, ale popisujeme pouze, jak to má v prostředí vypadat. Specializovaný software pak zajistí, že se při jakékoliv, i nechtěné, změně prostředí samo opraví do funkčního stavu.<br></p><p>Během doručování softwaru, ale i při jeho běhu v prostředí máme k dispozici pokročilé nástroje diagnostiky a detekce chyb, které jsou také již napojené na strojové učení a umožňují nejen odchytit, ale i predikovat potenciální hrozby. Na základě znalosti běhu aplikací jsou detekovány a reportovány anomálie i nestandardní chování uživatelů, což vede ke zvýšení bezpečnosti. V neposlední řadě lze tyto technologie využít i k automatizovanému vytvoření dokumentace prostředí.</p><h2>Závěr<br></h2><p>Digitální transformace je kompletní přeměna podnikání, která vyžaduje více než jen aktualizaci IT systému nebo vytvoření několika aplikací. V rychlém světě, ve kterém se dnes nacházíme, potřebují organizace prostě rychle a efektivně inovovat. Aby této změny bylo dosahováno, je třeba změnit představu o fungování firmy jako takové. Nejlepším způsobem, jak zahájit digitální transformaci společnosti, je iniciovat kulturu DevOps. Úspěšná digitální transformace zahrnuje změnu systému práce, která následně povede ke zvýšení efektivity a úspoře času i financí.<br></p><p><em>Vojtěch Kijenský</em></p><p><em>Zdroj: SystemOnLine 06/2023</em></p><p><em><br></em></p> | | odborné;# | | |