A konténeres alkalmazások futtatásakor számos lehetőség áll az információtechnológiai (IT) csapatok rendelkezésére, amelyek a műszaki szakértelem minden szintjét megcélozzák.
Nehéz lehet kiválasztani egyet, mivel a választás után valószínűleg nem fog egyhamar áttérni másik lehetőségre.
Ez a bejegyzés két fontos lehetőséget állít szembe: Amazon Elastic Container Service (ECS) és Kubernetes.
Mindkettő alkalmas platform a konténer-hangszerelési és mikroszolgáltatás-kezelési tartományokban. Közvetlenül a továbblépés előtt pedig a konténereken végzett frissítés nem árt. A tárolók népszerűvé váltak a kód fejlesztésének, promóciójának és telepítésének megkönnyítése érdekében számos környezetben. Ezek az alkalmazási rétegek absztrakciói, amelyek a szükséges függőségekkel, könyvtárakkal és környezeti beállításokkal kódoló kódot futtatható csomagba csomagolják.
Míg a konténerek használatának fő célja a kódtelepítési folyamat egyszerűsítése, több ezer tárolók kezelése egyre nagyobb kihívást jelent. Egy másik mechanizmusra van szükség a rendkívül megbízható telepítések megvalósításához, az alkalmazások terhelés szerinti méretezéséhez, az egészségtelen konténerek újakra cseréléséhez, a terheléselosztáshoz és a portok feltárásához.
Itt jön a segítség a konténer hangszerelése. Ettől eltekintve szükség van eszközökre a konténerek üzemeltetéséhez és a teljes infrastruktúra kezeléséhez. Számos eszköz áll rendelkezésre a probléma megoldására, de szűkítsük le a hangsúlyt néhányra.
Ez a darab az ECS-t és a Kubernetes-t hasonlítja össze, kiemelve mindegyik előnyeit, és egy útmutatást ad a projekt alapján a megfelelő kiválasztásához.
Tartalomjegyzék
Mi az az Amazon ECS?
Az Amazon ECS egy konténer-hangszerelési szolgáltatás, amely egyszerűsíti a konténeres alkalmazások telepítését, kezelését és méretezését. Alapvetően Ön határozza meg az alkalmazást és a szükséges erőforrásokat. Ezután az Amazon ECS elindítja, figyeli és skálázza az alkalmazást a számítási lehetőségek között, miközben lehetővé teszi az egyéb szükséges AWS-szolgáltatások integrálását. Például ellenőrizheti az állapotot, és programozottan módosíthatja a fürtöket.
Az ECS lehetővé teszi az alkalmazások üzembe helyezését kiszolgálók csoportján, úgynevezett fürtökön keresztül, feladatdefiníciók és alkalmazásprogram-interfész (API) hívások segítségével.
Olvassa el még: Milyen AWS EC2 példányokat érdemes használni?
Az Amazon ECS előnyei
Az ECS korlátai
Mi az a Kubernetes?
A Kubernetes, más néven K8s, egy nyílt forráskódú szoftver a konténeres alkalmazások telepítésének, méretezésének és adminisztrációjának automatizálására.
A Google éles munkaterheléseinek futtatásában szerzett 15 éves tapasztalatát kihasználva (a legjobb ötletek és a közösségi gyakorlatok ötvözésével) a K8s az alkalmazástárolókat egyszerűen felfedezhető és kezelhető logikai egységekbe csoportosítja.
Ezenkívül a K8s elsődleges funkciói, például a terheléselosztás, az állandó tárolás, a konténeres alkalmazások automatikus visszaállítása, a titkok, a Kubernetes-fürtök öngyógyítása és a konfigurációkezelés.
Olvassa el még: A Kubernetes használatának megkezdése: Bevezetés kezdőknek
A Kubernetes előnyei
- Egészségügyi ellenőrzések és öngyógyítás – A Kubernetes a csomópontok rendszeres ellenőrzésével megóvja alkalmazásait a hibáktól. Ha egy hüvely vagy tartály egy hiba miatt összetörik, a K8s automatikusan cserét kér.
- Terheléselosztás és forgalomirányítás – A forgalomirányítással kapcsolatban a K8s csak a megfelelő konténerekhez küld kéréseket. A terheléselosztással pedig a K8s elosztja a terheléseket a pod-ok között, kiegyensúlyozva az erőforrásokat számos esetben, például leállások, véletlen csúcsforgalom vagy kötegelt feldolgozás esetén. Ismét használhatja a külső terheléselosztókat, ha akarja.
- Automatikus méretezés – Ez a funkció lehetővé teszi a futó konténerek számának automatikus beállítását a CPU kihasználtság és egyéb CPU-metrikák szerint.
- Kézi méretezés – A funkció segítségével a parancssorban vagy a felületen keresztül skálázhatja a futó konténerek számát.
- Replikációs vezérlő – Ez az eszköz lehetővé teszi a fürt specifikációinak megfelelő podok számának meghatározását; ha kevés, akkor újat kezd, és ha túl sok, akkor leállítja őket.
- Automatikus visszagörgetés és közzététel – A fejlesztés során érdemes lehet néhány új konfigurációt vagy alkalmazásfrissítést bevezetni. A K8s lehetővé teszi a folyamat végrehajtását az alkalmazás leállása nélkül. Meghibásodás esetén a K8-asok robotszerűen visszagurulnak az előző verzióhoz.
- Kanári üzembe helyezések – Kihasználhatja ezt a funkciót, ha az előző verzióval párhuzamosan teszteli az éles környezetben az új telepítéseket; A K8s lehetővé teszi az alkalmazás legutóbbi verziójának kicsinyítését, ugyanakkor a legújabb verzió méretezését.
- Programozási nyelvek és keretrendszerek változatos támogatása – Legyen szó Go, Java vagy .Net programozási nyelvi háttérről, a Kubernetes számos fejlesztői nyelvet és keretrendszert támogat. Ha egy alkalmazás futhat egy tárolón, akkor K8s-on fut.
A Kubernetes korlátai
Az ECS és a Kubernetes összehasonlítása
Íme egy egymás melletti összehasonlítás, amely bemutatja a különbségeket:
A különbség KubernetesAmazon ECSAlkalmazásdefiníció Az alkalmazások telepítése podok, csomópontok és szolgáltatások kombinálásával történik. Az alkalmazások üzembe helyezése feladatok formájában történik. A feladatok konténerpéldányok – például az ECS-példányokon futó Docker-tárolók.DeploymentComplex, mivel a fürtöket manuálisan kell telepítenie és konfigurálnia.Könnyű üzembe helyezés az AWS-konzolon keresztül.Csomópont-támogatás (gépek száma)5000 csomópont fürtönként.1000 csomópont fürtönként .Konténerek Akár 300 000 konténer klaszterenként.A kihasznált infrastruktúra kapacitása korlátozza.Teherelosztás A Pod-ok a bemeneti vezérlők mögött terheléselosztóként használt szolgáltatásokon keresztül érhetők el.Két terheléselosztó áll rendelkezésre; Az ELB-Application vagy Network.PricingFree.ECS ingyenes, de fizetnie kell az EC2 erőforrásokért.Optimalizálás Jól optimalizálva egyetlen nagy fürthöz.Előre konfigurálva a követelményekkel és a tárolókövetelményekkel.AutoscalingAz automatikus skálázási paramétereket a telepítések felépítésekor határozhatja meg.Az olyan megfigyelési szolgáltatásokat használ, mint a CloudWatch a CPU, a memória és az egyéni paraméterek alapján automatikusan skálázható.Állapot-ellenőrzésKét állapotellenőrzés érhető el: készenlét és életerő.Megfigyelési szolgáltatások révén érhető el, mint a CloudWatch.Szolgáltatásfelderítés Környezeti változókon vagy DNS-en keresztül.Megfigyelési szolgáltatásokon keresztül érhető el – CloudWatch.Vendor-lock nem.Igen.
Az ECS és a Kubernetes használati esetei
A következőképpen forradalmasítja az iparágakat az ECS és a Kubernetes konténerezési technológia:
Az ECS INC International számos olyan felhasználási esetet emel ki, ahol az ECS technológiát implementálták. A modern orvosi eszközökben forradalmasított módszereket találhat a betegek kezelésére és a gyógyszeradagolási technikákat. Számos eszköz létezik, például elektronikus inhalátorok, orvosi autoinjektorok és infúziós pumpák.
Az IoT tartományban intelligens otthoni eszközökkel rendelkezünk. Ha a figyelmet az autóiparra helyezi, akkor intelligens elektromos autóink vannak, amelyek fokozott vezetési élményt és fejlett biztonsági intézkedéseket, például rásegített fékrendszereket kínálnak.
Eddig ez a jéghegy csúcsa; megtekintheti az ECS további alkalmazásait, amelyek nem korlátozódnak a vezeték nélküli technológiára, a hordható eszközökre és az ipari felhasználásra.
Másrészt a Kubernetes gyakorlati alkalmazásokkal rendelkezik. Először is, az IBM felhő privát, nyilvános és hibrid funkciókat kínál a futási idők széles skáláján.
A Spotify, a zenei streamelés óriása, a Kubernetes technológiát használja fel, hogy megkönnyítse a zökkenőmentes működést, akár 10 millió kérés másodpercenként. Bár ezek valós felhasználási esetek, a K8s több funkciót szolgál ki a mikroszolgáltatások architektúrájában, a felhőalapú hálózati funkciókban, a gépi tanulásban és a szoftverfejlesztési életciklus megváltoztatásában.
Végső szavak
Miután végigjárta ezt az útmutatót, szilárd áttekintést kap az ECS vagy a K8s választásának előnyeiről és hátrányairól. A megfelelő opció kiválasztásának kulcsa néhány érv alapján történik. Mérlegelnie kell a költségek, a szolgáltatási korlátok és a tehetségek költségei között.
Ha ingyenes szolgáltatást szeretne igénybe venni, a K8s lesz az első számú választás. Azonban szilárd tehetségre vagy készségekre lesz szüksége ahhoz, hogy kezelni tudja az ezzel járó összetettséget. Míg a K8s-nak nincsenek gyártói bezárási korlátozásai, ahhoz a platform működésének alapos megértését kell elvégezni. Az ECS viszont gyors konfigurációkat kapott.
Ezután tekintse meg a Kubernetes vs. Docker részletes útmutatóját.