Kas ir DevOps? DevOps metodoloģija, principi un paskaidrotie posmi



Izprotiet, kas ir DevOps un dažādi DevOps dzīves cikla posmi. Šajā amatā ir arī piemēri, lai izskaidrotu katru DevOps iesaistīto posmu no izstrādes līdz izvietošanai.

Ja nodarbojaties ar IT nozari, iespējams, noteikti esat dzirdējuši vienu no populārākajiem modes vārdiem ar nosaukumu DevOps. Ja vēlaties turpināt karjeru DevOps, tad noteikti ir izdevīgi un izdevīgi doties uz . Pirms mēs turpinām turpināt, es iesaku jums apskatīt šādus emuārus:

10 galvenie iemesli, kāpēc mācīties DevOps





Daudzi lieli IT uzņēmumi ir izvēlējušies DevOps par savu turpmāko ceļu. Tāpēc šajā emuārā es apspriedīšu, kas īsti ir DevOps, un jautājumi, par kuriem es runāšu, ir šādi:



Kas ir DevOps?

  • Termins DevOps ir divu vārdu kombinācija, proti, Attīstība un Operācijas. DevOps ir prakse, kas ļauj vienai komandai pārvaldīt visu lietojumprogrammu izstrādes dzīves ciklu, tas ir, izstrādi, testēšanu, izvietošanu un uzraudzību.

  • DevOps galvenais mērķis ir samazināt sistēmas izstrādes dzīves cikla ilgumu, vienlaikus nodrošinot funkcijas, labojumus un atjauninājumus, cieši sinhronizējot tos ar biznesa mērķiem.

  • DevOps ir programmatūras izstrādes pieeja, ar kuras palīdzību jūs varat ātri un ar lielāku uzticamību izstrādāt izcilas kvalitātes programmatūru. Tas sastāv no dažādiem posmiem, piemēram, nepārtraukta attīstība, nepārtraukta integrācija, nepārtraukta testēšana, nepārtraukta izvietošana un nepārtraukta uzraudzība.



Tā kā tas ir DevOps, ļaujiet mums apskatīt DevOps vēsturi.

DevOps vēsture

Pirms DevOps mums bija divas pieejas programmatūras izstrādei, proti, ūdenskritums un veikls.

Ūdenskrituma modelis

  • Ūdenskrituma modelis ir programmatūras izstrādes modelis, kas ir diezgan taisns un lineārs. Šis modelis ir balstīts uz augšupēju pieeju.

    kādi ir ierobežojumi sql
  • Šim modelim ir dažādi, sākot ar Prasību apkopošana un analīze . Šajā posmā jūs saņemat klienta prasības lietojumprogrammas izstrādei. Pēc tam jūs mēģināt analizēt šīs prasības.

  • Nākamais posms ir Dizains fāze, kurā jūs sagatavojat programmatūras projektu. Šeit jūs domājat par to, kā programmatūra patiesībā izskatīsies.

  • Kad dizains ir gatavs, jūs pārvietojaties tālāk ar Īstenošana fāze, kurā jūs sākat ar lietojumprogrammas kodēšanu. Izstrādātāju komanda strādā kopā ar dažādiem lietojumprogrammas komponentiem.

  • Kad esat pabeidzis lietojumprogrammas izstrādi, to pārbaudāt Pārbaude fāze. Lietojumprogrammā tiek veikti dažādi testi, piemēram, vienības testēšana, integrācijas testēšana, veiktspējas pārbaude utt.

  • Kad visi lietojumprogrammas testi ir pabeigti, tā tiek izvietota ražošanas serveros.

  • Beidzot nāk Apkope fāze. Šajā posmā tiek uzraudzīta lietojumprogrammas veiktspēja. Šajā posmā tiek atrisināti visi ar lietojumprogrammas darbību saistītie jautājumi.

Ūdenskrituma modeļa priekšrocības:

  • Vienkārši saprotams un lietojams

  • Ļauj viegli pārbaudīt un analizēt

  • Ietaupa ievērojamu laiku un naudu

  • Labi maziem projektiem, ja visas prasības ir skaidri noteiktas

  • Ļauj veikt nodaļu sadalījumu un vadības kontroli

Ūdenskrituma modeļa trūkumi:

  • Riskanti un nenoteikti

  • Pašreizējā progresa redzamības trūkums

  • Nav piemērots, ja prasības nemitīgi mainās

  • Grūti veikt izmaiņas produktā, kad tas atrodas testēšanas fāzē

  • Gala produkts ir pieejams tikai cikla beigās

  • Nav piemērots lieliem un sarežģītiem projektiem

Veiklā metodika

