Jos olet tietotekniikkateollisuudessa, olet ehkä varmasti kuullut yhden suosituimmista muotisanoista nimeltä DevOps. Jos haluat jatkaa uraa DevOpsissa, on varmasti hyödyllistä ja palkitsevaa mennä a . Ennen kuin jatkat, suosittelen sinua käymään läpi seuraavat blogit:
10 parasta syytä oppia DevOpsia
Monet suuret IT-yritykset ovat ottaneet DevOpsin eteenpäin. Joten tässä blogissa keskustelen siitä, mikä DevOps tarkalleen on, ja käsittelemäni asiat ovat seuraavat:
Mikä on DevOps?
Termi DevOps on yhdistelmä kahdesta sanasta, nimittäin Kehitys ja Toiminnot. DevOps on käytäntö, jonka avulla yksi tiimi voi hallita koko sovelluskehityksen elinkaarta eli kehitystä, testausta, käyttöönottoa ja valvontaa.
DevOpsin perimmäinen tavoite on lyhentää järjestelmän kehityksen elinkaaren kestoa ja toimittaa usein ominaisuuksia, korjauksia ja päivityksiä läheisessä synkronoinnissa liiketoiminnan tavoitteiden kanssa.
DevOps on ohjelmistokehitystapa, jonka avulla voit kehittää korkealaatuisia ohjelmistoja nopeasti ja luotettavammin. Se koostuu eri vaiheista, kuten jatkuva kehitys, jatkuva integrointi, jatkuva testaus, jatkuva käyttöönotto ja jatkuva valvonta.
Joten koska mikä on DevOps, katsokaamme DevOpsin historiaa.
DevOpsin historia
Ennen DevOpsia meillä oli kaksi lähestymistapaa ohjelmistokehitykseen, nimittäin vesiputous ja ketterä.
Vesiputousmalli
Vesiputousmalli on ohjelmistokehitysmalli, joka on melko suoraviivainen ja lineaarinen. Tämä malli noudattaa ylhäältä alaspäin suuntautuvaa lähestymistapaa.
Tällä mallilla on useita Vaatimusten kerääminen ja analysointi . Tässä vaiheessa saat asiakkaalta vaatimukset sovelluksen kehittämiseen. Tämän jälkeen yrität analysoida näitä vaatimuksia.
Seuraava vaihe on Design vaihe, jossa valmistellaan ohjelmiston suunnitelma. Tässä ajattelet, miltä ohjelmisto todella näyttää.
Kun suunnittelu on valmis, siirryt eteenpäin Toteutus vaihe, jossa aloitat sovelluksen koodauksen. Kehittäjien tiimi työskentelee yhdessä sovelluksen eri komponenttien parissa.
Kun olet suorittanut sovelluskehityksen loppuun, testaat sen Todentaminen vaihe. Sovellukselle on tehty useita testejä, kuten yksikötestaus, integraatiotestaus, suorituskykytestaus jne.
Kun kaikki sovelluksen testit on suoritettu, se otetaan käyttöön tuotantopalvelimille.
Viimeinkin tulee Huolto vaihe. Tässä vaiheessa sovelluksen toimintaa seurataan. Kaikki sovelluksen suorituskykyyn liittyvät kysymykset ratkaistaan tässä vaiheessa.
Vesiputousmallin edut:
Helppo ymmärtää ja käyttää
Mahdollistaa helpon testauksen ja analysoinnin
Säästää huomattavasti aikaa ja rahaa
Hyvä pienille projekteille, jos kaikki vaatimukset on määritelty selkeästi
Mahdollistaa osastojen ja johdon valvonnan
Vesiputousmallin haitat:
Riskialtista ja epävarmaa
Nykyisen edistymisen näkyvyyden puute
Ei sovellu, kun vaatimukset muuttuvat jatkuvasti
Tuotteeseen on vaikea tehdä muutoksia, kun se on testausvaiheessa
Lopputuote on saatavana vasta syklin lopussa
Ei sovellu suuriin ja monimutkaisiin projekteihin
Ketterä metodologia
Ketterä metodologia on iteratiivinen ohjelmistokehitys, jossa ohjelmistoprojekti on jaoteltu erilaisiin iteraatioihin tai sprintteihin. Jokaisella iteroinnilla on vaiheet, kuten vesiputousmalli, kuten vaatimusten kerääminen, suunnittelu, kehitys, testaus ja huolto. Kunkin iteraation kesto on yleensä 2-8 viikkoa.
Ketterä prosessi
Ketterässä yritys julkaisee sovelluksen joillakin tärkeillä ominaisuuksilla ensimmäisessä iteraatiossa.
Julkaisun jälkeen loppukäyttäjät tai asiakkaat antavat sinulle palautetta sovelluksen suorituskyvystä.
Sitten teet tarvittavat muutokset sovellukseen ja joitain uusia ominaisuuksia, ja sovellus vapautetaan uudelleen, mikä on toinen iterointi.
Toistat tämän koko toimenpiteen, kunnes saavutat halutun ohjelmiston laadun.
Ketterän mallin edut
Se reagoi mukautuvasti vaatimusten muutoksiin suotuisasti
Virheiden korjaaminen kehitysprosessin alkuvaiheessa tekee prosessista kustannustehokkaamman
Parantaa tuotteen laatua ja tekee siitä erittäin virheettömän
Mahdollistaa suoran viestinnän ohjelmistoprojektiin osallistuvien ihmisten välillä
Sopii hyvin suuriin ja pitkäaikaisiin projekteihin
Vähimmäisresurssivaatimukset ja erittäin helppo hallita
Ketterän mallin haitat
Paljon riippuvainen selkeistä asiakkaiden vaatimuksista
Melko vaikea ennustaa aikaa ja vaivaa suuremmille projekteille
Ei sovellu monimutkaisiin projekteihin
c ++ fibonacci -sarja
Puuttuu dokumentoinnin tehokkuus
Lisääntyneet ylläpidettävyysriskit
Siirrytään nyt eteenpäin ja keskustellaan DevOpsin vaiheista ja työkaluista.
DevOps-vaiheet ja -työkalut
Kuten aiemmin mainittiin, eri vaiheet, kuten jatkuva kehitys, jatkuva integrointi, jatkuva testaus, jatkuva käyttöönotto ja jatkuva valvonta muodostavat DevOpsin elinkaaren. Katsokaamme nyt DevOpsin elinkaaren kutakin vaihetta yksi kerrallaan.
Vaihe - 1: Jatkuva kehitys
Käytetyt työkalut: Git, SVN, Mercurial, CVS
Prosessin kulku:
Tämä on vaihe, johon sisältyy ohjelmiston suunnittelu ja koodaus. Päätät projektivision suunnitteluvaiheessa ja kehittäjät alkavat kehittää sovelluksen koodia.
Ei ole olemassa DevOps-työkalut joita tarvitaan suunnittelussa, mutta koodin ylläpitoon on olemassa useita työkaluja.
Koodi voi olla millä tahansa kielellä, mutta ylläpidät sitä käyttämällä versionhallintatyökaluja. Tämä koodin ylläpitoprosessi tunnetaan nimellä Source Code Management.
Kun koodi on kehitetty, siirryt jatkuvan integroinnin vaiheeseen.
Vaihe 2: Jatkuva integrointi
Työkalut: Jenkins, TeamCity, Travis
Prosessin kulku:
Microsoft sql -palvelinoppaat aloittelijoille
Tämä vaihe on koko DevOps-elinkaaren ydin. Se on käytäntö, jossa kehittäjät edellyttävät muutoksia lähdekoodiin useammin. Tämä voi olla joko päivittäin tai viikoittain.
Sitten rakennat jokaisen sitoutumisen, mikä mahdollistaa ongelmien varhaisen havaitsemisen, jos niitä esiintyy. Rakennuskoodi ei sisällä vain kääntämistä, vaan se sisältää myös koodin tarkistuksen, yksikötestauksen, integraatiotestauksen ja pakkaamisen.
Uusia toimintoja tukeva koodi on nykyisen koodin kanssa. Koska ohjelmistoja kehitetään jatkuvasti, päivitetty koodi on integroitava jatkuvasti ja sujuvasti järjestelmiin, jotta muutokset näkyvät loppukäyttäjille.
- Tässä vaiheessa käytät työkaluja koodin rakentamiseen / pakkaamiseen suoritettavaan tiedostoon, jotta voit siirtää sen seuraaviin vaiheisiin.
Vaihe 3: Jatkuva testaus
Työkalut: Jenkins, Selenium TestNG, JUnit
Prosessin kulku:
Tässä vaiheessa testaat kehitettyä ohjelmistoa jatkuvasti virheiden varalta automaatiotestaustyökalujen avulla. Näiden työkalujen avulla laadunvalvojat voivat testata useita koodipohjia perusteellisesti rinnakkain varmistaakseen, että toiminnallisuudessa ei ole virheitä. Tässä vaiheessa voit käyttää Docker Containers -ohjelmaa testausympäristön simulointiin.
Seleeni käytetään automaatiotestaukseen, ja raportit luodaan TestNG . Voit automatisoida koko tämän testausvaiheen Jenkins-nimisen Jatkuva integrointi -työkalun avulla.
Oletetaan, että olet kirjoittanut seleenikoodin Java-sovellukseen testataksesi sovellustasi. Nyt voit rakentaa tämän koodin muurahaisella tai muovilla. Kun olet rakentanut koodin, testaa se sitten käyttäjän hyväksynnän testausta (UAT) varten. Koko tämä prosessi voidaan automatisoida Jenkins .
Vaihe 4: Jatkuva käyttöönotto
Käytetyt työkalut:
Kokoonpanon hallinta - kokki, nukke, mahdollinen
Kontti - Docker, Vagrant
Prosessin kulku:
- Tässä vaiheessa asennat koodin tuotantopalvelimiin. On myös tärkeää varmistaa, että asennat koodin oikein kaikkiin palvelimiin. Ennen kuin jatkat, yritetään ymmärtää muutamia asioita kokoonpanon hallinnasta ja Konttityökalut . Nämä työkalut auttavat saavuttamaan jatkuvan käyttöönoton (CD).
Kokoonpanon hallinta on toimia, joilla varmistetaan sovelluksen toiminnallisten vaatimusten ja suorituskyvyn johdonmukaisuus. Haluan sanoa tämän helpommin sanoen, se on teko, jolla vapautetaan käyttöönotot palvelimille, ajoitetaan päivitykset kaikille palvelimille ja mikä tärkeintä pitää kokoonpanot yhdenmukaisina kaikissa palvelimissa.
Säilytysvälineillä on myös yhtä tärkeä rooli käyttöönottovaiheessa. Säiliötyökalut auttavat tuottamaan johdonmukaisuutta kehitys-, testaus-, vaiheistus- ja tuotantoympäristöissä. Tämän lisäksi ne auttavat myös tapausten suurentamisessa ja pienentämisessä nopeasti.
Vaihe 5: Jatkuva valvonta
Käytetyt työkalut: Splunk, ELK Stack, Nagios, New Relic
Prosessin kulku:
- Tämä on DevOpsin elinkaaren erittäin kriittinen vaihe, jossa seuraat jatkuvasti sovelluksesi suorituskykyä. Täällä voit tallentaa tärkeitä tietoja ohjelmiston käytöstä. Käsittelet sitten nämä tiedot tarkistaaksesi sovelluksen asianmukaisen toimivuuden. Ratkaiset tässä vaiheessa järjestelmävirheet, kuten vähän muistia, palvelinta ei ole tavoitettavissa, jne.
Tähän toimintaan kuuluu Operations-tiimin osallistuminen, joka seuraa käyttäjän toimintaa virheiden tai järjestelmän virheellisen toiminnan varalta.Jatkuva seuranta -työkalut auttavat sinua seuraamaan sovelluksen suorituskykyä ja palvelimia tarkasti, ja niiden avulla voit myös tarkistaa järjestelmän kunnon ennakoivasti.
Lopuksi keskustelemme kuka tarkalleen on DevOps-insinööri.
Kuka on DevOps-insinööri?
DevOps Engineer on joku, joka ymmärtää ohjelmistokehityksen elinkaaren ja jolla on suorat käsitykset erilaisista automaatiotyökaluista digitaalisten putkistojen (CI / CD-putkistojen) kehittämiseksi.
DevOps Engineer valvoo yhteistyössä kehittäjien ja IT-henkilöstön kanssa koodijulkaisuja. Ne ovat joko kehittäjiä, jotka ovat kiinnostuneita käyttöönotosta ja verkkotoiminnoista, tai järjestelmänvalvojia, joilla on intohimo komentosarjoille ja koodaukselle, ja siirtyvät kehityspuolelle, jossa he voivat parantaa testauksen ja käyttöönoton suunnittelua.
Joten kaikki oli minun puoleltani tässä artikkelissa Mikä on DevOps. Toivon, että olet ymmärtänyt kaiken, mistä olen keskustellut täällä. Jos sinulla on kysyttävää, mainitse se kommenttiosassa.
Seuraavassa on luettelo blogeista, jotka saattavat olla mielenkiintoisia:
Nyt kun olet ymmärtänyt Mikä on DevOps , tutustu Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Edureka DevOps -sertifikaattikurssi auttaa oppijoita ymmärtämään, mikä on DevOps, ja hankkimaan asiantuntemusta erilaisista DevOps-prosesseista ja työkaluista, kuten Puppet, Jenkins, Nagios, Ansible, Chef, Saltstack ja GIT SDLC: n useiden vaiheiden automatisoimiseksi.
Onko sinulla kysymys meille? Mainitse se kommenttiosassa ja palaamme sinuun.