Folyamatos teljesítés és folyamatos üzembe helyezés

Ezzel a két automatizálási eljárással gyorsan juttathat el kiváló minőségű kódot az ügyfelekhez.

Mi a folyamatos teljesítés és a folyamatos üzembe helyezés?

A folyamatos integráció, a folyamatos szállítás és a folyamatos üzembe helyezés mellett használatosak olyan eljárások is, amelyekkel automatizálni lehet a szoftverszállítás fázisait. Ezekkel a gyakorlatokkal a fejlesztői csapatok új funkciókat, fejlesztéseket és javításokat juttathatnak el az ügyfelekhez gyorsabban, pontosabban és hatékonyabban.

A folyamatos teljesítés és a folyamatos üzembe helyezés sokban hasonlít. Ha meg szeretné érteni a különbséget a két eljárás között – és szeretné megtudni, melyiket célszerű bevezetnie –, azonosítania kell az automatizálható szoftverszállítási fázisokat.

A szoftverszállítási folyamat automatizálása

A fogyasztók egyre nagyobb mértékű személyre szabhatóságot és biztonságot várnak el a termékektől. Az ezen igénynek való megfelelés és a gyorsabb szoftverszállítás érdekében a fejlesztői csoportok DevOps-kultúrát építhetnek ki.

A DevOps-kultúra lebontja az elszigetelten működő területek közti határokat, és egyesíti az embereket, a folyamatokat és a technológiákat a hatékonyabb együttműködés érdekében. Ennek eredményeképpen a kódmódosítások és az ügyfelek új értékei a lehető leghamarabb életbe lépnek.

Bár a DevOps-környezetben szorosan együttműködik a fejlesztési, informatikai, minőségirányítási és biztonsági csoport, a szoftverszállítási folyamat így is rendkívül összetett. A DevOps négy fázisba rendezi a szoftverszállítást: tervezés, fejlesztés, szállítás, üzembe helyezés és működés.

Szoftverszállítás a DevOpsban

Automatizálás nélkül a fejlesztői csapatoknak manuálisan kell létrehozniuk, tesztelniük és üzembe helyezniük a szoftvereket, így a következő feladatokat kell elvégezniük:

  • A kód ellenőrzése, tesztelése és érvényesítése.
  • Kódmódosítások egyesítése a főággal.
  • A kód éles üzemhez való előkészítése.
  • Egy üzembe helyezhető munkadarab létrehozása.
  • A kód leküldése az éles környezetbe.

Automatizálható fázisok

A folyamatos integráció, a folyamatos szállítás és a folyamatos üzembe helyezés olyan eljárások, amelyekkel automatizálhatók a fejlesztési és szállítási fázisok. Mindegyik eljárás egy lépéssel továbbviszi az automatizálás mértékét, a folyamatos integrációtól kezdve.

A különbség a folyamatos teljesítés és a folyamatos üzembe helyezés között

Folyamatos integráció

A folyamatos teljesítés és folyamatos üzembe helyezés ismertetéséhez elsőként a folyamatos integrációval kezdjük. A folyamatos integrációval a fejlesztési fázis (a kód buildelése és tesztelése) teljes mértékben automatizált. Minden alkalommal, amikor véglegesíti a kódot, a módosítások érvényesülnek és beépülnek a főágba, a rendszer pedig egy buildelési munkadarabba csomagolja a kódot.

Folyamatos készregyártás

A folyamatos teljesítés automatizálja a következő szakaszt, a teljesítést. A folyamatos szállítással a rendszer az újonnan elérhetővé váló buildelési munkadarabokat üzembe helyezi a kívánt környezetben.

Folyamatos integráció és folyamatos teljesítés (CI/CD)

Ha egy csapat a folyamatos integrációt és a folyamatos teljesítést is bevezeti (CI/CD), automatizálják a fejlesztési és teljesítési fázist. A kód bármikor készen áll az éles környezetben való használatra. A csapatoknak csak manuálisan aktiválniuk kell a fejlesztésről az üzembe helyezésre való átállást – így elérhetővé téve az automatizált buildelési munkadarabot az automatikus üzembe helyezéshez –, ami akár egyetlen gombnyomással elvégezhető.

Folyamatos üzembe helyezés

A folyamatos üzembe helyezéssel a kódtól a véglegesítésig a teljes folyamat automatizálva lesz. A fejlesztési és teljesítési fázisok közötti aktiváló automatikus, a kódmódosítások így az érvényesítés és a sikeres tesztelés után lépnek életbe. Ez azt jelenti, hogy az ügyfelek azonnal megkapják a fejlesztéseket, amint azok elérhetővé válnak.

Folyamatos teljesítés és folyamatos üzembe helyezés: melyiket érdemes választani?

Akár a folyamatos teljesítést, akár a folyamatos fejlesztést választja, igénybe vehet ezeket támogató eszközöket.

Mielőtt eldöntené, hogy melyik eljárást szeretné bevezetni, derítse ki, hogy szervezete rendelkezik-e a támogatásához szükséges DevOps-kultúrával. Mivel a DevOps-csapatok a teljes szoftverszállítási folyamat automatizálására törekszenek, ezután nem arra kell összpontosítania, hogy melyik megoldás jobb az Ön számára. Tegye fel inkább ezt a kérdést magának: „Szükségünk van manuális eseményindítóra a folyamatos integráció és a folyamatos teljesítés között?”

A megfelelő választ keresve útmutatást kaphat az alábbi kérdésektől:

  • Elvégezheti az üzembe helyezést az érintettek jóváhagyása nélkül?
  • A rendszer- és korlátozási követelmények megengedik a végpontok közötti automatizálást?
  • Képes apránként közzétenni az éles változásokat az ügyfelek számára?
  • Gyorsan válaszol a szervezete az éles környezet hibáira?

Ha az összesre igennel válaszolt, célszerű lehet bevezetnie a folyamatos üzembe helyezést, és teljes mértékben automatizálnia a szoftverszállítást – a kódvéglegesítéstől az éles üzemig.

Ha bármelyikre nemmel válaszolt, lehetséges, hogy folyamatos integrációt és teljesítést (CI/CD) kell bevezetnie. Az éles üzemre kész, jóváhagyásra váró kód létrehozásának automatizálását később is megteheti. Idővel fokozatosan bevezetheti a folyamatos üzembe helyezést és a szoftverszállítási folyamat teljes automatizálását.

Mindkét esetben kiélvezheti az eljárások közös előnyeit:

  • A módosításokat a rendszer automatikusan felépíti, ellenőrzi és teszteli.
  • A kód mindig telepíthető, így nem kell aggódnia a kiadás napján.
  • A kiadások gyorsabban fogadják az érintettek és az ügyfelek visszajelzéseit.
  • A fejlesztők hatékonyabban dolgozhatnak kevesebb manuális és adminisztratív feladattal.
  • Mivel a változások kicsik és gyakoriak, a hibák ritkák, és csak minimális instabilitást idéznek elő.

A folyamatos integráció, folyamatos teljesítés és folyamatos üzembe helyezés eszközei

A DevOps-csapatok eszközláncokat (egymáshoz kapcsolódó szoftverfejlesztési programokat) alkalmaznak a szoftverszállítás automatizálására. A használandó eszközök a választott automatizálási eljárástól, valamint az eljárás által automatizált fázisoktól függnek. Íme néhány példa.

DevOps-használat megkezdése az Azure-ban

Megismerkedhet a folyamatos teljesítési és folyamatos fejlesztési eszközökkel, valamint a felhőben egyéb DevOps-eljárásokat megkönnyítő eszközökkel.