Agile metodika ir iteratīva programmatūras izstrādes pieeja, kurā programmatūras projekts tiek sadalīts dažādās iterācijās vai sprintos. Katrā atkārtojumā ir tādas fāzes kā ūdenskrituma modelis, piemēram, prasību apkopošana, projektēšana, izstrāde, testēšana un apkope. Katras iterācijas ilgums parasti ir 2-8 nedēļas.

Veikls process

  • Programmā Agile uzņēmums izlaiž lietojumprogrammu ar dažām augstas prioritātes funkcijām pirmajā atkārtojumā.

  • Pēc tās izlaišanas tiešie lietotāji vai klienti sniedz jums atsauksmes par lietojumprogrammas veiktspēju.

  • Tad jūs veicat nepieciešamās izmaiņas lietojumprogrammā kopā ar dažām jaunām funkcijām, un programma atkal tiek izlaista, kas ir otrā atkārtošana.

  • Jūs atkārtojat visu šo procedūru, līdz iegūstat vēlamo programmatūras kvalitāti.

Agile modeļa priekšrocības

  • Tas adaptīvi reaģē uz prasību izmaiņām labvēlīgi

  • Kļūdu novēršana izstrādes procesa sākumā padara šo procesu rentablāku

  • Uzlabo produkta kvalitāti un padara to bez kļūdām

  • Ļauj tiešai saziņai starp cilvēkiem, kas iesaistīti programmatūras projektā

  • Ļoti piemērots lieliem un ilgtermiņa projektiem

  • Minimālās resursu prasības un ļoti viegli pārvaldāms

Agile modeļa trūkumi

  • Ļoti atkarīgs no skaidrām klientu prasībām

  • Diezgan grūti paredzēt laiku un pūles lielākiem projektiem

  • Nav piemērots sarežģītiem projektiem

  • Trūkst dokumentācijas efektivitātes

  • Palielināti uzturēšanas riski

Tagad turpināsim un apspriedīsim DevOps posmus un rīkus.

DevOps posmi un rīki

Kā minēts iepriekš, dažādi posmi, piemēram, nepārtraukta attīstība, nepārtraukta integrācija, nepārtraukta testēšana, nepārtraukta izvietošana un nepārtraukta uzraudzība, veido DevOps dzīves ciklu. Tagad apskatīsim katru DevOps dzīves cikla posmu pa vienam.

1. posms: nepārtraukta attīstība

Izmantotie rīki: Git, SVN, Mercurial, CVS

Procesa plūsma:

  • Šis ir posms, kas ietver programmatūras “plānošanu” un “kodēšanu”. Jūs izlemjat projekta vīziju plānošanas posmā, un izstrādātāji sāk izstrādāt lietojumprogrammas kodu.

  • Nepastāv DevOps rīki kas nepieciešami plānošanai, taču koda uzturēšanai ir vairāki rīki.

  • Kods var būt jebkurā valodā, taču jūs to uzturat, izmantojot versiju vadības rīkus. Šis koda uzturēšanas process ir pazīstams kā Source Code Management.

  • Pēc koda izstrādes jūs pārejat uz nepārtrauktās integrācijas fāzi.

2. posms: nepārtraukta integrācija

Rīki: Jenkins, TeamCity, Travis

Procesa plūsma:

  • Šis posms ir visa DevOps dzīves cikla kodols. Tā ir prakse, kurā izstrādātājiem ir nepieciešams biežāk veikt izmaiņas avota kodā. Tas var būt vai nu katru dienu vai nedēļu.

  • Pēc tam jūs izveidojat katru apņemšanos, un tas ļauj savlaicīgi atklāt problēmas, ja tādas ir. Celtniecības kodekss ietver ne tikai kompilēšanu, bet arī koda pārskatīšanu, vienības testēšanu, integrācijas testēšanu un iepakošanu.

  • Kods, kas atbalsta jaunu funkcionalitāti, ir ar esošo kodu. Tā kā programmatūra tiek nepārtraukti attīstīta, atjauninātais kods ir jāintegrē nepārtraukti, kā arī vienmērīgi ar sistēmām, lai atspoguļotu izmaiņas gala lietotājiem.

  • Šajā posmā jūs izmantojat rīkus koda izveidošanai / iesaiņošanai izpildāmā failā, lai to varētu pārsūtīt uz nākamajām fāzēm.

3. posms: nepārtraukta testēšana

Rīki: Jenkins, Selenium TestNG, JUnit

