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:
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.