Mis on DevOps? DevOpsi metoodika, põhimõtted ja etapid on selgitatud



Mõistke, mis on DevOps ja DevOpsi elutsükli erinevad etapid. See postitus sisaldab ka näiteid, et selgitada kõiki DevOpsiga seotud etappe alates arendamisest kuni juurutamiseni.

Kui tegelete IT-valdkonnaga, olete kindlasti kuulnud üht kõige populaarsemat moesõna DevOps. Kui soovite teha karjääri DevOpsis, on kindlasti kasulik ja tasuv minna a . Enne kui jätkame, soovitan teil läbi vaadata järgmised ajaveebid:

Kümme peamist põhjust DevOpsi õppimiseks





Paljud suured IT-ettevõtted on DevOps-i oma edasiliikumiseks kasutanud. Niisiis arutlen selles ajaveebis, mis täpselt on DevOps, ja käsitlen järgmisi punkte:



Mis on DevOps?

  • Termin DevOps on kahe sõna kombinatsioon, nimelt Arendus ja Operatsioonid. DevOps on praktika, mis võimaldab ühel meeskonnal hallata kogu rakenduse arendamise elutsüklit, see tähendab arendamist, testimist, juurutamist ja jälgimist.

  • DevOpsi lõppeesmärk on vähendada süsteemi arendustsükli kestust, pakkudes samas funktsioone, parandusi ja värskendusi sageli tihedas sünkroonis ärieesmärkidega.

  • DevOps on tarkvaraarenduslik lähenemisviis, mille abil saate kiiresti ja suurema usaldusväärsusega välja töötada kõrgekvaliteedilise tarkvara. See koosneb erinevatest etappidest, nagu pidev arendamine, pidev integreerimine, pidev testimine, pidev juurutamine ja pidev jälgimine.



Nii et kuna see on DevOps, siis vaadakem DevOpsi ajalugu.

DevOpsi ajalugu

Enne DevOpsi oli meil tarkvaraarenduseks kaks lähenemisviisi, nimelt Juga ja Agile.

Juga mudel

  • Juga mudel on tarkvaraarendusmudel, mis on üsna sirge ja sirge. See mudel järgib ülalt-alla lähenemist.

  • Sellel mudelil on erinevaid alustades Nõuete kogumine ja analüüs . See on etapp, kus saate kliendilt rakenduse arendamiseks esitatavad nõuded. Pärast seda proovite neid nõudeid analüüsida.

  • Järgmine etapp on Kujundus etapp, kus koostate tarkvara kavandi. Siinkohal mõtlete, kuidas tarkvara tegelikult välja näeb.

  • Kui kujundus on valmis, liigute koos Rakendamine faas, kus alustatakse rakenduse kodeerimisega. Arendajate meeskond töötab koos rakenduse erinevate komponentide kallal.

  • Kui olete rakenduse arendamise lõpule viinud, testite seda rakenduses Kontrollimine faas. Rakendusel on läbi viidud mitmesuguseid teste, näiteks üksuste testimine, integreerimise testimine, jõudluse testimine jne.

  • Kui kõik rakenduse testid on lõpule viidud, juurutatakse see tootmisserveritesse.

  • Lõpuks tuleb Hooldus faas. Selles etapis jälgitakse rakenduse jõudlust. Selles etapis lahendatakse kõik rakenduse toimimisega seotud probleemid.

Juga mudeli eelised:

  • Lihtne mõista ja kasutada

  • Võimaldab hõlpsalt testida ja analüüsida

  • Säästab märkimisväärselt palju aega ja raha

  • Hea väikeprojektide jaoks, kui kõik nõuded on selgelt määratletud

  • Võimaldab jaotada osakonnad ja juhtida juhtimist

Juga mudeli puudused:

  • Riskantne ja ebakindel

  • Praeguste edusammude nähtamatus

  • Ei sobi, kui nõuded pidevalt muutuvad

  • Testi ajal on tootel keeruline muudatusi teha

  • Lõpptoode on saadaval alles tsükli lõpus

  • Ei sobi suurte ja keeruliste projektide jaoks

Agile metoodika

Agile Methodology on iteratiivne tarkvaraarenduse lähenemisviis, kus tarkvaraprojekt jaotatakse erinevateks iteratsioonideks või sprintideks. Igal iteratsioonil on sellised joa mudelid nagu nõuete kogumine, kujundamine, arendamine, testimine ja hooldus. Iga iteratsiooni kestus on tavaliselt 2-8 nädalat.

