Kas yra „DevOps“? „DevOps“ metodika, paaiškinti principai ir etapai



Supraskite, kas yra „DevOps“ ir įvairūs „DevOps“ gyvavimo ciklo etapai. Šiame įraše taip pat pateikiami pavyzdžiai, paaiškinantys kiekvieną „DevOps“ etapą nuo kūrimo iki diegimo.

Jei dirbate IT pramonėje, tikriausiai girdėjote vieną populiariausių madingų žodžių, vadinamą „DevOps“. Jei norite tęsti karjerą „DevOps“, tai tikrai naudinga ir naudinga siekti . Prieš tęsdami toliau, aš jums pasiūlysiu peržiūrėti šiuos tinklaraščius:

10 populiariausių priežasčių mokytis „DevOps“





Daugelis didelių IT kompanijų pasirinko „DevOps“. Taigi šiame tinklaraštyje aptarsiu, kas iš tikrųjų yra „DevOps“, ir aptarsiu šiuos dalykus:



Kas yra „DevOps“?

  • Terminas „DevOps“ yra dviejų žodžių, būtent „Development“ ir „Operations“, derinys. „DevOps“ yra praktika, leidžianti vienai komandai valdyti visą programos kūrimo gyvavimo ciklą, tai yra kūrimą, testavimą, diegimą ir stebėjimą.

  • Galutinis „DevOps“ tikslas yra sutrumpinti sistemos kūrimo gyvavimo ciklo trukmę, kartu teikiant funkcijas, taisymus ir atnaujinimus, glaudžiai sinchronizuojant su verslo tikslais.

  • „DevOps“ yra programinės įrangos kūrimo metodas, kurio pagalba galite greitai ir patikimiau kurti aukščiausios kokybės programinę įrangą. Jį sudaro įvairūs etapai, tokie kaip nuolatinis tobulinimas, nuolatinė integracija, nuolatinis testavimas, nuolatinis diegimas ir nuolatinis stebėjimas.



Taigi, kas yra „DevOps“, pažvelkime į „DevOps“ istoriją.

„DevOps“ istorija

Prieš „DevOps“ mes turėjome du programinės įrangos kūrimo būdus, ty „Krioklys“ ir „Agile“.

Krioklio modelis

  • Krioklio modelis yra programinės įrangos kūrimo modelis, kuris yra gana tiesus ir tiesus. Šis modelis vadovaujasi požiūriu „iš viršaus į apačią“.

  • Šis modelis yra įvairus pradedant Reikalavimų rinkimas ir analizė . Tai etapas, iš kurio klientas gauna reikalavimus programai kurti. Po to bandote išanalizuoti šiuos reikalavimus.

  • Kitas etapas yra Dizainas etapas, kuriame ruošiate programinės įrangos projektą. Čia jūs galvojate apie tai, kaip iš tikrųjų atrodys programinė įranga.

  • Kai dizainas bus paruoštas, judėsite toliau su Įgyvendinimas fazę, kurioje pradedate nuo programos kodavimo. Kūrėjų komanda dirba kartu su įvairiais programos komponentais.

  • Baigę kurti programą, išbandysite ją Patikrinimas fazė. Taikomojoje programoje atliekami įvairūs bandymai, tokie kaip vieneto testavimas, integravimo testavimas, našumo testavimas ir kt.

  • Baigus visus programos bandymus, ji yra įdiegta į gamybos serverius.

  • Pagaliau ateina Priežiūra fazė. Šiame etape stebimas programos veikimas. Šiame etape sprendžiami visi su programos veikimu susiję klausimai.

Krioklio modelio privalumai:

  • Paprasta suprasti ir naudoti

  • Leidžia lengvai išbandyti ir analizuoti

  • Sutaupoma daug laiko ir pinigų

  • Gerai tinka mažiems projektams, jei visi reikalavimai yra aiškiai apibrėžti

  • Leidžia skirstyti į skyrius ir valdyti

Krioklio modelio trūkumai:

  • Rizikinga ir neaiški

  • Trūksta dabartinės pažangos matomumo

  • Netinka, kai reikalavimai nuolat keičiasi

  • Sunku keisti gaminį, kai jis yra bandymo etape

  • Galutinis produktas yra prieinamas tik ciklo pabaigoje

  • Netinka dideliems ir sudėtingiems projektams

Agile metodika

„Agile Methodology“ yra iteracinis programinės įrangos kūrimo metodas, kai programinės įrangos projektas yra suskirstytas į įvairias iteracijas arba sprintus. Kiekviena iteracija turi tokias fazes kaip krioklio modelis, pvz., Reikalavimų rinkimas, Projektavimas, Kurimas, Testavimas ir Priežiūra. Kiekvienos kartojimo trukmė paprastai yra 2–8 savaitės.

