- Přehledy IS
- APS (20)
- BPM - procesní řízení (22)
- Cloud computing (IaaS) (10)
- Cloud computing (SaaS) (33)
- CRM (51)
- DMS/ECM - správa dokumentů (20)
- EAM (17)
- Ekonomické systémy (68)
- ERP (79)
- HRM (27)
- ITSM (6)
- MES (32)
- Řízení výroby (36)
- WMS (29)
- Dodavatelé IT slueb a řeení
- Datová centra (25)
- Dodavatelé CAD/CAM/PLM/BIM... (39)
- Dodavatelé CRM (33)
- Dodavatelé DW-BI (50)
- Dodavatelé ERP (71)
- Informační bezpečnost (50)
- IT řeení pro logistiku (45)
- IT řeení pro stavebnictví (26)
- Řeení pro veřejný a státní sektor (27)
ERP systémy
CRM systémy
Plánování a řízení výroby
AI a Business Intelligence
DMS/ECM - Správa dokumentů
HRM/HCM - Řízení lidských zdrojů
EAM/CMMS - Správa majetku a údrby
Účetní a ekonomické systémy
ITSM (ITIL) - Řízení IT
Cloud a virtualizace IT
IT Security
Logistika, řízení skladů, WMS
IT právo
GIS - geografické informační systémy
Projektové řízení
Trendy ICT
E-commerce B2B/B2C
CAD/CAM/CAE/PLM/3D tisk![]() | |
| Přihlaste se k odběru newsletteru SystemNEWS, který kadý týden přináí výběr článků z oblasti podnikové informatiky | |
![]() | |
DevOps aneb Jak modernizovat tradiční vývoj software
Moderní vývoj software stojí na jednoduchých principech funkčních procesech a dobré komunikaci. Právě ty jsou základem DevOps, koncepce, která zrychluje vývojové cykly a dodává uivatelům kvalitnějí aplikace. Zjistěte, jak DevOps funguje a jak začít.

Rychlost, přívětivost, stabilita to jsou jen základní očekávání, která dnes máme při pouívání aplikací. Neodpoutíme chyby ani pomalé načítání. A u si prohlííme zboí na e-shopu nebo rezervujeme ubytování, chceme plynulý a intuitivní průchod aplikací.
S tím, jak se dramaticky proměnil přístup uivatelů k pouívání software, začal tradiční vývoj aplikací naráet na své limity. Dlouhé vývojové cykly a nasazování velkých aktualizací brání firmám dret krok s nároky uivatelů i rychle se měnícími poadavky trhu.
Vývojový cyklus zkracuje DevOps. Tato koncepce klade důraz na lepí spolupráci mezi vývojáři a provozními týmy i efektivnějí procesy. Nové funkce se díky automatizaci dostávají k uivatelům rychleji a chyby se opravují dříve, ne si jich vůbec vimnou. Aplikace jsou tak spolehlivějí a uivatelé spokojenějí.
Co je DevOps?
DevOps propojuje dva tradičně oddělené světy vývoj software (Development) a správu provozu (Operations, nebo té IT operations). Jeho cílem je zajistit lepí spolupráci od počátku vývojového procesu a po nasazení softwaru do produkce a zkrátit tak vývojový cyklus aplikace.
Nejedná se přitom o ádnou pevně stanovenou metodiku nebo sadu konkrétních řeení. DevOps je předevím kombinací postupů a propojením lidí s rozsáhlými znalostmi napříč technologiemi i disciplínami.
Ačkoli DevOps stojí na vyuití automatizačních nástrojů, jeho podstatou je změna přístupu v kultuře vývoje. Jedním z nejčastějích problémů při tradičním vývoji software toti bývá komplikovaná komunikace a spolupráce mezi vývojáři a správci IT. Zatímco vývojáři se snaí napsat moderní kód, IT administrátoři chtějí dlouhodobě udrovat co nejstabilnějí a nejbezpečnějí verze. Tyto pohledy mohou jít proti sobě a vývojové cykly se tím prodluovat.
Jak DevOps funguje
Vývoj software realizovaný v duchu principů DevOps vedle spolupráce mezi týmy zahrnuje i několik technických procesů, které zajiují plynulý a automatizovaný vývoj, testování i nasazení softwaru.
CI/CD pipeline: základní stavební kámen
Základem automatizovaných procesů v rámci DevOps je tzv. CI/CD pipeline. CI znamená průběnou integraci (Continuous Integration), zatímco CD označuje průběné nasazování (Continuous Deployment).
V praxi to znamená, e vývojáři průběně vytváří mení části kódu, které se automaticky sestaví, otestují a sloučí se sdíleným repozitářem. Tato fáze je součástí procesu CI a slouí k rychlé identifikaci chyb a jejich opravě. Fáze CD roziřuje proces o automatické nasazování změn kódu do produkce a zajiuje, e se změny co nejdříve dostanou k uivatelům aplikace.

