Miért fontos a tároló vezénylése?

Befejeződött

Ebben a leckében a Tailspin csapatát követve megismerheti a vezetőség új irányelvének megvalósítására vonatkozó stratégiákat. A csapat megvizsgálja, hogyan segítheti a Kubernetes a mikroszolgáltatás-architektúrára való áttérést.

A jövő kisebb

A dolgok a Tailspinre néznek. Andy a legutóbbi felügyeleti helyszínen bemutatta csapata legutóbbi sikereit az Azure DevOpsban, amelyek jól fogadták őket. Andy bemutatta a csapat legutóbbi, Docker-tárolókkal végzett megvalósíthatósági igazolási projektjének bemutatóját is. Ezek a bemutatók produktív beszélgetések sorozatához vezettek a szervezet technikai jövőjéről. Másnap Andy visszatér, hogy megossza a híreket a Space Game webes csapatával.

Andy: A dolgok nagyon jól ment az én helyszíni bemutató tegnap. A vezetőséget lenyűgözte az eddig elvégzett munka, és különleges feladatot adott nekünk.

Tim: Uh oh. Elég régóta vagyok itt, hogy lássak egy csapdát, ami egy mérföldnyire van.

Andy: Nem, ez egy nagyszerű lehetőség számunkra. A vezetőség imádta a Docker-tároló bemutatóját, és azt szeretné, hogy felfedezzük a mikroszolgáltatás-architektúra bevezetését.

Amita: Mikroszolgáltatások? Tetszik az alkalmazások telefonokhoz és órákhoz?

Andy: Nem, a mikroszolgáltatások olyan tipikus alkalmazások, mint a webalkalmazásunk. A fő különbség az, hogy egyetlen monolitikus alkalmazás létrehozása és üzembe helyezése helyett átfunkáljuk azokat az összetevőket, amelyek jobban karbantarthatók és kezelhetők autonóm szolgáltatásként. Ezután ezeket a szolgáltatásokat úgy építjük ki, hogy azok jól működjenek, és üzembe helyezzük őket, hogy függetlenül működjenek.

Nem vagyok benne biztos, hogy tetszik ennek a hangja. Már annyi szolgáltatással foglalkozom a környezetünkben. Nem tudom, hogy többet akarok-e a tányéromon.

Andy: Ez érthető aggodalomra ad okot. Szerencsére van néhány nagyszerű eszköz a tárolók egy adott környezetben való kezelésére. Felkértek minket egy többtárolós megoldás kiugrására a Kubernetes használatával vezényelt webalkalmazáshoz. Azt is tudni szeretnék, hogy ez milyen hatással lesz a DevOps-folyamatra.

Olvastam a Kubernetesről. Az Azure nagy támogatást nyújt az Azure Kubernetes Service-ben, és tudom, hogy az Azure DevOpsban van folyamattámogatás.

Amita: Ez a folyamat úgy hangzik, mintha bonyolult lenne. Hogyan befolyásolja a tesztelést?

Mara: Ez nem lehet jelentős változás. A Kubernetes módot kínál a különböző névtereken való üzembe helyezésre. Ez lehetővé teszi az üzemelő példányok particionálását, hogy teljes környezeteket használhassunk a teszteléshez és az éles környezethez. Mivel mind ugyanabban a fürtben futnak, és ugyanazokat a tárolókat használják, a tesztelési élménynek azt kell nyújtania, amit az éles környezetben elvárunk.

Amita: Nehéz lesz nyomon követni, hogy melyik környezet hol van?

Mara: Nem, az Azure DevOps-környezetekkel mindezt elvégezhetjük. A portál használatával megtudhatja, hogy hol találhatók az egyes szolgáltatások, és hogyan jutott el oda. Minden automatizált a folyamaton keresztül, így nem lesz semmi, amit manuálisan nyomon kell követnünk. Most csak az a gondom, hogy mekkora hatással lesz a fejlesztési tapasztalatunkra, hogy ezt felépítsük.

Andy: A jó hír az, hogy a hatás minimális. Feltéve, hogy a projektjeink Docker-tárolók létrehozásához vannak beállítva, a Kubernetesben csak néhány jegyzékfájlt kell üzembe helyeznünk, amelyek leírják a szolgáltatásokat és azok üzembe helyezését.

Gondolt már arra, hogy mit fogunk újrabontásra a második tárolóként? Tudom, hogy több csapat is kérte, hogy hozzuk elérhetővé a ranglistánk egy webes API-val.

Andy: Egy lépéssel előrébb járok. Elágaztam a Docker-projektet tegnap este, és átszerkesztettem a ranglista adatfunkcióját a saját mikroszolgáltatásába. Ez egy tárolót biztosít a webhelyhez, egy másikat pedig egy ranglista API-hoz. Mindkét tároló úgy van konfigurálva, hogy saját nyilvános végpontokkal rendelkezzen, amelyeket bárkivel megoszthatunk, aki használni szeretné a webhelyet vagy az API-t, függetlenül attól, hogy az alkalmazás milyen technológiát használ. Ha a terhelés mindkét esetben jelentősen nő, egymástól függetlenül skálázhatjuk a tárolókat.

Mara: Ez a projekt hangzik félelmetes! Ismerkedjünk meg a kiadási folyamat frissítésével.

Mi az a Kubernetes?

A Kubernetes egy nyílt forráskódú tárolóvezénylési platform, amely automatizálja a tárolóalapú alkalmazások üzembe helyezését, méretezését és felügyeletét. Keretrendszert biztosít az elosztott rendszerek deklaratív, rugalmas futtatásához, valamint tárolók több gazdagépen való futtatásához, az erőforrások hatékony felhasználásához és a nagyobb megbízhatósághoz.

A Tailspin csapata azért választotta ki a Kubernetes-t ehhez a forgatókönyvhöz, mert minden igényüknek megfelel:

  • A többtárolós üzemelő példányok összetettsége: A Kubernetes elsősorban a tárolótelepítések üzembe helyezésével és karbantartásával kapcsolatos folyamatok automatizálására szolgál.

  • Környezetek és szakaszok konzisztenciája: ahogyan a tárolók biztosítják az általuk használt alkalmazások konzisztens üzembe helyezését, a Kubernetes biztosítja a fürtök által felügyelt tárolók konzisztens üzembe helyezését.

  • Az Azure DevOps támogatása: Az Azure DevOps első osztályú támogatást nyújt a Kuberneteshez való munkához.

  • Egyszerű fejlesztés: a Kubernetes hatása egy forrásprojektre hasonló, mint a Docker-támogatás hozzáadása, amely minimális és deklaratív konfigurációra korlátozódik.

A Kubernetes bevezetése jelentősen leegyszerűsíti a több Docker-tárolót használó mikroszolgáltatási architektúra bevezetését.

Tesztelje tudását

1.

Az alábbiak közül melyik nem jó ok a mikroszolgáltatások használatára?

2.

Miben hasonlít a Docker és a Kubernetes?

3.

Tegyük fel, hogy a csapat több .NET Core-projektből áll egy olyan megoldásban, amely több Docker-tárolót állít elő. Mennyi többletterhelést igényel a Kubernetes-támogatás hozzáadása?