Procesa plūsma:

  • Šajā posmā jūs nepārtraukti pārbaudāt izstrādātās programmatūras kļūdas, izmantojot automatizācijas testēšanas rīkus. Šie rīki ļauj kvalitātes pārbaudēm rūpīgi paralēli pārbaudīt vairākas kodu bāzes, lai pārliecinātos, ka funkcionalitātē nav trūkumu. Šajā posmā testa vides simulēšanai varat izmantot Docker Containers.

  • Selēns tiek izmantots automatizācijas testēšanai, un pārskatus ģenerē TestNG . Jūs varat automatizēt visu šo testēšanas posmu, izmantojot nepārtrauktas integrācijas rīku ar nosaukumu Jenkins.

  • Pieņemsim, ka jūs esat uzrakstījis selēna kodu Java, lai pārbaudītu savu lietojumprogrammu. Tagad jūs varat izveidot šo kodu, izmantojot skudru vai maven. Kad esat izveidojis kodu, pēc tam pārbaudiet to, vai tiek pārbaudīta lietotāju pieņemšanas pārbaude (UAT). Visu šo procesu var automatizēt, izmantojot Dženkinss .

4. posms: nepārtraukta izvietošana

Izmantotie rīki:

Konfigurācijas pārvaldība - šefpavārs, leļļu spēlētājs, Ansible

Konteiners - dokers, klaidonis

Procesa plūsma:

  • Šajā posmā jūs izvietojat kodu ražošanas serveros. Ir svarīgi arī nodrošināt, lai pareizi izvietotu kodu visos serveros. Pirms turpināt, mēģināsim izprast dažas lietas par konfigurācijas pārvaldību un Konteineru rīki . Šie rīku komplekti šeit palīdz sasniegt nepārtrauktu ieviešanu (CD).

  • Konfigurācijas pārvaldība ir darbība, kas nosaka un uztur konsekvenci lietojumprogrammas funkcionālajās prasībās un veiktspējā. Ļaujiet man to izteikt vieglāk, tas ir izlaišanas izlaišana serveros, atjauninājumu plānošana visos serveros un pats svarīgākais, lai konfigurācijas būtu konsekventas visos serveros.

  • Konteinerizēšanas rīkiem ir vienlīdz izšķiroša loma izvietošanas posmā. Konteinerizēšanas rīki palīdz nodrošināt konsekvenci gan izstrādes, gan testēšanas, iestudēšanas, gan ražošanas vidēs. Bez tam tie arī palīdz ātri palielināt un samazināt gadījumus.

5. posms: nepārtraukta uzraudzība

Izmantotie rīki: Splunk, ELK Stack, Nagios, New Relic

Procesa plūsma:

  • Šis ir ļoti kritisks DevOps dzīves cikla posms, kurā jūs nepārtraukti uzraugāt savas lietojumprogrammas veiktspēju. Šeit jūs ierakstāt svarīgu informāciju par programmatūras lietošanu. Pēc tam jūs apstrādājat šo informāciju, lai pārbaudītu lietojumprogrammas pareizu funkcionalitāti. Šajā fāzē jūs novēršat tādas sistēmas kļūdas kā zema atmiņa, serveris nav sasniedzams utt.

  • Šajā praksē piedalās Operations komanda, kas uzraudzīs lietotāja darbību, lai noteiktu kļūdas vai sistēmas nepareizu rīcību.Nepārtrauktās uzraudzības rīki palīdz rūpīgi uzraudzīt lietojumprogrammas un serveru veiktspēju, kā arī ļauj proaktīvi pārbaudīt sistēmas stāvokli.

Visbeidzot, mēs apspriedīsim, kurš tieši ir DevOps inženieris.

Kas ir DevOps inženieris?

DevOps inženieris ir kāds, kurš saprot programmatūras izstrādes dzīves ciklu un pilnībā izprot dažādus automatizācijas rīkus digitālo cauruļvadu (CI / CD cauruļvadu) izstrādei.

DevOps inženieris sadarbojas ar izstrādātājiem un IT personālu, lai uzraudzītu kodu izlaišanu. Viņi ir vai nu izstrādātāji, kas interesējas par izvietošanu un tīkla darbībām, vai arī sistēmas administratori, kuriem ir aizraušanās ar skriptu un kodēšanu, un viņi pāriet uz izstrādes pusi, kur var uzlabot testēšanas un izvietošanas plānošanu.

Tātad tas bija viss no manas puses šajā rakstā Kas ir DevOps. Es ceru, ka jūs esat sapratis visu, ko es šeit apspriedu. Ja jums ir kādi jautājumi, lūdzu, pieminējiet to komentāru sadaļā.

Tālāk ir saraksts ar emuāriem, kas jums varētu šķist interesanti:

  1. Nepārtrauktas piegādes apmācība
  2. Docker konteineru apmācība
  3. Leļļu apmācība

Tagad, kad esat sapratis Kas ir DevOps , pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka DevOps sertifikācijas apmācības kurss palīdz izglītojamajiem saprast, kas ir DevOps, un iegūt zināšanas dažādos DevOps procesos un rīkos, piemēram, Leļļu, Jenkins, Nagios, Ansible, Chef, Saltstack un GIT, lai automatizētu vairākus SDLC soļus.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā, un mēs ar jums sazināsimies.