Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A DevOps egyesíti a fejlesztést (Dev) és az operatív műveleteket (Ops), hogy egyesítse az embereket, a folyamatokat és a technológiát az alkalmazástervezésben, fejlesztésben, kézbesítésben és műveletekben. A DevOps lehetővé teszi az olyan korábban silózott szerepkörök közötti koordinációt és együttműködést, mint a fejlesztés, az informatikai műveletek, a minőségfejlesztés és a biztonság.
A Teams devOps-kultúrát, gyakorlatokat és eszközöket alkalmaz az általuk épített alkalmazásokba vetett bizalom növelése, az ügyfelek igényeinek jobb kielégítése és az üzleti célok gyorsabb elérése érdekében. A DevOps segítségével a csapatok folyamatosan értéket biztosíthatnak az ügyfeleknek jobb, megbízhatóbb termékek előállításával.
A DevOps és az alkalmazás életciklusa
A DevOps a tervezési, fejlesztési, kézbesítési és üzemeltetési fázisok során befolyásolja az alkalmazás életciklusát. Minden fázis a többi fázisra támaszkodik, és a fázisok nem szerepkörspecifikusak. A DevOps-kultúra bizonyos mértékig minden szerepkört magában foglal az egyes fázisokban.
Az alábbi ábra a DevOps-alkalmazás életmódjának fázisait mutatja be:
DevOps-célok és előnyök
Amikor egy csapat devOps-kultúrát, gyakorlatokat és eszközöket alkalmaz, lenyűgöző dolgokat érhet el:
Gyorsabb piacra jutási idő
A nagyobb hatékonyság, a továbbfejlesztett csapatmunka, az automatizálási eszközök és a folyamatos üzembe helyezés révén a csapatok gyorsan csökkenthetik a termék bevezetésétől a piaci bevezetésig eltelt időt.
Alkalmazkodás a piachoz és a versenyhez
A DevOps-kultúra megköveteli, hogy a csapatok az ügyfélközpontúságra összpontosítsanak. Az agilitás, a csapatmunka és az ügyfélélményre való összpontosítás révén a csapatok folyamatosan értéket biztosíthatnak ügyfeleiknek, és növelhetik versenyképességüket a piactéren.
A rendszer stabilitásának és megbízhatóságának fenntartása
A folyamatos fejlesztési eljárások alkalmazásával a csapatok nagyobb stabilitást és megbízhatóságot építhetnek ki az általuk üzembe helyezendő termékek és szolgáltatások számára. Ezek a gyakorlatok segítenek csökkenteni a hibákat és a kockázatokat.
A helyreállítás átlagos idejének javítása
A helyreállítás átlagos ideje metrika azt jelzi, hogy mennyi ideig tart a helyreállítás egy hibából vagy incidensből. A szoftverhibák, a biztonsági incidensek és a folyamatos fejlesztési tervek kezelése érdekében a csapatoknak mérnie kell és dolgoznia kell a metrikák fejlesztésén.
DevOps-kultúra bevezetése
A DevOps teljes körű implementálásához devOps-kultúrát kell alkalmaznia. A DevOps-kultúra ápolásához mélyreható változásokra van szükség az emberek munka és együttműködés terén. Amikor a szervezetek elkötelezik magukat egy DevOps-kultúra mellett, létrehoznak egy környezetet a nagy teljesítményű csapatok fejlődéséhez. A DevOps-gyakorlatok alkalmazása automatizálja és optimalizálja a folyamatokat a technológián keresztül, anélkül, hogy a szervezeten és a munkatársain belül a DevOps-kultúrára váltanak, nem fogja kihasználni a DevOps előnyeit.
Az alábbi kép a Microsoft élő webhelykultúrájának főbb aspektusait rögzíti.
Az alábbi eljárások a DevOps-kultúra fő összetevői:
- Együttműködés, láthatóság és igazítás: Az egészséges DevOps-kultúra egyik jellemzője a csapatok közötti együttműködés. Az együttműködés láthatósággal kezdődik. A fejlesztési, informatikai és egyéb csapatoknak meg kell osztaniuk egymással a DevOps-folyamataikat, prioritásaikat és aggályaikat. A közös munka megtervezésével jobban igazodnak az üzleti célokhoz és a sikerhez.
- A hatókör és az elszámoltathatóság eltolódása: A csapatok egymáshoz igazodva átveszik a tulajdonjogot, és más életciklus-fázisokban is részt vesznek – nem csak a szerepköreik szempontjából központi szerepet játszókban. A fejlesztők például nem csak a fejlesztési fázisban létrehozott innováció és minőség, hanem a működési fázisban végbemenő teljesítmény és stabilitás miatt is elszámoltathatók lesznek. Ugyanakkor az informatikai operátorok minden bizonnyal belefoglalják a szabályozási, biztonsági és megfelelőségi folyamatokat a tervbe és a fejlesztési fázisba.
- Rövidebb kiadási ciklusok: A DevOps-csapatok agilisak maradnak, ha rövid ciklusokban bocsátanak ki szoftvereket. A rövidebb kiadási ciklusok megkönnyítik a tervezést és a kockázatkezelést, mivel az előrehaladás növekményes, ami szintén csökkenti a rendszer stabilitására gyakorolt hatást. A kiadási ciklus lerövidítésével a szervezetek alkalmazkodhatnak és reagálhatnak a változó ügyféligényekre és a versenyterhelésre.
- Folyamatos tanulás: A nagy teljesítményű DevOps-csapatok növekedési gondolkodásmódot hoznak létre. Gyorsan meghiúsulnak, és a folyamatukba beépítik a tanulást. Arra törekszenek, hogy folyamatosan fejlessze, növelje az ügyfelek elégedettségét, és felgyorsítsa az innovációt és a piac alkalmazkodóképességét.
DevOps-eljárások implementálása
A DevOps implementálásához kövesse a DevOps-eljárásokat (az alábbi szakaszokban leírtak szerint) az alkalmazás teljes életciklusa során. Ezen eljárások némelyike segít felgyorsítani, automatizálni és javítani egy adott fázist. Mások több fázisra is kiterjednek, így a csapatok zökkenőmentes folyamatokat hozhatnak létre, amelyek javítják a termelékenységet.
Folyamatos integráció és folyamatos teljesítés (CI/CD)
A folyamatos integráció (CI) a fejlesztői csapatok által a kód automatizálására, egyesítésére és tesztelésére használt gyakorlat. A CI segít elkapni a hibákat a fejlesztési ciklus korai szakaszában, ami kevésbé költséges a javításukhoz. Az automatizált tesztek a CI-folyamat részeként futnak a minőség biztosítása érdekében. A CI-rendszerek artifaktumokat hoznak létre, és a kiadási folyamatoknak megfelelően táplálják őket, hogy gyakori üzembe helyezéseket hajtsanak végre.
A folyamatos szállítás (CD) egy olyan folyamat, amelyben a kód felépítésre kerül, tesztelésre kerül, és telepítésre kerül egy vagy több tesztelési és éles környezetbe. A több környezetben történő üzembe helyezés és tesztelés növeli a minőséget. A CD-rendszerek üzembe helyezhető összetevőket hoznak létre, beleértve az infrastruktúrát és az alkalmazásokat is. Az automatizált kiadási folyamatok ezeket az összetevőket felhasználva új verziókat és javításokat bocsátanak ki a meglévő rendszerekre. A rendszerek, amelyek a monitorozást és riasztások küldését végzik, folyamatosan futnak, hogy növeljék a láthatóságot a teljes CD-folyamat során.
Verziókövetés
A verziókövetés a kódok verziókban való kezelésének gyakorlata– a korrektúrák és a változáselőzmények nyomon követése, hogy a kód könnyen áttekinthető és helyreállítható legyen. Ezt a gyakorlatot általában verziókövetési rendszerek, például a Git használatával implementálják, amelyek lehetővé teszik, hogy több fejlesztő együttműködjön a kódkészítésben. Ezek a rendszerek egyértelmű folyamatot biztosítanak az azonos fájlokban előforduló kódmódosítások egyesítéséhez, az ütközések kezeléséhez és a korábbi állapotok módosításainak visszaállításához.
A verziókövetés használata alapvető DevOps-gyakorlat, amely segít a fejlesztői csapatok együttműködésében, a kódolási feladatok csapattagok közötti megosztásában, és szükség esetén az összes kód tárolásában a könnyű helyreállítás érdekében. A verziókövetés más eljárások, például a folyamatos integráció és az infrastruktúra kódként való használatához is szükséges elem.
Agilis szoftverfejlesztés
Az Agile egy szoftverfejlesztési megközelítés, amely a csapat együttműködését, az ügyfelek és a felhasználók visszajelzéseit, valamint a rövid kiadási ciklusok közötti változáshoz való nagy alkalmazkodóképességet hangsúlyozza. Az Agile-t gyakorló csapatok folyamatosan módosítják és fejlesztik az ügyfeleket, összegyűjtik visszajelzéseiket, majd az ügyfelek igényeinek és igényeinek megfelelően tanulnak és alkalmazkodnak. Az agilis lényegesen eltér más hagyományos keretrendszerekhez képest, mint például a vízesés modell, ami szekvenciális fázisok által meghatározott hosszú kiadási ciklusokat tartalmaz. A Kanban és a Scrum az Agile két népszerű keretrendszere.
Infrastruktúra mint kód
A kódként használt infrastruktúra leíró módon határozza meg a rendszererőforrásokat és a topológiákat, így a csapatok úgy kezelhetik ezeket az erőforrásokat, ahogyan azok kódolódnának. Ezek a definíciók a verziókövetési rendszerekben is tárolhatók és módosíthatók, ahol áttekinthetők és visszaállíthatók – például kód.
Az infrastruktúra kódként való gyakorlásával a csapatok megbízható, megismételhető és szabályozott módon helyezhetik üzembe a rendszererőforrásokat. Az infrastruktúra kódként is segít automatizálni az üzembe helyezést, és csökkenti az emberi hibák kockázatát, különösen összetett nagy környezetek esetén. Ez az ismételhető, megbízható megoldás a környezetek telepítéséhez lehetővé teszi, hogy a csapatok olyan fejlesztési és tesztelési környezeteket tartsanak fenn, amelyek megegyeznek az éles környezettel. A környezetek különböző adatközpontokra és felhőplatformokra való duplikálása hasonlóképpen egyszerűbbé és hatékonyabbá válik.
Konfigurációkezelés
A konfigurációkezelés az erőforrások állapotának kezelését jelenti egy rendszerben, beleértve a kiszolgálókat, a virtuális gépeket és az adatbázisokat. A konfigurációkezelési eszközök használatával a csapatok szabályozott, szisztematikus módon hozhatják létre a módosításokat, csökkentve a rendszerkonfiguráció módosításának kockázatát. A csapatok konfigurációkezelő eszközöket használnak a rendszerállapot nyomon követésére, és segítenek elkerülni a konfigurációs eltéréseket, amely révén a rendszererőforrások konfigurációja idővel eltérhet a számukra meghatározott kívánt állapottól.
A kódként szolgáló infrastruktúra mellett könnyen templatizálható és automatizálható a rendszerdefiníció és a konfiguráció, ami segít a csapatoknak összetett környezetek nagy léptékű üzemeltetésében.
Folyamatos monitorozás
A folyamatos monitorozás azt jelenti, hogy teljes, valós idejű láthatóságot biztosít a teljes alkalmazásverem teljesítményének és állapotának. Ez a láthatóság az alkalmazást futtató mögöttes infrastruktúrától a magasabb szintű szoftverösszetevőkig terjed. A láthatóság a telemetriai adatok és metaadatok gyűjtésével, valamint az előre definiált feltételekre vonatkozó riasztások beállításával érhető el, amelyek egy operátor figyelmét teszik szükségessé. A telemetriai adatok a rendszer különböző részeiből gyűjtött eseményadatokból és naplókból állnak, amelyek ott vannak tárolva, ahol elemezhetők és lekérdezhetők.
A nagy teljesítményű DevOps-csapatok biztosítják, hogy végrehajtható, értelmes riasztásokat állítsanak be, és gazdag telemetriát gyűjtsenek, hogy hatalmas mennyiségű adatból nyerhessenek megállapításokat. Ezek az elemzések segítenek a csapatnak valós időben elhárítani a problémákat, és látni, hogyan javíthatja az alkalmazást a jövőbeli fejlesztési ciklusokban.
Planning
A tervezési fázisban a DevOps csapatai ötletelik, definiálják és ismertetik az általuk létrehozni kívánt alkalmazások és rendszerek funkcióit és képességeit. A csapatok alacsony és magas részletességi szinten követik nyomon a tevékenységek előrehaladását, az egyes termékektől kezdve a több termékportfólióig. A Teams a következő DevOps-eljárásokat használja a rugalmasság és a láthatóság tervezéséhez:
- Hátralékok létrehozása.
- Hibák nyomon követése.
- Agilis szoftverfejlesztés kezelése a Scrummal.
- Kanban táblák használata.
- Az előrehaladás vizualizálása irányítópultokkal.
A Microsoft által a vállalat szoftvercsapatai számára a DevOps-tervezés támogatásához alkalmazott számos tanulság és gyakorlat áttekintéséért lásd: Hogyan tervezi a Microsoft a DevOps használatát.
Fejlődés
A fejlesztési fázis magában foglalja a szoftverkód fejlesztésének minden aspektusát. Ebben a fázisban a DevOps-csapatok a következő feladatokat hajtják végre:
- Válasszon ki egy fejlesztési környezetet.
- Írja, tesztelje, tekintse át és integrálja a kódot.
- A kódot összetevőkké alakíthatja a különböző környezetekben való üzembe helyezéshez.
- A verziókövetés , általában a Git használatával együttműködhet a kódon, és párhuzamosan dolgozhat.
A DevOps csapatai a minőség, a stabilitás és a termelékenység feláldozása nélkül szeretnének gyorsan újítani:
- Használjon rendkívül hatékony eszközöket.
- A hétköznapi és manuális lépések automatizálása.
- Iteráció kis lépésekben automatizált tesztelés és folyamatos integráció (CI) révén.
A Microsoft által a DevOpsra való áttérésük támogatásához alkalmazott fejlesztési gyakorlatok áttekintéséért lásd: Hogyan fejleszt a Microsoft a DevOps segítségével.
Szállít
Az alkalmazások éles környezetekbe való megbízható és következetes üzembe helyezésének folyamata a szoftverszállítás, amelyet ideális esetben folyamatos szállítás (CD) révén valósítanak meg.
A kézbesítési fázisban a DevOps csapatai:
- Adjon meg egy kiadáskezelési folyamatot egyértelmű manuális jóváhagyási fázisokkal.
- Automatizált kapuk beállítása az alkalmazások fázisok közötti áthelyezéséhez a végső kiadásig az ügyfelek számára.
- Automatizálhatja a kézbesítési folyamatokat, hogy skálázhatóvá, megismételhetővé, vezérelhetővé és jól tesztelhetővé tegye őket.
A kézbesítés magában foglalja a kézbesítési környezet alapvető infrastruktúrájának üzembe helyezését és konfigurálását is. A DevOps-csapatok olyan technológiákat használnak, mint az infrastruktúra kódként (IaC),tárolók és mikroszolgáltatások teljes mértékben szabályozott infrastruktúra-környezetek biztosításához.
A biztonságos üzembehelyezési eljárások azonosítani tudják a problémákat, mielőtt hatással lennének az ügyfélélményre. Ezek a gyakorlatok megkönnyítik a DevOps-csapatok számára, hogy könnyedén, magabiztosan és nyugodtan teljesíthessenek.
A Microsoft kifejlesztette alapvető DevOps alapelveket és folyamatokat a hatékony kézbesítési rendszerek biztosítása érdekében, amelyek leírásra kerülnek a Hogyan végez a Microsoft szoftverszállítást DevOpsszal.
Operations
Az üzemeltetési fázis magában foglalja az alkalmazások karbantartását, monitorozását és hibaelhárítását éles környezetben, beleértve a hibrid vagy nyilvános felhőket, például az Azure-t. A DevOps-csapatok célja a rendszer megbízhatósága, magas rendelkezésre állás, erős biztonság és nulla állásidő.
Az automatizált kézbesítési és biztonságos üzembe helyezési eljárások segítenek a csapatoknak a problémák gyors azonosításában és elhárításában. Az éberség fenntartása gazdag telemetriát, végrehajtható riasztást, valamint az alkalmazások és a mögöttes rendszerek teljes körű láthatóságát igényli.
A Microsoft által az összetett online platformok üzemeltetésére használt eljárásokat a Microsoft megbízható rendszerek DevOps-nal való üzemeltetése című cikkben ismertetjük.
Következő lépések
- Hatékony számítási feladatok tervezése a DevOps használatával
- Modern szoftverek fejlesztése a DevOps használatával
- Minőségi szolgáltatások biztosítása a DevOpsszal
- Megbízható rendszerek üzemeltetése a DevOps használatával
Egyéb erőforrások
- DevOps-megoldások az Azure-ban
- A DevOps folyamata a Microsoftnál
- A DevOps használata az Azure-ral
- Biztonság a DevOpsban (DevSecOps)
- Mi a platformfejlesztés?
Képzések és minősítések
- Ismerkedés az Azure DevOps
- A DevOps Dojo bemutatása: A vállalkozást támogató hatékonyság létrehozása
- AZ-400: Bevezetés a DevOps-átalakítási folyamatba
- A kommunikáció és az együttműködés megkönnyítése
- Az AZ-400 vizsga: Microsoft DevOps-megoldások tervezése és implementálása
- AZ-400: Biztonsági és érvényesítési kódbázisok implementálása a megfelelőséghez