DevOps bevezetés kezdőknek

A DevOps divatszóvá vált, ami sok ember számára sokféle dolgot jelent.

Nehéz megérteni és meghatározni, hogy mi is pontosan a DevOps. Ezért van az, hogy ha ismeri a DevOps alapfogalmait, amelyekkel a legtöbb ember társítja, és a fejlődés történetét, akkor holisztikus képet kapjon róla.

A DevOps eredete

A DevOps az agilis szoftverfejlesztés tökéletes példája. A DevOps ötlete abból adódott, hogy lépést kell tartani a megnövekedett szoftversebességgel, és azt agilis módszerekkel elérni. Az elmúlt évtizedben az agilis kultúra és gyakorlatok hatalmas fejlődése felfedte a teljes körű szoftverszállítási életciklus holisztikusabb megközelítésének követelményét.

Kíváncsi lehet, hogy mi az agilis szoftverfejlesztés –

Az agilis fejlesztés tág fogalom, amely számos iteratív és inkrementális szoftverfejlesztési módszert definiál. A népszerű agilis módszerek a Scrum, a Kanban, a Scaled Agile Framework® (SAFe®), a Lean Development és az Extreme Programming (XP).

Ezeknek az agilis módszertanoknak az alapértékei és víziója megegyezik, de mindegyiknek egyedi a megközelítése. Mindezek a módszerek iterációkat és folyamatos visszacsatolást foglalnak magukban a skálázható szoftverek sikeres finomítása és szállítása érdekében. Mindezek a módszerek folyamatos tervezést, folyamatos tesztelést, folyamatos integrációt és egyéb végtelen formákat foglalnak magukban mind a projekt, mind a szoftver esetében.

A hagyományos vízesés-stílusú eljárásoktól eltérően ezek az agilis módszerek könnyűek, és eleve alkalmazkodó természetük van. Az egyik legjobb dolog ezekben az agilis módszerekben, hogy mindannyian arra összpontosítanak, hogy az embereket képessé tegyék az együttműködésre és a közös gyors döntések meghozatalára.

Kép: Segue

A DevOps ideáljai a kiterjesztett agilis fejlesztési gyakorlatot hajtják végre, hogy finomítsák a szoftverváltoztatás mozgását a felépítésen, az érvényesítésen, a telepítésen és a szállítás különböző szakaszaiban. Lehetővé teszi a többfunkciós csapat számára, hogy a szoftvertermék teljes tulajdonjogát birtokolja a tervezéstől a gyártásig.

A DevOps által megoldott kihívások

Telepítési folyamat – Az elosztott alkalmazások gyakran megkövetelik a bináris és konfigurációs fájlok telepítését több szerverre. Ez nagyobb kihívást jelent, ha szerverfarmmal rendelkezik. Nagy kihívást jelent kitalálni, hogy mit, hogyan és hova telepítsünk. A nyilvánvaló eredmény?

  Mentse, jegyezze fel és ossza meg webes kivonatokat Androidon a Nimbus Clipper segítségével

A hosszan tartó várakozás, hogy a műtermékek az útvonal következő környezetébe kerüljenek, késlelteti az eseményeket, például a tesztelést, az életidőt stb.

A DevOps lehetővé teszi a szoftver- vagy webfejlesztők és az IT-műveletek számára, hogy egy teljesen hibátlan együttműködési munkamenetben telepítsenek folyamatokat. Lehetővé teszi számunkra, hogy ellenőrizzük, mi működik, majd az automatizálással a következő szintre emeljük a folyamatos fejlesztés érdekében. Lehetőséget teremt a gyakoribb fejlesztésre is.

DevOps célok

Javítja az érdekelt felek közötti együttműködést a tervezéstől a szállításig, és megvalósítja a szállítási folyamat automatizálását, hogy:

  • Javítsa a telepítés gyakoriságát
  • Gyorsabb idő elérése a végtermék forgalomba hozatalához
  • Csökkenti az új kiadások meghibásodási arányát
  • Lerövidíti a javítások közötti átfutási időt
  • Javítja az időközbeni helyreállítási célt

Gyakori DevOps forgatókönyv

Az egész szoftver a találkozási ponthoz érkezik egy új szoftverprojekt elindítása előtt. A csapat fejlesztőkből, tesztelőkből, üzemeltetési és támogató szakemberekből áll. A csapat tervet készít egy teljesen működőképes szoftver létrehozására, amely készen áll a telepítésre.

Minden nap új kód kerül telepítésre, amint a fejlesztők befejezik. Az automatizált tesztelési eljárás biztosítja, hogy a kód készen álljon a megvalósításra. Amint a kód megkapja a zöld jelet az automatizálási tesztelési folyamatból, kis számú felhasználó számára kerül telepítésre. A kódot rövid ideig figyelik, hogy ne forduljanak elő előre nem látható problémák, és hogy stabil legyen. Az új kódot ezután telepítik a többi felhasználóra, miután a végső megfigyelés azt mutatta, hogy a kód stabil. A tervezés és fejlesztés utáni lépések jelentős része emberi beavatkozás nélkül történik.

A DevOps érettségének különböző fázisai

A DevOps érettségének számos különböző fázisa van. Íme a kulcsmondatok, amelyeket tudnia kell.

Vízesés fejlesztése

A folyamatos integráció előtt a fejlesztőcsapatok hatalmas mennyiségű kódot írtak, majd a különböző csapatoktól származókat összevonták a kiadáshoz. A kód verziói annyira eltérőek voltak, hogy korábban nagyszámú változtatást igényeltek.

  A rendszer földrajzi helyének meghatározása Bash-szkriptből

