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ť:
- Výukový program pre nepretržité doručovanie
- Výukový program pre kontajner Docker
- 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.