Cloud-native computing je paradigma vývoje a poskytování aplikací. Zahrnuje několik technologií a architektonických vzorů, včetně open source linuxových kontejnerů, Kubernetes a mikroslužeb. Cloud-native computing klade důraz na škálovatelnost, automatizaci, efektivitu a jednoduchost ve všech oblastech životního cyklu vývoje a nasazení aplikací – včetně organizace týmu. S tímto přístupem IT profesionálové vytvářejí aplikace, které lze na vyžádání nasadit do cloudu, rychle a snadno; úspora nákladů na výpočetní prostředky.
Cloud-Native Computing Stack
Cloud-native computing vyžaduje několik modulárních částí kódu, technologie a systémů, aby spolupracovaly. Infografika Cloud Native Landscape od TheCloud Native Computing Foundation zobrazuje podle kategorií všechny služby a technologie dostupné k použití.
<šablona x-if=visible><šablona x-if=$isMobile()>
Přestože zásobník cloud-native computing obsahuje mnoho komponent, není tak složitý, jak se může zdát. Nativní cloud využívá open-source softwarový balík k nasazení aplikací jako mikroslužeb; zabalte každou část do vlastní nádoby; a dynamicky organizovat tyto kontejnery pro optimalizaci využití zdrojů.
Cloud-native computing využívá kontejnery, které běží na dynamických cloudech. Bez kontejnerů nebo elastického cloudu nativní cloud neexistuje. Tento přístup na vyžádání umožňuje systémovým administrátorům a vývojářům dynamicky spouštět aplikace z komponent, které se objevují a klesají podle požadavků aplikačních služeb.
Cloudové nativní programy jsou volně propojeny . Součásti systému jsou vzájemně propojeny tak, aby na sobě byly v co nejmenší míře závislé; prvky potřebují málo přímé vzájemné znalosti. Kód není pevně připojen k žádné dané infrastruktuře. V případě cloudového nativního softwaru jsou prvky propojeny pomocí rozhraní API, servisních sítí a sítí.
Cloudové nativní programy jsou také bezstavové . Svá data a stav ukládají do externích databází. Cloudový nativní program „neví“, kde jsou jeho data umístěna. Data mohla být uložena kdekoli; záleží pouze na tom, aby byl přístupný, když je potřeba.
Jak název napovídá, cloudové nativní programy žijí a umírají v oblacích. Jsou tam vyvinuty; tam inscenováno a testováno; tam zajištěno a odladěno; tam rozmístěno; a neustále vylepšován pomocí CI a CD.
Správa cloudových nativních aplikací
Pro správu cloudových výpočetních systémů administrátoři organizují kontejnery s Kubernetes. Někdo by mohl namítnout, že Kubernetes je nezbytný pro cloud-native computing.
Aplikace běží v kontejnerech založených na Linuxu. Zřídka používají staré vývojové jazyky, jako je C++ nebo Java. Místo toho jsou cloudové nativní aplikace obvykle psány pomocí jazyků zaměřených na web, jako jsou Go, Node.js, Rust a Ruby. Na starších jazycích není nic špatného, ale cloudové nativní programování klade důraz na flexibilitu a interoperabilitu.
K dosažení těchto cílů využívá cloud-native computing také dva další koncepty:bezserverové výpočty a mikroslužby.
V bezserverových počítačích aplikace nepotřebují vědět o hardwaru, na kterém běží, ani o tom, jak je spravován. Software využívá funkce, které poskytuje platforma bez serveru, aniž by potřeboval další znalosti o čemkoli jiném. To znamená, že se vývojáři mohou zaměřit na obchodní logiku aplikace, spíše než na architektonické problémy (například zda má server dostatek paměti RAM).
Micro-services poskytuje lehké, volně propojené služby prostřednictvím koncového bodu API. Ty jsou propojeny lehkými protokoly, jako je Representational State Transfer (REST) orgRPC. V cloud-native computingu mají data tendenci být reprezentována JavaScriptem Object Notation (JSON) nebo Protobuf. Poskytují modulární a základní služby. Může být užitečné považovat je za obdobné linuxovým shellovým programům, které poskytují jednotlivé služby dobře, ale pro cloud.