Vilgas protsess

  • Agile'is vabastab ettevõte esimese korduse korral rakenduse, millel on mõned esmatähtsad funktsioonid.

  • Pärast selle väljaandmist annavad lõppkasutajad või kliendid teile tagasisidet rakenduse toimivuse kohta.

  • Seejärel teete rakenduses vajalikud muudatused koos mõne uue funktsiooniga ja rakendus vabastatakse uuesti, mis on teine ​​kordus.

  • Korrake kogu seda protseduuri, kuni saavutate soovitud tarkvara kvaliteedi.

Agile mudeli eelised

  • See reageerib nõuete muutustele soodsalt adaptiivselt

  • Vigade parandamine arendusprotsessi alguses muudab selle protsessi kulutõhusamaks

  • Parandab toote kvaliteeti ja muudab selle väga veatuks

  • Võimaldab otsest suhtlust tarkvaraprojektis osalevate inimeste vahel

  • Sobib väga hästi suurte ja pikaajaliste projektide jaoks

  • Minimaalsed ressursinõuded ja väga lihtne hallata

Agile mudeli puudused

  • Sõltub suuresti klientide selgetest nõudmistest

  • Suuremate projektide jaoks on aega ja vaeva ennustada üsna keeruline

  • Ei sobi keeruliste projektide jaoks

  • Puudub dokumentatsiooni tõhusus

  • Suurenenud hooldatavuse riskid

Nüüd läheme edasi ja arutame DevOpsi etappide ja tööriistade üle.

DevOpsi etapid ja tööriistad

Nagu varem mainitud, moodustavad DevOpsi elutsükli erinevad etapid, nagu pidev arendamine, pidev integreerimine, pidev testimine, pidev juurutamine ja pidev jälgimine. Vaatame nüüd DevOpsi elutsükli kõiki etappe ükshaaval.

1. etapp: pidev areng

Kasutatavad tööriistad: Git, SVN, Mercurial, CVS

Protsessi kulg:

  • See on etapp, mis hõlmab tarkvara „planeerimist” ja „kodeerimist”. Te otsustate projekti visiooni planeerimise etapis ja arendajad hakkavad rakenduse koodi välja töötama.

  • Puuduvad DevOpsi tööriistad mis on planeerimiseks vajalikud, kuid koodi hooldamiseks on mitmeid tööriistu.

  • Kood võib olla mis tahes keeles, kuid säilitate seda versioonihalduse tööriistade abil. Seda koodi hooldamise protsessi nimetatakse lähtekoodi haldamiseks.

  • Pärast koodi väljatöötamist liigute pideva integreerimise faasi.

2. etapp: pidev integreerimine

Tööriistad: Jenkins, TeamCity, Travis

Protsessi kulg:

  • See etapp on kogu DevOpsi elutsükli tuum. See on tava, kus arendajad nõuavad lähtekoodi muutmist sagedamini. See võib toimuda kas päeva või nädala kaupa.

  • Seejärel koostate iga kohustuse ja see võimaldab probleeme varakult avastada, kui need on olemas. Ehituskood hõlmab lisaks kompileerimisele ka koodide ülevaatamist, üksuste testimist, integreerimise testimist ja pakendamist.

  • Uut funktsionaalsust toetav kood on olemasoleva koodiga. Kuna tarkvara arendatakse pidevalt, peate nii värskendatud koodi pidevalt integreerima kui ka sujuvalt süsteemidega, et kajastada muudatusi lõppkasutajatele.

  • Selles etapis kasutate tööriistu koodi koostamiseks / pakendatavasse faili pakkimiseks, et saaksite selle järgmistesse etappidesse edastada.

3. etapp: pidev testimine

Tööriistad: Jenkins, seleeni testNG, JUnit

Protsessi kulg:

  • See on etapp, kus testite arenenud tarkvara pidevalt vigade suhtes, kasutades automaatika testimise tööriistu. Need tööriistad võimaldavad kvaliteedikontrollijatel mitu koodibaasi paralleelselt testida, et tagada funktsionaalsuses puudusi. Selles etapis saate testikeskkonna simuleerimiseks kasutada Dockeri konteinereid.

  • Seleen kasutatakse automatiseerimise testimiseks ja aruanded genereerib TestNG . Kogu selle testimisetapi saate automatiseerida pideva integreerimise tööriista Jenkins abil.

  • Oletame, et olete oma rakenduse testimiseks Java-seleenikoodi kirjutanud. Nüüd saate selle koodi koostada sipelga või maveniga. Kui olete koodi üles ehitanud, testite seda kasutaja aktsepteerimise testimise (UAT) jaoks. Kogu seda protsessi saab automatiseerida Jenkins .

