A Folyamatos kézbesítés használata gyorsabb kiadáshoz, kisebb költségekkel és kockázatokkal
A Folyamatos kézbesítés a DevOps-osztályozás nyolc képessége közé tartozik.
Ismerje meg, miért van szükség a folyamatos kézbesítésre
2012-ben egy szoftvertelepítési hiba 460 millió dolláros veszteséget okozott a Knight Capital Groupnak, az amerikai részvények legnagyobb kereskedőjének.
A veszteségek a piac megnyitásakor kezdődtek. Nem voltak hibák a kódban – a problémát egy olyan hiba okozta, amely a manuális üzembe helyezés során történt a nyolc éles kiszolgálójuk közül csak egynek.
Amikor megpróbálták kijavítani, mind a nyolc kiszolgáló helytelenül lett konfigurálva – így még több pénzt vesztettek. Mivel az összes üzembe helyezés manuális volt, nem tudták automatikusan visszaállítani a módosításokat.
Miután 45 percig próbálta kijavítani a problémát, végül leállították a teljes rendszert. Abban az időben 460 millió dollárt vesztettek.
Ez egy igazi történet. Milyen hatással lenne a szervezetére? Manuális üzembe helyezést végez?
Talán az egyetlen legfontosabb kérdés, amelyet fel kell tenni, hogy segítsen megérteni a kézbesítés teljesítményét egy szervezetben:
Fontos
Mekkora az üzembe helyezési fájdalom az éles környezetben?
Az a félelem és szorongás, amelyet a mérnökök és a műszaki személyzet éreznek, amikor kódokat küldnek az éles környezetbe, sokat elárulhatnak a csapat szoftverkézbesítési teljesítményéről.
Mi a folyamatos kézbesítés?
Fontos
A Folyamatos teljesítés egy szoftvermérnöki megközelítés, amelyben a csapatok rövid ciklusokban állítanak elő szoftvereket, biztosítva, hogy a szoftver a következő legyen:
- Bármikor megbízhatóan kibocsátható
- Manuális kiadás
A folyamatos kézbesítés célja:
- Nagyobb sebességgel és gyakorisággal fejleszthet, tesztelhet és szabadít fel szoftvereket
- A módosítások költségének, időpontjának és kockázatának csökkentése azáltal, hogy több növekményes frissítést tesz lehetővé az éles alkalmazásokban
A folyamatos kézbesítés a következő esetekben történik:
- A szoftver üzembe helyezhető az életciklusa során
- A folyamatos integráció és a kiterjedt automatizálás a szállítási folyamat minden lehetséges részén keresztül elérhető, jellemzően egy üzembehelyezési folyamat használatával
- A szoftver bármely verziójának nyomógombos üzembe helyezését igény szerint bármilyen környezetben elvégezheti
A nagy manuális telepítések magas szintű kockázatot jelentenek azáltal, hogy drasztikusan növelik a kiadott szoftver összetettségét, ami növeli az emberi hibák valószínűségét, és megnehezíti az üzembe helyezési hibák azonosítását és orvoslását. Az üzembe helyezés gyakorisága alacsony, a módosítások átfutási ideje magas, a helyreállítás átlagos ideje hosszú, és magas a változáshibák aránya.
A kijelölt üzemeltetési csapat munkaidőn kívül hajtja végre a manuális üzembe helyezést. Manuális lépésdokumentumra és időre van szükségük a dokumentált lépések manuális teszteléséhez. A nagy üzemelő példányok végrehajtása is hosszabb időt vesz igénybe, sikertelenség esetén nehezebb visszahelyezni, és az üzembe helyezés után nagyobb tesztelési hatókörrel kell dolgozni. Az üzemelő példányonkénti módosítások száma nagyobb, és a visszajelzések végrehajtása több időt vesz igénybe.
A folyamat automatizálásával és annak lehetővé tételével, hogy a folyamatos kézbesítés előnyei jelentősek és számosak:
- Kevesebb hulladék
- Gyorsabb megtérülés
- Alacsonyabb kockázat
- Jobb minőség
- Korai visszajelzés
- Jobb tervezés
- Gyorsabb együttműködés
- Mindenki érintett
- Kevesebb éles probléma
- A bal oldali váltás lehetősége a biztonságra
- Sokkal gyorsabban alkalmazkodik és reagál
- Sokkal kiszámíthatóbb kiadások
- Üzembe helyezés bármely munkaidőben
- Gyorsabb válasz a piaci változásokra
- Jelentős késedelem nélkül leszállított változás
- A csapat bármely tagja kezdeményezhet üzembe helyezéseket
- Gyors, megismételhető és konfigurálható üzembe helyezés
A 2019-ben a DevOps-jelentés szerint a nagy teljesítményű DevOps-szervezetek az alacsony teljesítményhez képest a következő eredményeket érik el:
- Több mint 200-szor gyakoribb üzembe helyezés
- A módosítások több mint 100-szor gyorsabb átfutási ideje
- A helyreállítás több mint 2600-szor gyorsabb
- Hétszer alacsonyabb hibaarány
Emellett a CA Technologies globális tanulmánya szerint a szervezetek akár 20%-os javulást is elérnek a piacra lépéshez és a megnövekedett bevételhez.
Megjegyzés:
A folyamatos kézbesítés néha összekeveredik a folyamatos üzembe helyezéssel. A folyamatos üzembe helyezés azt jelenti, hogy minden változás végighalad a folyamaton, és automatikusan éles környezetbe kerül, ami naponta számos éles üzembe helyezést eredményez. A folyamatos teljesítés csak azt jelenti, hogy gyakori üzembe helyezéseket végezhet, de dönthet úgy, hogy nem, általában azért, mert a vállalkozások lassabb üzembe helyezést preferálnak. A folyamatos üzembe helyezéshez folyamatos kézbesítést kell végeznie.
A folyamatos integráció a folyamatos teljesítés előfeltétele. A jelenleg alkalmazott eljárások lehetővé teszik az alkalmazás bármikor és magas minőségben történő kiépítését és (megbízható) üzembe helyezését a forrásvezérlésből.