Programování

PaaS, CaaS nebo FaaS? Jak si vybrat

Představte si, že vejdete do obchodu s potravinami, který se specializuje na hamburgery - všechny druhy hamburgerů, ale pouze hamburgery. Pokud jde o hamburgery, možnosti obchodu jsou nekonečné.

Pokud jste kuchař hamburgeru, jděte do uličky a najděte hovězí, kuřecí a další možnosti bílkovin spolu se všemi sýry, druhy chleba, zeleninou, kořením a dalšími přísadami, které byste mohli chtít vytvořit svůj vlastní hamburger a strany. K dispozici je dokonce výběr talířů a nádob na balení jídla.

Pokud vám chybí čas, dovednosti nebo zájem na tom, abyste si hamburger sami sestavili, přejděte do uličky dvě, kde si můžete koupit jeden z hamburgerů v sadě. Spolu s klasickými možnostmi je k dispozici sada pro organický hamburger, veganská varianta a dokonce i keto dieta. Postupujte podle pokynů v sadě a měli byste mít jeden báječný hamburger.

V této sérii také vystupuje:

  • Kontejnery pochodují do hlavního proudu ()
  • Kontejnery a Kubernetes: 3 transformační příběhy o úspěchu (CIO)
  • Kubernetes se setkává se skutečným světem ()
  • Základní informace o kontejnerových sítích (Network World)
  • Jak společnost Visa vytvořila vlastní řešení zabezpečení kontejnerů (CSO)
  • Kontejnery na ploše? Sázíte - na Windows 10X (Computerworld)

Teprve poté, když stojíte na pokladně, volá váš šéf. Říká, že za dvě hodiny před obědem musíte udělat 300 hamburgerů různých typů. Kromě výroby hamburgerů musíte navíc zprovoznit proces, který jim bude sloužit a dostanete zaplaceno. Budete muset být opatrní, protože někteří zákazníci chtějí speciální objednávky a jiní se pokusí snížit hranici a ukrást jim oběd.

Nakonec během oběda proběhne kontrola zdraví a bezpečnosti, takže ať děláte cokoli, lépe dodržujte předpisy. Omlouvám se, ale bude s vámi pracovat jen pár lidí a také mají s tímto typem operací málo zkušeností.

Výroba cloud hamburgeru

Výběr mezi cloudovými architekturami je podobný tomuto provizornímu hamburgerovému provozu a v mnoha ohledech mnohem komplikovanější. Vývojáři, inženýři, architekti a vedoucí IT mají při zvažování, které cloudové architektury zprovoznit, mnoho ohledů na platformu, výkon, regulaci a další.

Která architektura nabídne zákazníkům lepší zážitek a přinese kvalitnější produkt? Které bude snazší zprovoznit a splnit váš termín? Která cesta bude lépe řešit problémy s podporou, dodržováním předpisů a zabezpečením? Nakonec, jaký přístup můžete zavést za nejnižší cenu?

Inženýři si mohou vybrat možnost kontejneru jako služby (CaaS) a kontejnerizovat aplikace, což je ekvivalentní s tím, jak šéfkuchař vytváří a provozuje své jídlo uličkou. Pokud tuto odbornost nemají, pak jsou možnosti platformy jako služby (PaaS) ekvivalentní k výběru sady v uličce dvě a podle pokynů a omezení při jejím používání.

CaaS ani PaaS nevyhovují vašim potřebám? Můžete vytvořit vše od základu (infrastruktura jako služba nebo IaaS) nebo nasadit funkce do prostředí bez serveru (funkce jako služba nebo FaaS).

FaaS je typ výpočetní techniky bez serveru navržený tak, aby reagoval na jeden úkol. Například FaaS může být použit k ověření uživatele, k provedení kontroly pravopisu v těle textu nebo k provedení matematického výpočtu.

