Kubernetes: AWS vs GCP vs Azure vs DigitalOcean

Před nedávnem jsem četl Střední článek o AWS vs GCP vs Azure s ohledem na schopnost správy klastrů Kubernetes. Od té doby společnost DigitalOcean spustila beta vlastního řešení Kubernetes, zatímco AWS vytlačila své služby EKS. GCP také aktualizoval svou platformu.

S ohledem na popularitu Kubernetes bych řekl, že je čas podívat se na to, co je (očima začátečníka - mýma očima) a zároveň si pamatovat náklady.

Zřeknutí se odpovědnosti: Mám několik osobních názorů, které mohou ovlivnit způsob, jakým považuji srovnání.

Osobní názory

AWS: drahé, nepříjemné zásady pro zavádění aktualizací a nové politiky (zóny, které jsem používal nejčastěji, jsou téměř poslední, aby získaly dobroty), uživatelské rozhraní se stále cítí pomalé a neohrabané. Dobrá dokumentace, ale stále se cítíte, jako byste potřebovali PhD k používání nástrojů aws cli. Zdá se, že technická podpora je omezena na poskytování kopií / vložení z dokumentů, které jsou někdy užitečné (dokumenty nelze snadno navigovat, snadno chybět).

GCP: čisté uživatelské rozhraní, intuitivní, nižší náklady a líbí se mi jejich trvalé používání slev. Mají tendenci udržovat vše v popředí s novými funkcemi atd. Miluji, že každý krok v konzole má tlačítko pro generování příkazů CLI, velmi užitečné pro učení. Schopnost přizpůsobit CPU / RAM je na nezaplacení.

Azure: UI mezi AWS a GCP, ale často se možnosti cítí skryty nebo zcela kontraintuitivní. Cítím se drahocenný za to, co nabízí.

DigitalOcean: levné, skvělé technické dokumenty a podpora, cítí se pro vývojáře, ale chybí jim spravované služby nabízené ostatními. Pěkný pohyb s Kubernetesem.

Srovnání

Pojďme na nabídky Kubernetes. Pro srovnání se zaměřuji na základní 3-uzlový klastr pomocí 2 CPU a 4 Gb RAM, pouze pro srovnání (úložiště není zahrnuto).

  1. Digitální oceán

Nastavení: definujete fond uzlů výběrem počtu uzlů a uzlů, které chcete (a některé štítky), a je dobré jít. Dalším krokem je návod ke stažení konfigurace kubectl pro přístup do klastru (zde není žádné automatické konfigurace, pokud chcete, můžete použít poskytnutý soubor k manuální úpravě vaší konfigurace kubectl), rozmístění věcí pomocí trvalých svazků.

Vedení: jak ne-ozdůbky, jak to jde. Neexistuje žádné uživatelské rozhraní pro správu (můžete nasadit Kubernetes Dashboard sami), žádné metriky, žádné monitorování. Můžete přidávat / odebírat uzly, přidávat / odebírat fondy uzlů a to je vše.

Cena: za výše uvedenou konfiguraci, 3 uzly přijdou na 60 $ za položku. Hlavní uzel a řídicí rovina jsou zdarma! V této konfiguraci získáte také výchozí úložiště, které je dodáváno s každým typem uzlu, zatímco další svazky stojí více.

Dobrý: získáte spoustu dokumentace, výukových programů, návodů k nasazení a správě jakékoli aplikace (Istio, Dashboard, Prometheus atd.). Je to pravděpodobně nejúplnější a nejužitečnější dokumentace, těsně nad GCP. Od nynějška získáváte nejnovější a nejlepší verzi, 1.13 s podporou 1.12 a 1.13 (tuto možnost nabízí pouze společnost DigitalOcean)

Špatné: Žádná automatická konfigurace kubectl není dost otravná, pokud používáte paralelně jiné systémy, nastavení systému připraveného k výrobě vyžaduje čas.

2. AWS

Nedokážu se třást pocitem, že AWS přišel pozdě na Kubernetesovu párty. EKS dorazil pozdě po celé Evropě (koncem minulého roku). Pro nejkrásnější mrak tam je to špatné. Na druhou stranu, ve většině článků online uvidíte Kops jako doporučený nástroj, ale to už není nutné, takže tam je.

Nastavení: Provedete tanec AWS (uveďte jméno, roli, podsítě a skupinu zabezpečení). Tím získáte pouze řídicí rovinu v nejintuitivnějším nastavení, jaké jsem kdy viděl. Dalším krokem je přechod na CloudFormation a definování pracovních uzlů pro přidání (zde je trochu dokumentace).

Vedení: moje hlavní zkušenost s AWS je v tom, že předstírají, že vám něco dávají, a nic nedostanete. Držte se CloudFormation a je dobré jít, ale nastavení přístupu pomocí kubectl je intuitivní. Nezískáte žádné monitorování a nic moc.

Špatné: Řídicí letadlo stojí 0,20 $ za hodinu. Poslední verze Kubernetes je nyní 1,11. EKS si sotva zaslouží jméno, v žádném případě se necítí jako služba. Nastavení je sotva krok přes kopy.

Dobré: být objeven.

3. Google Kubernetes Engine

Z míle daleko můžete vidět, že na území Kubernetes je Google starší, a to i přes své nedostatky v oblasti všeobecných cloudových služeb.