Vikrus procesas

  • „Agile“ kompanija išleidžia programą su kai kuriomis svarbiausiomis funkcijomis per pirmąjį kartojimą.

  • Po jos išleidimo galutiniai vartotojai arba klientai pateikia atsiliepimus apie programos našumą.

  • Tada atliksite reikiamus programos pakeitimus kartu su keliomis naujomis funkcijomis ir programa vėl bus išleista, tai yra antroji kartojimas.

  • Pakartosite visą šią procedūrą, kol pasieksite norimą programinės įrangos kokybę.

Judriojo modelio pranašumai

  • Jis adaptyviai reaguoja į reikalavimų pokyčius palankiai

  • Ištaisius klaidas ankstyvame kūrimo procese, šis procesas tampa ekonomiškesnis

  • Pagerina produkto kokybę ir daro jį be klaidų

  • Leidžia tiesiogiai bendrauti tarp žmonių, dalyvaujančių programinės įrangos projekte

  • Labai tinka dideliems ir ilgalaikiams projektams

  • Minimalūs išteklių poreikiai ir labai lengva valdyti

Agile modelio trūkumai

  • Labai priklauso nuo aiškių klientų reikalavimų

  • Gana sunku numatyti didesnių projektų laiką ir pastangas

    java kas yra žetonas
  • Netinka sudėtingiems projektams

  • Trūksta dokumentų efektyvumo

  • Padidėjusi išlaikymo rizika

Dabar pereikime ir aptarkime „DevOps“ etapus ir įrankius.

„DevOps“ etapai ir įrankiai

Kaip minėta anksčiau, „DevOps“ gyvavimo ciklą sudaro įvairūs etapai, tokie kaip nuolatinis tobulinimas, nuolatinė integracija, nuolatinis testavimas, nuolatinis diegimas ir nuolatinis stebėjimas. Dabar po vieną pažvelkime į kiekvieną „DevOps“ gyvavimo ciklo etapą.

1 etapas: nuolatinė plėtra

Naudojami įrankiai: „Git“, SVN, „Mercurial“, CVS

Proceso eiga:

  • Tai etapas, apimantis programinės įrangos „planavimą“ ir „kodavimą“. Projekto viziją nuspręsite planavimo etape, o kūrėjai pradeda kurti programos kodą.

  • Nėra „DevOps“ įrankiai kurios reikalingos planuojant, tačiau yra keletas įrankių kodui palaikyti.

  • Kodas gali būti bet kokia kalba, tačiau jį prižiūrite naudodami versijų valdymo įrankius. Šis kodo palaikymo procesas yra vadinamas „Source Code Management“.

    hashmap ir hashtable java
  • Sukūrus kodą, pereinama prie tęstinės integracijos fazės.

2 etapas: nuolatinė integracija

Įrankiai: „Jenkins“, „TeamCity“, „Travis“

Proceso eiga:

  • Šis etapas yra viso „DevOps“ gyvavimo ciklo esmė. Tai yra praktika, kai kūrėjai reikalauja dažniau keisti šaltinio kodą. Tai gali būti kasdien arba kas savaitę.

  • Tada sukursite kiekvieną įsipareigojimą ir tai leis anksti aptikti problemas, jei jų yra. Statybos kodeksas apima ne tik kompiliavimą, bet ir kodo peržiūrą, vieneto testavimą, integravimo bandymą ir pakavimą.

  • Naujas funkcionalumą palaikantis kodas yra su esamu kodu. Kadangi nuolat tobulinama programinė įranga, atnaujintą kodą turite nuolat ir sklandžiai integruoti į sistemas, kad atspindėtumėte pokyčius galutiniams vartotojams.

  • Šiame etape naudojate įrankius, kad sukurtumėte / įpakuotumėte kodą į vykdomąjį failą, kad galėtumėte jį persiųsti į kitus etapus.

3 etapas: nuolatinis testavimas

Įrankiai: „Jenkins“, „Selenium TestNG“, „JUnit“