Je zřejmé, že existuje mnoho architektonických možností hostování, konfigurace, správy a nasazení kódu do cloudu. Věci se ještě zkomplikují při zvažování různých nabídek produktů. Mezi možnosti PaaS patří Azure App Service, AWS Elastic Beanstalk, Google App Engine, Red Hat OpenShift a Salesforce’s Heroku. Pokud zkoumáte řešení CaaS, mají Amazon, Google a Amazon každý svou vlastní spravovanou službu Kubernetes s vlastní zkratkou (EKS, GKE a AKS). Navíc existují další možnosti od společností VMware, IBM, Oracle, Rackspace a dalších.

Samozřejmě existuje ještě více možností bez serveru. Azure Serverless má funkce bez serveru, lusky Kubernetes a aplikační prostředí. AWS má v současné době širší možnosti bez serveru a rozděluje své bez serveru do funkčních kategorií pro výpočetní techniku, úložiště, úložiště dat, proxy API a další. Google Cloud má nejrozsáhlejší definici bez serveru a zahrnuje služby jako BigQuery a AutoML.

Klíčové aspekty CaaS, PaaS, FaaS a bez serveru

Při kontrole těchto různých cloudových architektur existuje několik úvah.

  • Cílové publikum - možnosti PaaS a FaaS se nejprve zaměřují na vývojáře tím, že usnadňují konfiguraci a integraci řešení s kanály CI / CD pro nasazení. Kontejnery parametrizují operační prostředí a konfiguraci platformy, takže tyto nástroje jsou obecně zaměřeny na operátory a správce systému.
  • Konfigurovatelnost versus hbitost - Obecně je CaaS nejvíce konfigurovatelnou možností, která dává operátorům největší flexibilitu při výběru platforem a konfigurací pro kontejnerizaci. Možnosti PaaS a FaaS se zaměřují na agilitu a pomáhají vývojářům rychleji nasazovat a testovat kód.
  • Některá řešení PaaS jsou umíněný - PaaS a FaaS řešení podle návrhu jsou předvolená, což znamená, že jste již uzamčeni v jejich výběru platformy a možnostech konfigurace. Tato řešení jsou navržena na základě návrhářových názorů na to, co vývojáři chtějí, osvědčených postupů a výkonových charakteristik cíle. Pro operátory, kteří upřednostňují větší flexibilitu nebo více ovládacích prvků, může být namířený PaaS nebo FaaS příliš omezující.
  • Dovednosti a křivka učení - Spravedlivé zobecnění spočívá v tom, že řešení CaaS mají strmější křivku učení a vyžadují více dovedností než řešení PaaS a FaaS.
  • Zablokování dodavatele - řešení CaaS se obecně vyvíjejí na Kubernetes a jsou přenosná napříč různými možnostmi cloudového hostování. I když lze řešení PaaS a FaaS navrhnout s Kubernetes jako základem, obvykle nevystavují vrstvu Kubernetes koncovým uživatelům a místo toho představují jednodušší konfigurace. Tyto konfigurace jsou vlastnictvím řešení PaaS a FaaS a jsou často navrženy tak, aby fungovaly pouze na jednom cloudu. Někteří vedoucí IT považují za problematické a jsou oprávněně znepokojeni tím, že jsou uzamčeni k dodavateli cloudu.

Otázky, které vás budou provázet při výzkumu a vytváření prototypů

Když čelí tolika možnostem, některé organizace provedou minimální množství výzkumu a prototypování a vyberou cestu, která jde nejdále nejrychleji. Jiní investují značné množství času, energie a peněz do výzkumu možností, konzultací s odborníky a výběru možností pro robustní implementace.

Oba tyto přístupy jsou lepší, než když se vaše organizace paralyzuje množstvím možností, nevyberete žádnou a nikam se nedostanete. V rychle se rozvíjejícím světě, kde se každá společnost snaží získat technickou výhodu, bude příliš konzervativní a udržování současného stavu pouze omezovat obchodní příležitosti.

