Minule jsem natočil video o PaaS a autoscale, dnes vyzkoušíme něco, co stojí na stejných principech – vysokou dostupnost.
PaaS a HA
Pro dnešní článek nechme stranou HA samotné PaaS – existuje, ale je to na jindy. Soustřeďme se na HA naší cloud-native aplikace. Pokud si chcete připomenout parametry důležité pro autoscaling a HA, tady je patřičný článek a obecněji o principech 12factor se kromě 12factor.net dozvíte také v článku o kontejnerech na cloudsvet.
Co je tedy pro dnešní ukázku podstatné?
- PaaS pracuje s nějakým zásobníkem zdrojů a v případě Cloud Foundry a HP Helion Development Platform jím je DEA, tedy VM – PaaS tedy má jako svoje zdroje VM bez ohledu na to, kde fyzicky běží
- DEA je ideálně poskytováno nějakou IaaS, v případě Helion jde o propojení Cloud Foundry a OpenStack, takže přidání nové DEA je otázka kliknutí
- Zjednodušeně řečeno – v IaaS naší aplikaci neprovozujeme přímo, v OpenStack nám běží DEA a o ty se staráme (přidáváme, ubíráme apod.). Aplikace běží v kontejnerech uvnitř těchto DEA. PaaS může běžet i bez IaaS, ale je to škoda hned ze dvou důvodů:
- Mnoho aplikací není cloud-native, ale to neznamená, že si nezaslouží provozovat ve flexibilní infrastruktuře typu IaaS, naopak – čili pro Iaas je dobrý důvod i mimo cloud-native svět
- IaaS dává PaaS flexibilní přístup ke zdrojům, takže můžete pohodlně pracovat s PaaS kapacitou
- Aplikace je cloud-native, tedy má 12factor vlastnosti
V následující ukázce běží aplikace na třech nodech a PaaS balancer na ně rozděluje zátěž. To co uděláme je, že odstavíme VM s DEA, ve kterém jeden z těchto aplikačních kontejnerů běží. Uvidíme, že PaaS velmi rychle zareaguje a vyřadí mrtvé části z balancování (tedy uživatelé jsou obslouženi v jiných nodech) a současně zahájí proces, aby se vrátila do plnohodnotného stavu, který jsme definovali jako 3 nody (tedy pokud se nějakou dobu nic nevede, vybuilduje nový kontejner s aplikací, spustí a zařadí do balancingu):
Další důvod pro cloud-native aplikace – perfektní škála a vysoká dostupnost. HA se dá zajistit mnoha způsoby, ale srovnejte cenové charakteristiky. Kolik musíte dát za mainframe, který “nikdy nespadne”? Hoooooodně. Kolik musíte dát za clustering software nebo VMware HA licence? Hodně. Tady vám stačí cenově dostupný open source Cloud Foundry + Docker + OpenStack a jedete. Na jakémkoli hypervisoru, jakémkoli hardware. Pokud se dá váš úkol vyřešit cloud-native způsobem, pořiďte si PaaS a udělejte to!