Az ilyen számú változtatás végrehajtása több mint néhány hónapot vesz igénybe. Ez a folyamat nem volt produktív.

Folyamatos integráció

Ez egy újonnan kifejlesztett kód gyors integrálásának gyakorlata a fő kiadandó kóddal. Ha a kód kiadásáról van szó, a folyamatos fejlesztés rengeteg időt takarít meg.

A DevOps nem vezette be ezt a kifejezést. A folyamatos integráció az Extreme Programming módszertanból származó agilis mérnöki gyakorlat. A DevOps azért alkalmazta ezt a gyakorlatot, mert a folyamatos integráció sikeres végrehajtásához automatizálásra van szükség. A folyamatos integráció gyakran az első a DevOps érettsége felé vezető úton.

A folyamatos integráció a DevOps szemszögéből olyan lépéseket tartalmaz, mint a kód ellenőrzése, használható kóddá fordítása és néhány szükséges érvényesítési teszt futtatása. ‘

Folyamatos szállítás

Ez a folyamatos integráció kiterjesztése és a második DevOps szakasz.

A Folyamatos kézbesítés lehetővé teszi további automatizálás és tesztelés hozzáadását, így nemcsak gyorsan egyesítheti a kódot a fő kódsorral, hanem emberi beavatkozás nélkül is majdnem készen áll a bevetésre.

Gyakorlatilag a kódbázist szinte üzembe helyezésre kész állapotban kell tartani.

Folyamatos telepítés

A folyamatos üzembe helyezés a folyamatos szállítás fejlett evolúciója. Ez a gyakorlat lehetővé teszi számunkra, hogy minden módot bevethessünk a termelésbe emberi beavatkozás nélkül.

A folyamatos fejlesztésen dolgozó csapat soha nem telepít semmilyen kódot tesztelés nélkül. Az összes újonnan létrehozott kód automatikus tesztelésen megy keresztül, mielőtt a gyártási szakaszba kerül. A kódot kis számú felhasználónál telepítik, és van egy automatikus visszacsatolási hurok, amely figyeli a minőséget és a felhasználást, mielőtt a kód a következő szintre lépne.

Néhány cég, mint például a Netflix, Etsy, Amazon, Pinterest, Flicker, IMVU, Google stb., folyamatosan fejleszt.

Az érték

A DevOps nagy hangsúlyt fektet az együttműködési kultúra fejlesztésére és a hatékonyság javítására a különböző DevOps-eszközökkel végzett automatizálás révén. A DevOps szoftvermegoldásban való megvalósításához a kultúra és az eszközök kombinációját kell használnia.

  Jegyzetek hozzáadása a Photoshop fájlokhoz

DevOps kultúra

A DevOps egy különleges kultúra, amely segít az együttműködés fokozásában, a káosz csökkentésében, a megosztott felelősségek jobb kezelésében, az automatizálás megvalósításában, a minőségfejlesztésben, a visszajelzések értékelésében és az automatizálás növelésében.

Az agilis módszerek mindig is a legjobb holisztikus módjai voltak a szoftverszállításnak. Az előrehaladás mérését az agilis fejlesztőcsapat a működő szoftverek tekintetében teszi. A DevOps kultúra agilis módszere lehetővé teszi, hogy a terméktulajdonosok, fejlesztők, tesztelők és UX-emberek szorosan együttműködjenek, ugyanazt a célt szem előtt tartva.

DevOps eszközök

Tartalmazza a konfigurációkezeléshez, a teszteléshez és a rendszerek kiépítéséhez, az alkalmazások fejlesztéséhez, a verziók vezérléséhez és a felügyelethez szükséges eszközöket. Amikor a Folyamatos integráció, a Folyamatos szállítás és a Folyamatos Telepítés megvalósításáról van szó, különböző eszközöket igényelnek, és ugyanakkor ugyanazokat az eszközöket is használják. A szállítási láncon haladva több eszközt kell használnia.

Ismerkedjünk meg néhány népszerű eszközzel és gyakorlattal.

Forráskód tároló – ez az a hely, ahol a fejlesztők bejelentkezhetnek és módosíthatják a kódot. A forráskód-tárház a bejelölt kód különböző verzióit kezeli, így megbizonyosodhat arról, hogy a fejlesztők egymás kódját írják át.

A Git, az Apache Subversion, az IBM Rational, az Artifactory, a Nexus, az Eclipse stb. a népszerű kódtároló eszközök közé tartozik.

Build szerver: – a build szerver az automatizálási eszköz, amely a forráskód-kilégzésben lévő kódnak a végrehajtható kódbázisba való fordítására szolgál. A gyakran használt build szervereszközök közül néhány a Jenkins, a SonarQube és az Artifactory.

Konfigurációkezelés – Puppet, Chef, Ansible, SaltStack, Run Deck stb. segít az alkalmazások és az infrastruktúra konfigurációjának kezelésében a környezetek közötti konzisztencia fenntartása érdekében.

Virtuális infrastruktúra – az AWS, a GCP és az Azure a három legnépszerűbb nyilvános felhőszolgáltató, amely szinte minden infrastrukturális szolgáltatást kínál. API-t kínálnak, amely lehetővé teszi az infrastruktúra létrehozását és kódként történő kezelését.

Következtetés

Remélem, ötletet ad a DevOps-ról, és ha ez felkelti az érdeklődésedet, akkor kipróbálhatod ezt az online mesterkurzust.

Payal Goyal cikke