Konzultoval jsem tedy s odborníky identifikovat některé klíčové otázky, které by měly pomoci zúžit možnosti a podmínky:

  1. Jste malý tým, který má jen pár aplikací? V těchto případech byste měli zvážit jednodušší možnosti PaaS a bez serveru, kde můžete získat většinu požadované platformy předkonfigurovanou a bez investování času a odborných znalostí. DJ Navarrete, ředitel architektury platformy společnosti AvidXchange, navrhuje: „Pro malé a střední společnosti, které mohou vyžadovat větší podporu řízení změn, aby byly úspěšné, a pro ty, které chtějí rychle zvýšit zralost, stabilitu a rychlost, je PaaS atraktivní, protože nabízí rychlejší cesta k implementaci a zvýšení efektivity. “
  2. Máte epizodická užitečná zatížení, ale přesto je potřeba je v případě potřeby zvětšit? Rozsah může být mikroslužba nebo funkce, ale může také růst na plné aplikace a databáze. Tyto případy použití jsou ideální pro výpočetní výkon bez serveru, kde platíte pouze za požadované využití.
  3. Máte povinnost dodržovat předpisy nebo regulační standard, který vás nutí podávat zprávy o konkrétních základních možnostech nebo nastaveních v prováděcím kontejneru, aplikaci, databázi, operačním systému nebo infrastruktuře? Wayne Anderson, architekt zabezpečení a dodržování předpisů pro Microsoft Modern Workplace Center of Excellence, říká, že je to zásadní důvod, proč jsou vyloučeny možnosti bez serveru. Požadavky na PCI a další dodržování předpisů jsou právními odděleními nebo auditory obecně interpretovány jako požadavky na potvrzení nastavení výpočetního prostředí.
  4. Využíváte mnoho specializovaných platforem nebo starších aplikací? V těchto případech může být obtížné najít komerční možnosti PaaS, které jsou kompatibilní. Zároveň může vývoj kontejnerů zjednodušit nasazení a správu závislostí.
  5. Jste velká organizace nebo podnik fungující ve více cloudech as různými aplikačními a datovými platformami ve výrobě? Tyto organizace se mohou rozhodnout standardizovat kontejnery, protože poskytuje největší flexibilitu při podpoře více platforem a možností konfigurace. Serverless může být stále úvahou, pokud dodržování předpisů není faktorem. Podniky se mohou odklonit od možností PaaS, pokud mají dostatek dovedností a kapacit k rozvoji šíře možností na Kubernetes. Organizace s dostatečným rozsahem a technickými dovednostmi, jako je Shopify, se mohou rozhodnout vytvořit vlastní PaaS s Kubernetes a kontejnery jako základem.
  6. Vyvíjíte mikroslužby a standardizujete na cloudové architektuře mikroslužeb? Mark Heath navrhuje, že kontejnery nebo FaaS jsou dobrou volbou, stejně jako hostování funkcí v kontejnerech. Heath říká, že funkce bez serveru mohou být snadněji konfigurovatelné a méně nákladné na podporu, zatímco kontejnery mohou zjednodušit místní vývoj a poskytnout více možností pro zabezpečení koncových bodů.
  7. Cloudový konzultant Sarbjeet Johal rád ví, jestli vytváříte platformy, aplikace nebo služby a zda je publikum interní pro podnik, externí nebo orientované na zákazníka nebo spotřební materiál pro stroje. Znalost typu aplikace a typu koncového uživatele vám pomůže předvídat budoucí potřeby a požadavky. Johal například říká: „U externích aplikací chcete zaznamenat mnohem větší kontrolu přístupu, objemy dat se mohou nepředvídatelně zvýšit a aplikace může mít delší životnost ve srovnání s interními aplikacemi. Pokud je služba nebo platforma spotřebovatelný strojem, možná budete potřebovat nějaké měření. “ Prognóza plánu a budoucích potřeb by měla pomoci prosadit některé možnosti a vyloučit jiné.

Jakmile máte možnosti zúžené, osvědčeným postupem je provést důkaz koncepce. Bez testování receptu nevaříte hamburgery za 300.