Čo je to DevOps? Vysvetlenie metodiky, princípov a etáp DevOps



Pochopte, čo je DevOps a rôzne fázy životného cyklu DevOps. Tento príspevok obsahuje aj príklady na vysvetlenie každej fázy zapojenej do DevOps od vývoja po nasadenie.

Ak pracujete v IT priemysle, možno ste určite počuli jedno z najpopulárnejších módnych slov s názvom DevOps. Ak sa chcete venovať kariére v spoločnosti DevOps, je určite prínosné a prínosné ísť si na . Než budeme pokračovať, navrhnem vám, aby ste si prešli nasledujúce blogy:

Top 10 dôvodov, prečo sa učiť DevOps





Mnoho veľkých IT spoločností prijalo DevOps ako svoju cestu vpred. Takže v tomto blogu budem diskutovať o tom, čo presne je DevOps, a body, ktorým sa budem venovať, sú nasledovné:



Čo je to DevOps?

  • Termín DevOps je kombináciou dvoch slov, a to Development and Operations. DevOps je postup, ktorý umožňuje jedinému tímu riadiť celý životný cyklus vývoja aplikácií, to znamená vývoj, testovanie, nasadenie a monitorovanie.

  • Konečným cieľom DevOps je znížiť trvanie životného cyklu vývoja systému a súčasne poskytovať funkcie, opravy a aktualizácie v úzkej synchronizácii s obchodnými cieľmi.

  • DevOps je prístup k vývoju softvéru, pomocou ktorého môžete rýchlo a spoľahlivejšie vyvíjať softvér špičkovej kvality. Skladá sa z rôznych etáp, ako je nepretržitý vývoj, nepretržitá integrácia, nepretržité testovanie, nepretržité nasadenie a nepretržité monitorovanie.



Takže čo je DevOps, pozrime sa na históriu DevOps.

História DevOps

Pred DevOps sme mali dva prístupy k vývoju softvéru, a to Waterfall a the Agile.

Model vodopádu

  • Model vodopádu je model vývoja softvéru, ktorý je dosť priamy a lineárny. Tento model sleduje prístup zhora nadol.

  • Tento model má rôzne počnúc od Zhromažďovanie a analýza požiadaviek . Toto je fáza, v ktorej dostanete od klienta požiadavky na vývoj aplikácie. Potom sa pokúsite analyzovať tieto požiadavky.

  • Ďalšou fázou je Dizajn fáza, v ktorej pripravujete podrobný plán softvéru. Tu sa zamyslíte nad tým, ako bude softvér v skutočnosti vyzerať.

  • Akonáhle je dizajn hotový, posuniete sa ďalej pomocou Implementácia fázy, kde začnete s programovaním aplikácie. Tím vývojárov spolupracuje na rôznych komponentoch aplikácie.

  • Po dokončení vývoja aplikácie ju otestujete v Overenie fáza. Na aplikácii sa vykonávajú rôzne testy, ako napríklad testovanie jednotiek, testovanie integrácie, testovanie výkonu atď.

  • Po dokončení všetkých testov aplikácie je táto nasadená na produkčné servery.

  • Nakoniec príde Údržba fáza. V tejto fáze sa sleduje výkonnosť aplikácie. V tejto fáze sú vyriešené všetky problémy týkajúce sa výkonu aplikácie.

Výhody modelu Waterfall:

  • Jednoduché na pochopenie a použitie

  • Umožňuje ľahké testovanie a analýzu

  • Šetrí značné množstvo času a peňazí

  • Dobré pre malé projekty, ak sú jasne definované všetky požiadavky

    previesť reťazec do formátu dátumu v
  • Umožňuje oddelenie a manažérsku kontrolu

Nevýhody modelu vodopádu:

  • Riskantné a neisté

  • Nedostatočný prehľad o súčasnom pokroku

  • Nie je vhodné, keď sa požiadavky neustále menia

  • Je ťažké vykonať zmeny na produkte, keď je vo fáze testovania

  • Konečný produkt je k dispozícii až na konci cyklu

  • Nevhodné pre veľké a zložité projekty

Agilná metodika

Agilná metodológia je prístup založený na iteratívnom vývoji softvéru, pri ktorom je softvérový projekt rozdelený na rôzne iterácie alebo šprinty. Každá iterácia má fázy ako model vodopádu, ako napríklad Zhromažďovanie požiadaviek, Návrh, vývoj, testovanie a údržba. Trvanie každej iterácie je zvyčajne 2 - 8 týždňov.

Agilný proces

  • V programe Agile spoločnosť vydá aplikáciu s niektorými prvkami s vysokou prioritou v prvej iterácii.

  • Po jeho vydaní vám koncoví používatelia alebo zákazníci poskytnú spätnú väzbu o výkone aplikácie.

  • Potom v aplikácii vykonáte potrebné zmeny spolu s niektorými novými funkciami a aplikácia je opäť vydaná, čo je druhá iterácia.

  • Celý tento postup opakujte, kým nedosiahnete požadovanú kvalitu softvéru.

Výhody agilného modelu

  • Adaptívne reaguje na zmeny požiadaviek priaznivo

  • Oprava chýb na začiatku vývojového procesu robí tento proces nákladovo efektívnejším

  • Zlepšuje kvalitu produktu a robí ho bezchybným

  • Umožňuje priamu komunikáciu medzi ľuďmi zapojenými do softvérového projektu

  • Veľmi vhodný pre veľké a dlhodobé projekty

  • Minimálne požiadavky na zdroje a veľmi jednoduchá správa

Nevýhody agilného modelu

  • Vysoko závisí od jasných požiadaviek zákazníka

  • Celkom ťažké predpovedať čas a úsilie pre väčšie projekty

  • Nevhodné pre zložité projekty

  • Chýba efektívnosť dokumentácie

  • Zvýšené riziká udržiavateľnosti

Teraz poďme ďalej a diskutujme o fázach a nástrojoch DevOps.

Fázy a nástroje DevOps

Ako už bolo spomenuté, rôzne fázy, ako je nepretržitý vývoj, nepretržitá integrácia, nepretržité testovanie, nepretržité nasadenie a nepretržité monitorovanie, tvoria cyklus života DevOps. Teraz sa pozrime na jednotlivé fázy životného cyklu DevOps jednu po druhej.

Fáza 1: Nepretržitý vývoj

Použité nástroje: Git, SVN, Mercurial, CVS

Tok procesu:

  • Toto je fáza, ktorá zahŕňa „plánovanie“ a „kódovanie“ softvéru. O vízii projektu rozhodnete vo fáze plánovania a vývojári začnú vyvíjať kód aplikácie.

  • Nie sú k dispozícii žiadne Nástroje DevOps ktoré sú potrebné na plánovanie, ale na údržbu kódu existuje množstvo nástrojov.

  • Kód môže byť v akomkoľvek jazyku, ale udržiavate ho pomocou nástrojov na správu verzií. Tento proces údržby kódu sa nazýva Správa zdrojového kódu.

  • Po vývoji kódu sa presuniete do fázy kontinuálnej integrácie.

Fáza 2: Nepretržitá integrácia

ako vytvoriť záznamový súbor v jave

Nástroje: Jenkins, TeamCity, Travis

Tok procesu:

  • Táto fáza je jadrom celého životného cyklu DevOps. Je to prax, pri ktorej vývojári vyžadujú častejšie vykonávanie zmien zdrojového kódu. Môže to byť každý deň alebo týždeň.

  • Potom zostavíte každé potvrdenie, čo umožňuje včasné odhalenie problémov, ak sú prítomné. Tvorba kódu nezahŕňa iba kompiláciu, ale zahŕňa aj kontrolu kódu, testovanie jednotiek, testovanie integrácie a balenie.

  • Kód podporujúci novú funkcionalitu je s existujúcim kódom. Pretože softvér neustále vyvíjame, musíte aktualizovaný kód integrovať nepretržite a plynulo do systémov, aby odrážali zmeny koncových používateľov.

  • V tejto fáze použijete nástroje na zostavenie / zabalenie kódu do spustiteľného súboru, aby ste ho mohli preposlať do ďalších fáz.

Fáza 3: Nepretržité testovanie

Nástroje: Jenkins, Selenium TestNG, JUnit

Tok procesu:

  • Toto je fáza, keď neustále vyvíjate softvér, aby ste zistili, či neobsahuje chyby, pomocou nástrojov na automatizáciu. Tieto nástroje umožňujú QA, aby dôkladne paralelne testovali viac databáz kódov, aby sa zabezpečilo, že vo funkčnosti nebudú žiadne chyby. V tejto fáze môžete na simuláciu testovacieho prostredia použiť Docker Containers.

  • Selén sa používa na automatické testovanie a správy generuje TestNG . Celú túto fázu testovania môžete automatizovať pomocou nástroja na nepretržitú integráciu s názvom Jenkins.

  • Predpokladajme, že ste do Java napísali kód selénu na otestovanie svojej aplikácie. Teraz môžete tento kód vytvoriť pomocou mravec alebo maven. Po vytvorení kódu ho potom otestujte na UAT (User Acceptance Testing). Celý tento proces je možné automatizovať pomocou Jenkins .

Fáza 4: Nepretržité nasadenie

Použité nástroje:

Správa konfigurácie - šéfkuchár, bábka, Ansible

Kontajnerizácia - Docker, Vagrant

Tok procesu:

  • Toto je fáza, kedy kód nasadzujete na produkčné servery. Je tiež dôležité zabezpečiť, aby ste správne nasadili kód na všetky servery. Predtým, ako prejdeme ďalej, skúsme pochopiť niekoľko vecí týkajúcich sa správy konfigurácie a Kontajnerovacie nástroje . Táto sada nástrojov tu pomáha dosiahnuť Continuous Deployment (CD).

  • Správa konfigurácie je akt vytvárania a udržiavania konzistencie funkčných požiadaviek a výkonu aplikácie. Poviem to jednoduchšie. Je to akt uvoľnenia nasadenia na servery, naplánovanie aktualizácií na všetkých serveroch a najdôležitejšie udržanie konzistentných konfigurácií na všetkých serveroch.

  • Rovnako dôležitú rolu vo fáze nasadenia zohrávajú aj kontajnerovacie nástroje. Kontajnerovacie nástroje pomáhajú vytvárať konzistenciu naprieč vývojovým, testovacím, fázovým a produkčným prostredím. Okrem toho tiež pomáhajú pri rýchlom škálovaní a znižovaní počtu inštancií.

Fáza 5: Nepretržité monitorovanie

Použité nástroje: Splunk, ELK Stack, Nagios, New Relic

Tok procesu:

  • Toto je veľmi kritická etapa životného cyklu DevOps, v ktorej nepretržite monitorujete výkonnosť svojej aplikácie. Tu zaznamenávate dôležité informácie o používaní softvéru. Tieto informácie potom spracujete, aby ste skontrolovali správnu funkčnosť aplikácie. V tejto fáze riešite systémové chyby, ako napríklad nedostatok pamäte, server nedosiahnuteľný atď.

  • Táto prax spočíva v účasti operačného tímu, ktorý bude monitorovať aktivitu používateľa z hľadiska výskytu chýb alebo nesprávneho správania systému.Nástroje na nepretržité monitorovanie vám pomôžu pozorne sledovať výkon aplikácie a serverov a tiež vám umožnia proaktívne skontrolovať stav systému.

Na záver si povieme, kto je vlastne DevOps Engineer.

Kto je vývojár DevOps?

DevOps Engineer je niekto, kto rozumie životnému cyklu vývoja softvéru a má priame znalosti o rôznych automatizačných nástrojoch na vývoj digitálnych potrubí (kanály CI / CD).

DevOps Engineer spolupracuje s vývojármi a zamestnancami IT na dohľad nad vydaním kódu. Sú to buď vývojári, ktorí sa zaujímajú o nasadenie a sieťové operácie, alebo správcovia, ktorí majú vášeň pre skriptovanie a kódovanie a prechádzajú na vývojovú stránku, kde môžu vylepšiť plánovanie testovania a nasadenia.

Takže to bolo z mojej strany všetko v tomto článku o Čo je DevOps. Dúfam, že ste pochopili všetko, o čom som tu hovoril. Ak máte akékoľvek otázky, prosím, spomeňte to v sekcii komentárov.

Nasleduje zoznam blogov, ktoré by vás mohli zaujímať:

  1. Výukový program pre nepretržité doručovanie
  2. Výukový program pre kontajner Docker
  3. Výukový program pre bábky

Teraz, keď ste to pochopili Čo je to DevOps , pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Certifikačný vzdelávací kurz Edureka DevOps pomáha študentom pochopiť, čo je DevOps, a získať odborné znalosti v rôznych procesoch a nástrojoch DevOps, ako sú Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack a GIT na automatizáciu viacerých krokov v SDLC.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov a my sa vám ozveme.