Čo je to DevOps?
DevOps je metóda vývoja softvéru, ktorá sa zameriava na komunikáciu, integráciu a spoluprácu medzi profesionálmi v oblasti IT a umožňuje rýchle nasadenie produktov.
DevOps je kultúra, ktorá podporuje spoluprácu medzi vývojovým a prevádzkovým tímom. To umožňuje nasadenie kódu do výroby rýchlejšie a automatizovaným spôsobom. Pomáha zvyšovať rýchlosť organizácie pri dodávaní aplikácií a služieb. Možno ho definovať ako zosúladenie vývoja a prevádzky IT.
Čo je to Agile?
Agilná metodológia zahŕňa nepretržitú iteráciu vývoja a testovania v procese SDLC. Táto metóda vývoja softvéru kladie dôraz na iteračný, prírastkový a evolučný vývoj.
Agilný vývojový proces rozbije produkt na menšie kúsky a integruje ich do finálneho testovania. Môže byť implementovaný mnohými spôsobmi, vrátane scrumu, kanbanu, scrumu, XP atď.
Agilná vs. DevOps
Zainteresované strany a komunikačný reťazec v typickom procese IT.
Agilné riešenia medzier v komunikácii so zákazníkmi a vývojármi
DevOps rieši medzery v komunikácii vývojárov a IT operácií
KĽÚČOVÝ ROZDIEL
- DevOps predstavuje postup združovania vývojových a prevádzkových tímov, zatiaľ čo Agile predstavuje iteračný prístup zameraný na spoluprácu, spätnú väzbu od zákazníkov a malé rýchle vydania.
- DevOps sa zameriava na neustále testovanie a doručovanie, zatiaľ čo agilný proces sa zameriava na neustále zmeny.
- DevOps vyžaduje relatívne veľký tím, zatiaľ čo Agile vyžaduje malý tím.
- DevOps využíva obidva princípy radenia doľava a doprava, na druhej strane agilný princíp radenia vľavo a vpravo.
- Cieľovou oblasťou spoločnosti Agile je vývoj softvéru, zatiaľ čo cieľovou oblasťou systému DevOps je poskytovanie komplexných obchodných riešení a rýchle dodanie.
- DevOps sa zameriava viac na prevádzkovú a obchodnú pripravenosť, zatiaľ čo Agile sa zameriava na funkčnú a nefunkčnú pripravenosť.
Rozdiel medzi Agile a DevOps
Parameter | Agilný | DevOps |
---|---|---|
Čo je to? | Agile označuje iteračný prístup, ktorý sa zameriava na spoluprácu, spätnú väzbu od zákazníkov a malé a rýchle vydania. | DevOps sa považuje za postup spájania vývojových a prevádzkových tímov. |
Účel | Agile pomáha spravovať zložité projekty. | Hlavnou koncepciou DevOps je riadenie komplexných inžinierskych procesov. |
Úloha | Agilný proces sa zameriava na neustále zmeny. | DevOps sa zameriava na neustále testovanie a doručovanie. |
Implementácia | Agilnú metódu je možné implementovať v rámci radu taktických rámcov, ako je šprint, bezpečie a skrumáž. | Primárnym cieľom DevOps je zamerať sa na spoluprácu, takže nemá žiadny bežne akceptovaný rámec. |
Tímová zručnosť | Agilný rozvoj kladie dôraz na školenie všetkých členov tímu, aby mali širokú škálu podobných a rovnakých zručností. | DevOps rozdeľuje a rozširuje zručnosť medzi vývojovým a operačným tímom. |
Veľkosť tímu | Malý tím je jadrom spoločnosti Agile. Čím menší je tím, tým menej ľudí v ňom je, tým rýchlejšie sa môžu pohybovať. | Relatívne väčšia veľkosť tímu, pretože zahŕňa všetkých držiteľov zásobníkov. |
Trvanie | Agilný vývoj je riadený v jednotkách „šprintov“. Tento čas je na každý šprint oveľa menej ako mesiac. | DevOps sa snaží o termíny a referenčné hodnoty pri hlavných vydaniach. Ideálnym cieľom je doručiť kód do výroby DENNE alebo každých pár hodín. |
Spätná väzba | Spätná väzba je daná zákazníkom. | Spätná väzba pochádza od interného tímu. |
Cieľové oblasti | Vývoj softvéru | Komplexné obchodné riešenie a rýchle dodanie. |
Princípy Shift-Left | Pákový prevod - doľava | Využite obidve zmeny vľavo a vpravo. |
Dôraz | Agile zdôrazňuje metodiku vývoja softvéru pre vývoj softvéru. Po vývoji a vydaní softvéru bude agilnému tímu jedno, čo sa s ním stane. | DevOps je predovšetkým o prevzatí softvéru, ktorý je pripravený na vydanie, a o jeho spoľahlivom a bezpečnom nasadení. |
Krížovo funkčné | Každý člen tímu by mal byť schopný urobiť to, čo je potrebné pre postup projektu. Keď každý člen tímu môže vykonávať každú prácu, zvyšuje sa tým porozumenie a väzba medzi nimi. | V DevOps sú vývojové a operačné tímy samostatné. Komunikácia je teda dosť zložitá. |
Komunikácia | Scrum je najbežnejšia metóda implementácie agilného vývoja softvéru. Uskutočňuje sa denné skrumážové stretnutie. | Komunikácia DevOps zahŕňa špecifikácie a konštrukčné dokumenty. Pre operačný tím je nevyhnutné, aby úplne pochopil vydanie softvéru a jeho hardvérové / sieťové dôsledky pre adekvátne spustenie procesu nasadenia. |
Dokumentácia | Agilnou metódou je uprednostnenie pracovného systému pred kompletnou dokumentáciou. Je ideálne, keď ste flexibilní a pohotovo reagujete. Môže to však ublížiť, keď sa snažíte odovzdať veci inému tímu na nasadenie. | V DevOps je dokumentácia procesu predovšetkým preto, že pošle softvér operačnému tímu na nasadenie. Automatizácia minimalizuje dopad nedostatočnej dokumentácie. Pri vývoji zložitého softvéru je však ťažké preniesť všetky potrebné znalosti. |
Automatizácia | Agile nezdôrazňuje automatizáciu. Aj keď to pomáha. | Automatizácia je primárnym cieľom DevOps. Funguje na princípe maximalizácie efektívnosti pri nasadzovaní softvéru. |
Cieľ | Rieši rozdiel medzi potrebou zákazníka a vývojovými a testovacími tímami. | Rieši rozdiel medzi vývojom + testovaním a operáciami. |
Zameranie | Zameriava sa na funkčnú a nefunkčnú pripravenosť. | Zameriava sa viac na prevádzkovú a obchodnú pripravenosť. |
Dôležitosť | Agile je neodmysliteľnou súčasťou vývoja softvéru. | Vývoj, testovanie a implementácia sú rovnako dôležité. |
Rýchlosť vs. riziko | Tímy používajúce Agile podporujú rýchlu zmenu a robustnú štruktúru aplikácie. | V metóde DevOps sa tímy musia ubezpečiť, že zmeny vykonané v architektúre nikdy neprinášajú riziko pre celý projekt. |
Kvalita | Agile vyrába lepšie aplikačné sady s požadovanými požiadavkami. Môže sa ľahko prispôsobiť zmenám vykonaným včas, počas životnosti projektu. | DevOps spolu s automatizáciou a skorým odstránením chyby prispieva k vytváraniu lepšej kvality. Vývojári musia dodržiavať štandardné postupy kódovania a architektúry, aby udržali štandardy kvality. |
Použité nástroje | JIRA, Bugzilla, Kanboard sú populárne nástroje Agile. | Puppet, Chef, TeamCity OpenStack, AWS sú populárne nástroje DevOps. |
Výzvy | Agilná metóda vyžaduje, aby boli tímy produktívnejšie, čo sa zakaždým ťažko dá dosiahnuť. | Proces DevOps potrebuje vývojové, testovacie a produkčné prostredie na zefektívnenie práce. |
Výhoda | Agile ponúka kratší vývojový cyklus a vylepšenú detekciu defektov. | DevOps podporuje uvoľňovací cyklus Agile. |