Nastavení: Na druhém konci spektra vám GKE nabízí možnosti dobrého druhu. Nastavení znamená zvednout řídicí rovinu nahoru, definovat fond uzlů, přizpůsobit instance a vybrat různé možnosti. Automatické uzlování uzlů, automatické aktualizace Kubernetes pro malé verze, protokolování a monitorování Stackdriveru, zda přidat servisní síť Istio, možnosti autentizace (přes IAM, základní http auth - to považuji za špatné, doporučuji je nepoužívat, ale stále je nabízet), povolit vyrovnávání zatížení HTTP (nemusíte, pokud nechcete ve výchozím nastavení nasadit vlastní ingresový řadič Google), definovat metadata pro uzly, povolit šifrování tajemství (funkce beta v Kubernetes), nasadit automaticky Kubernetes Dashboard (vy není nutné, protože GCP nabízí svůj vlastní řídicí panel se svými klady / zápory), zajišťování uzlů a vertikální automatické měřítko pro lusky.

Správa: dostanete pěkný seznam dashboardů téměř o každé entitě Kubernetes (trapně seskupené do pracovních zátěží, služeb, úložiště a konfigurace), automatická konfigurace kubectl pomocí gcloud cli, každý krok (včetně nastavení) má tlačítko ve spodní části stránky vytvářející gcloud příkazy.

Dobrá: spousta možností a užitečných! Nasazení Istio, automatické škálování lusků (od v1.12). Zdarma hlavní / kontrolní letadlo.

Špatné: Stackdriver je výchozí nástroj pro sledování metrik a je cenný.

4. Azure

Nastavení: celkem jednoduché. Vyberte typ předplatného a skupinu zdrojů (nebo ji vytvořte). Vyberte velikost uzlu a počet uzlů, autentizační model, povolte RBAC (nejste si jisti, proč je to volitelné, protože se jedná o standardní ovládací nástroj pro zdroje Kubernetes), směrování aplikací http (nejsem si jistý, proč je to tady - v podstatě to umožňuje přímý přístup k ingresům, jako by to bylo holé kovové nastavení), monitorování (nic fantastického, jen povolte sběr a monitorování protokolu) a to je vše. Bohužel žádné definice fondu uzlů.

Management: trapné. Stránka služeb Kubernetes pro klastr je zaplněna spoustou věcí, které mají málo společného s klastrem samotným. Dostanete vyhrazenou stránku IAM pro něco, co by mělo být jednoduchou úpravou / přiřazením, dostanete stránku vlastností, která obsahuje seznam věcí, které by měly být součástí řídicího panelu (řídicí panel mimochodem neposkytuje žádné informace o vašem klastru, ale zdá se, že se zaměřuje na vaši skupinu předplatné). Rovněž získáte přístup ke službě Kubernetes Dashboard, která je ve výchozím nastavení nainstalována pomocí přesměrování portů - vygeneruje se pro vás příkaz azure cli.

Dobrý: mnohem lepší než AWS, cena není příliš ošuntělá. Pokud se spoléháte na správu terraformů a azurových cli, všechno jde hladce. Nastavení je proces nesmysl, vedle DigitalOcean.

Špatné: neohrabané uživatelské rozhraní vyžaduje spoustu práce, nastavení je celkem trapné, mohlo by to udělat trochu víc držení rukou, pokud jde o nastavení kubectl (je to prostý příkaz azurového cli, který není přímo poskytován), nedostatek bazénů nebo přímá poškození autoscalingu použitelnost ve výrobních systémech.

K dispozici je poměrně nedávné podrobné srovnání cen.

Google Kubernetes Engine je jasným vítězem, vzhledem k tomu, že ve srovnání s mnoha funkcemi vhodnými pro produkci je to spravedlivé schéma cen, uživatelské rozhraní bez nesmyslu, které se ve skutečnosti snadno naviguje, a přichází s pomocníky, které vám pomohou také s jeho nástroji CLI. Chtěl bych dodat, že podpora Google půjde dlouhou cestu směrem k techničtějším uživatelům (stejně jako u DigitalOcean's), zatímco nováčci to mohou považovat za frustrující (na letence související s některými problémy s automatickým měřítkem se mě dotázali na limity prostředků podu a jak jsem se dostal k požadavky na to). Velká síť GCP také obsahuje spoustu možností a optimalizací, díky kterým je aplikace přístupná s nízkou latencí. Přestože mám s AWS několik let, zjistil jsem, že GCP má lepší výsledky.

DigitalOcean: ne-ozdůbky, zaměřené na vývojáře. Pokud chcete levně spravované řešení Kubernetes, které vás bude držet za ruku základy, je to ono. Můžete ji připravit na produkční připravenost pro malé a střední aplikace, pokud budete sledovat vaše potřeby monitorování a domníváte se, že DO nemá globální pokrytí AWS nebo GCP.

Azure: to je v pořádku, ale mám obecný pocit, že cena nestojí za nabídku. Pokud jste si zakoupili společnost Microsoft, je dobré se s ní držet, ale vynecháváte spoustu věcí, které vám usnadní život, kde automatická úprava měřítka a lepší monitorovací systémy spolu s skutečně užitečným řídicím panelem jsou jen špičkou ledovce.

AWS: Pokud nemáte na výběr, měli byste vědět, že AWS má Kubernetes, ale raději si nechte PhD získat v CloudFormation. Nakonec si nejsem jistý, jestli bych to použil, dokonce i s pistolí na hlavu.