Nejčastějí vyobrazení CI/CD pipeline vč. jednotlivých fází kadého z procesů. CI část zahrnuje fáze plánování, kódování, sestavení a testování, zatímco součástí CD je vydání, nasazení, provoz a monitoring.
Konkrétní podoba CI/CD pipeline je pro kadou organizaci individuální, a to kvůli odliným poadavkům na vývoj a nasazení softwaru. Podobu pipeline ovlivňují:
- typ projektu: nové aplikace nasazují změny častěji ne kritické systémy, které mají delí testovací cykly.
- výběr nástrojů: CI/CD pipeline reflektuje technologie projektu. Například pipeline monolitické aplikace bude jednoduí, protoe změny ovlivní vdy celou aplikaci. Pipeline aplikace zaloené na mikroslubách bude komplexnějí, protoe tato architektura umoňuje paralelní nasazování jednotlivých slueb.
- velikost organizace: při větím počtu specializovaných týmů se musí navíc počítat třeba s předáváním mezi pracovními skupinami.
- bezpečnostní poadavky: kritické aplikace obvykle zahrnují jetě kontrolu zranitelností před nasazením do produkce. Integrace bezpečnosti do DevOps procesů se označuje jako DevSecOps.
CI/CD pipeline je předevím technický základ pro automatizaci vývoje. V kombinaci s firemními postupy a nástroji vytváří irí DevOps framework, jeho cílem je zefektivnit celý proces vývoje a nasazení softwaru.
DevOps engineer: klíčová role vývoje
Funkční DevOps framework se neobejde bez člověka, který dohlédne na hladký průběh prací na vech frontách. Tím člověkem bývá DevOps engineer, co je tak trochu superman. DevOps specialista musí mít iroký technologický rozhled a skvělé manaerské dovednosti. Jeho úlohou je zachovat rychlost vývoje při stabilitě prostředí. Co přesně by měl mít v malíku?
- Znalost kódu;
- skriptování;
- infrastrukturu na vyí úrovni (servery, storage, sí, );
- komplexní vhled do vech částí vývoje;
- návrh a implementaci CI/CD pipeline;
- komunikaci mezi týmy.
V kontextu DevOps se objevují jetě role Site Reliability Engineer (SRE), který se stará o spolehlivost a výkon produkčních aplikací, a Platform Engineer, jeho úkolem je navrhovat a udrovat infrastrukturu vývojových platforem. Ani jedna z těchto rolí vak sama o sobě nedokáe naplnit podstatu DevOps.
Tradiční vývoj vs. DevOps a jeho výhody
Specializované role budou efektivní pouze tehdy, pokud budou fungovat v kontextu ostatních částí DevOps frameworku. Jedině tak se podaří vyuít potenciál DevOps, který přinese:
- Kratí vývojový cyklus aplikace rychlejí přechod od návrhu k nasazení, co umoní častějí aktualizace a rychlejí reakci potřeby trhu.
- Vyí kvalitu dodávaného kódu pravidelné testování a automatizace zajiují včasnou identifikaci a opravu chyb; zvyuje se spolehlivost produktu.
- Lepí kooperaci a transparentnost propojení vývojových a provozních týmů sniuje riziko nedorozumění a zlepuje workflow.
- Sdílení informací a dokumentaci vichni zúčastnění mají aktuální data i kontext a mohou se rychleji rozhodovat.
- Mikrosegmentaci rozdělení aplikace na mení samostatné komponenty umoňuje prunějí nasazení a kálování, ale i hledání bugů a izolaci problémového kódu.
- Jednoduchý rollback díky automatizaci je snadné aplikaci vrátit do předchozího stavu v případě problémů a minimalizovat tak výpadky.
Tradiční vývoj v podobě waterfall je lineární a nasazení probíhá vdy a na konci. Agilní přístup eliminuje riziko chyb, protoe pracuje s kratími vývojovými cykly (sprinty). DevOps tyto tendence posouvá jetě dále zpětnou vazbu sbírá a reflektuje kontinuálně a propojuje vývoj s provozem.
DevOps a infrastruktura: cloud nebo on-premises?
Kadá konceptuální změna ve vývoji softwaru se nutně musí promítnout do infrastruktury, která má být postavena tak, aby podporovala principy DevOps. Pokud se vývoj realizuje na on-premises infrastruktuře, tedy nad vlastním hardware ve vlastních prostorách, je nutné spravovat nejen samotné servery, ale také storage, sí, napájení a případně virtualizaci. To ve s cílem umonit psát infrastrukturu jako kód (Infrastructure as Code). Taková infrastruktura vyaduje zkuené správce.
S rostoucími nároky na dovednosti správců IT ale rostou i náklady. A tak není divu, e přesun do cloudu bývá nakonec logickou volbou. Větinu provozních aspektů toti za zlomek nákladů obstará poskytovatel, protoe zajiuje infrastrukturu jako slubu (Infrastructure as a Service).
Odtud u je jen krůček k Platform as a Service (PaaS), kde poskytovatel spravuje vekerou infrastrukturu, runtime prostředí a middleware, take se vývojáři mohou plně soustředit na samotný kód a funkčnost aplikace. Příkladem takových slueb jsou třeba Kubernetes as a Service, Database as a Service a dalí, které nabízejí:
- monosti horizontálního kálování, umoňující roziřování systému o dalí instance pro zvýení výkonu;
- výchozí CI/CD pipeline, kterou lze dále upravovat;
- aktualizovanou, zabezpečenou a udrovanou platformu;
- automatizovanou správu a údrbu.
Osvědčené nástroje pro vývoj a automatizaci
Od infrastruktury se přesuneme k nástrojům, protoe právě ty zajistí automatizaci, efektivní správu a monitoring celého vývojového procesu. Nám se nejvíce osvědčily:
Pro infrastrukturu:
- Terraform nástroj pro definici, vytváření a správu infrastruktury jako kódu. Nasazen můe být napříč cloudy i on-premises. Umoňuje automatizaci infrastruktury a funguje skvěle se CI/CD nástroji.
- OpenTofu open source alternativa Terraformu, která umoňuje definovat infrastrukturu jako kód a automatizovat správu cloudových i on-premises zdrojů.
- Ansible usnadňuje správu konfigurace a nasazení aplikací.
Pro automatizaci:
- Jenkins jeden z nejrozířenějích nástrojů pro automatizaci vývoje. Podporuje různé pluginy, které umoňují integraci s dalími nástroji.
- GitLab CI/CD integrovaná funkce v GitLab umoňující automatizaci testování a nasazování přímo z repozitáře.
- GitHub Actions nabízí automatizaci pracovních postupů přímo v GitHubu, co usnadňuje CI/CD procesy.
- Azure DevOps Services platforma pro podporu DevOps procesů, která poskytuje nástroje pro správu repozitářů, CI/CD, testování a monitoring. Je vhodná pro správu celého ivotního cyklu aplikací.
- Argo sada open source nástrojů pro automatizaci nasazování, správu workflow a lepí kálovatelnost aplikací běících v Kubernetes.
- Helm balíčkovací nástroj, který usnadňuje správu a nasazování komplexních Kubernetes aplikací prostřednictvím ablon.
Pro kontejnerizaci:
- Docker umoňuje vytváření, nasazování a správu aplikací v kontejnerech, co zjednoduuje nasazení a zvyuje přenositelnost aplikací mezi prostředími.
- Kubernetes platforma pro orchestraci kontejnerů, zajiuje automatizaci nasazování, kálování a správu aplikací běících v kontejnerech.
Pro monitoring a logování:
- Prometheus nástroj pro monitoring, který shromaďuje a ukládá metriky v reálném čase.
- Grafana vizualizuje metriky a logy, umoňuje sledování výkonu aplikací a infrastruktury.
- ELK Stack (Elasticsearch, Logstash, Kibana) shromaďuje, analyzuje a vizualizuje logy z různých systémů.
DevOps prakticky jak začít
Nyní u máme představu o tom, jak DevOps funguje, na jaké infrastruktuře poběí nejlépe a jaké nástroje můe integrovat. Co je ale dále potřeba před zavedením udělat?
- Vybrat automatizační nástroj pro správu infrastruktury jako kódu a ověřit, e podporuje vechny pouívané technologie i prostředí a poskytuje dostatečnou modularitu.
- Definovat objekty, tedy specifikovat jednotlivé komponenty infrastruktury (servery, sítě, databáze) a jejich parametry. Pro snadnou údrbu pak doporučujeme vyuívat variabilní ablony jako Ansible role a dalí.
- Vytvořit CI/CD pipeline pro automatizaci procesu sestavení, testování a nasazení. Jednotlivé kroky se vyplatí definovat v rámci YAML souborů v nástrojích typu GitLab CI/CD nebo Jenkins.
- Připravit projekt v GitLab, co zahrnuje inicializaci repozitáře, nastavení CI/CD, definici prostředí (dev, staging, production) a určení rolí a oprávnění pro tým.
- Spustit pipeline, a to buď automaticky při kadé změně, nebo ručně, kdy je potřeba. Lze také nastavit pravidla podmínečného sputění, například po schválení změn nebo nasazení do konkrétního prostředí.
- Ověřit dokončený kód a reálný výstup nasazený v produkci ideálně včetně funkčního otestování a srovnání s očekávanými výsledky. Manuální nebo automatická validace je důleitá pro bezproblémový běh aplikace.
Časté problémy při zavedení DevOps
V praxi se opakovaně setkáváme s některými problémy s přechodem na DevOps, kterým se ovem dá předejít. Nejčastěji jde o:
- Nedostatečnou automatizaci Firmy se potýkají s pomalými procesy, protoe vynechaly automatizaci zásadních částí CI/CD pipeline.
- patné nastavení CI/CD pipeline Pipeline obsahují příli dlouhé fáze buildování či testování nebo naopak nedostatečné testování, které vedou ke zpomalení vývoje a komplikacím při nasazování.
- Nezohledněnou bezpečnost S mylenkou na rychlost nasazování se často zapomíná na odstranění bezpečnostních mezer. V procesech by proto neměly chybět bezpečnostní revize.
- Komplexita nástrojů a mikroservisní architektury Nesprávné nasazení nebo integrace různých nástrojů a nová architektura zvyuje sloitost správy a klade větí nároky na dovednosti správců a potenciálně vede k problémům při kálování a monitoringu.
Pokud jste s přechodem na DevOps úplně na začátku, doporučujeme přechod alespoň konzultovat s někým, kdo má s DevOps zkuenosti. Jedině tak přinese změna vývoje kýené výsledky tedy kratí vývojový cyklus a vyí kvalitu aplikací.
![]() |
Veronika Jakubová Autorka článku je PR specialistka společnosti MasterDC. |
Formulář pro přidání akce



