4. etapp: pidev juurutamine

Kasutatud tööriistad:

Konfiguratsiooni haldamine - peakokk, nukk, võimalik

Konteinerid - Docker, Vagrant

Protsessi kulg:

  • See on etapp, kus juurutate koodi tootmisserveritesse. Samuti on oluline tagada, et kasutate koodi õigesti kõigis serverites. Enne edasiliikumist proovime mõista mõnda asja konfiguratsioonihalduse ja Konteinerite tööriistad . Need siin olevad tööriistakomplektid aitavad saavutada pidevat juurutamist (CD).

c c # ja c ++ vahe
  • Konfiguratsiooni juhtimine on rakenduse funktsionaalsete nõuete ja toimivuse järjepidevuse loomine ja säilitamine. Lubage mul seda lihtsamalt sõnastada, see on kasutuselevõtu vabastamine serveritele, värskenduste ajastamine kõigis serverites ja mis kõige tähtsam - konfiguratsioonide pidev hoidmine kõigis serverites.

  • Konteinerite tööriistadel on sama oluline roll ka juurutamise etapis. Konteinerite tööriistad aitavad tagada järjepidevuse nii arendus-, testimis-, lavastus- kui ka tootmiskeskkonnas. Lisaks sellele aitavad need ka juhtumite kiiret suurendamist ja vähendamist.

5. etapp: pidev jälgimine

Kasutatud tööriistad: Splunk, ELK Stack, Nagios, New Relic

Protsessi kulg:

  • See on DevOpsi elutsükli väga kriitiline etapp, kus jälgite pidevalt oma rakenduse toimivust. Siin saate salvestada olulist teavet tarkvara kasutamise kohta. Seejärel töötlete seda teavet rakenduse nõuetekohase funktsionaalsuse kontrollimiseks. Selles etapis lahendate süsteemivead, nagu vähene mälu, server pole kättesaadav jne.

  • See tava hõlmab operatsioonimeeskonna osalemist, kes jälgib kasutaja tegevust vigade või süsteemi sobimatu käitumise osas.Pideva jälgimise tööriistad aitavad teil rakenduse toimivust ja servereid tähelepanelikult jälgida ning võimaldavad teil ka süsteemi seisundit ennetavalt kontrollida.

Lõpuks arutame, kes on DevOpsi insener.

Kes on DevOpsi insener?

DevOps Engineer on keegi, kes mõistab tarkvaraarenduse elutsüklit ja mõistab otse digitaalsete torujuhtmete (CI / CD torujuhtmete) arendamise erinevaid automatiseerimisvahendeid.

DevOps Engineer töötab koos arendajate ja IT-töötajatega koodiväljaannete jälgimisel. Nad on kas arendajad, kes tunnevad huvi juurutamise ja võrgutoimingute vastu, või süsteemiadministraatorid, kellel on kirg skriptimise ja kodeerimise vastu ning kes liiguvad arenduspoolele, kus nad saavad testimise ja juurutamise planeerimist parandada.

Nii et see oli kõik minu poolt selles artiklis, mis on DevOps. Loodan, et olete aru saanud kõigest, mida siin arutanud olen. Kui teil on küsimusi, märkige see kommentaaride jaotises.

Allpool on loetelu blogidest, mis võivad teile huvi pakkuda:

  1. Pideva tarnimise õpetus
  2. Dockeri konteinerite õpetus
  3. Nukuõpetus

Nüüd, kui olete aru saanud Mis on DevOps , vaadake autor Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik koosneb enam kui 250 000 rahulolevast õppijast ja mis levib üle kogu maailma. Edureka DevOpsi sertifitseerimiskoolitus aitab õppijatel mõista, mis on DevOps, ning omandada teadmisi mitmesuguste DevOpsi protsesside ja tööriistade kohta, nagu Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ja GIT SDLC mitmete sammude automatiseerimiseks.

Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ja võtame teiega ühendust.