Proceso eiga:

  • Tai yra etapas, kai jūs nuolat bandote sukurtą programinę įrangą, ar nėra klaidų, naudodami automatikos testavimo įrankius. Šie įrankiai leidžia kokybės užtikrinimo tarnyboms lygiagrečiai išbandyti kelias kodų bazes, kad būtų užtikrinta, jog nėra funkcijų trūkumų. Šiame etape bandymo aplinkai imituoti galite naudoti „Docker Containers“.

  • Selenas naudojamas automatikos bandymams, o ataskaitas sugeneruoja TestNG . Visą šį bandymo etapą galite automatizuoti naudodami nuolatinės integracijos įrankį, vadinamą „Jenkins“.

  • Tarkime, kad parašėte seleno kodą „Java“, kad išbandytumėte savo programą. Dabar galite sukurti šį kodą naudodami skruzdėlę arba „maven“. Kai sukursite kodą, patikrinsite, ar jis nepriėmė vartotojo priėmimo testavimo (UAT). Visą šį procesą galima automatizuoti naudojant Jenkinsas .

4 etapas: nuolatinis diegimas

Naudoti įrankiai:

Konfigūracijos valdymas - virėjas, lėlė, įmanomas

Konteineriai - dokeris, valkata

Proceso eiga:

  • Tai etapas, kai diegiate kodą gamybos serveriuose. Taip pat svarbu užtikrinti, kad tinkamai įdiegėte kodą visuose serveriuose. Prieš eidami toliau, pabandykime suprasti keletą dalykų apie konfigūracijos valdymą ir Konteinerių įrankiai . Šie įrankių rinkiniai čia padeda pasiekti nuolatinį diegimą (CD).

  • Konfigūracijos valdymas yra programos funkcinių reikalavimų ir našumo nustatymo ir palaikymo veiksmas. Leiskite man tai pasakyti paprasčiau, tai yra diegimo išleidimas į serverius, atnaujinimų planavimas visuose serveriuose ir svarbiausia, kad konfigūracijos būtų vienodos visuose serveriuose.

  • Konteinerių talpinimo priemonės taip pat vaidina ne mažiau svarbų vaidmenį diegimo etape. Konteinerių įrankiai padeda užtikrinti nuoseklumą visose kūrimo, bandymo, etapavimo ir gamybos aplinkose. Be to, jie taip pat padeda greitai padidinti ir sumažinti atvejų skaičių.

5 etapas: nuolatinis stebėjimas

Naudoti įrankiai: Splunk, ELK Stack, Nagios, New Relic

Proceso eiga:

  • Tai labai kritinis „DevOps“ gyvavimo ciklo etapas, kai jūs nuolat stebite savo programos našumą. Čia įrašote svarbiausią informaciją apie programinės įrangos naudojimą. Tada apdorosite šią informaciją, kad patikrintumėte tinkamą programos funkcionalumą. Šiame etape išsprendžiate sistemos klaidas, pvz., Mažai atminties, nepasiekiamas serveris ir kt.

  • Ši praktika apima „Operations“ komandos dalyvavimą, kuri stebės vartotojo veiklą, ar nėra klaidų ar netinkamo sistemos elgesio.Nuolatinio stebėjimo įrankiai padeda atidžiai stebėti programos veikimą ir serverius, taip pat leidžia aktyviai patikrinti sistemos būklę.

Galiausiai aptarsime, kas iš tikrųjų yra „DevOps“ inžinierius.

Kas yra „DevOps“ inžinierius?

„DevOps“ inžinierius supranta programinės įrangos kūrimo gyvavimo ciklą ir visiškai supranta įvairias automatizavimo priemones, skirtas kurti skaitmeninius vamzdynus (CI / CD vamzdynus).

„DevOps Engineer“ bendradarbiauja su kūrėjais ir IT darbuotojais prižiūrint kodų išleidimus. Tai yra kūrėjai, kurie domisi diegimu ir tinklo operacijomis, arba sisteminiai administratoriai, kurie aistringai rašo scenarijus ir koduoja ir pereina į kūrimo pusę, kur gali pagerinti bandymų ir diegimo planavimą.

Taigi viskas buvo iš mano pusės šiame straipsnyje apie tai, kas yra „DevOps“. Tikiuosi, kad supratote viską, ką čia aptariau. Jei turite klausimų, maloniai paminėkite tai komentarų skyriuje.

Toliau pateikiamas tinklaraščių, kurie jums gali būti įdomūs, sąrašas:

  1. Nuolatinio pristatymo pamoka
  2. „Docker“ konteinerių pamoka
  3. Lėlių pamoka

Dabar, kai supratai Kas yra „DevOps“ , patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Edureka DevOps“ sertifikavimo mokymo kursas padeda besimokantiesiems suprasti, kas yra „DevOps“, ir įgyti patirties įvairiuose „DevOps“ procesuose ir įrankiuose, pvz., „Puppet“, „Jenkins“, „Nagios“, „Ansible“, „Chef“, „Saltstack“ ir „GIT“, skirtuose automatizuoti kelis SDLC veiksmus.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime.