Třetí pokus o přechod do cloudu. Konečně úspěch.
22. 7. 2023 | Ing. Tomáš Hojgr, MBA | majitel
První pokus s Microsoft Azure byl úplným omylem. Ne že by byl Azure špatný. Měli jsme špatná očekávání.
Pokus první: přesun firemního webu do cloudu Microsoft Azure
Rádi osaháváme nové technologie na vnitřích projektech. Rozhodně ne na zákaznících.
- A firemní web byl jednoduchý - takže se budeme moci soustředit na cloud, místo na ten projekt, který budeme přesouvat.
- Byl datově malý - takže bez obav z nákladů na storage.
- Byl málo navštěvovaný - takže bez nákladů na trafic.
Tak jsme si něco přečetli, udělali tam registraci, objednali první server, spustili jej, web tam přesunuli. Udělali pár úprav jak v konfuguraci Azure, tak ve fungování webu, a hotovo.
Jenže web nebyl rychlejší. Nebylo snadnější jeho provoz obsluhovat. Nebylo to levnější. A rozhodně to celé nebylo příjemnější.
Prostě to nemělo benefity. A naopak, ve srovnání s managed serverama od VShostingu, které používáme běžně, na tohle bylo potřeba dohlížet.
Benefity žádné a práce navíc. Pár měsíců to běželo a pak jsme to zrušili. O přechodu zákazníků nemohla být řeč.
Pokus druhý: ElasticSearch v cloudu od DigitalOcean.com
V roce 2021 nás Petr Novotný školil v ElasticSearch. A k demonstracím používal cloud DigitalOcean.com
Byl s ním moc spokojený, celé dva dny tam vše fungovalo přesně tak, jak mělo. A Petr na tom provozoval i něco produkčního, co nebylo zrovna malé. A spokojenost.
Tak jsme to šli zkusit.
Objednali tam server, dali na něj elastic, a vše šlapalo. Šlo velmi snadno spustit více instancí a udělat z nich cluster, zapojit loadbalancer, atd. Všechno super, fungovalo, paráda. Ale bylo to drahé, jak čert.
Tak jsme si pár týdnů hráli, ale do produkce jsme to opět nepustili. Bylo potřeba se o to starat a pro nás využitelné výhody to moc nemělo. Hezká hračka. Drahá.
Pokus třetí: obrázky eshopu v CDN z Amazon AWS
Dlouhodobě nám s kvalitou kódu a best practices pomáhají kluci z codeac.io. Jejich nástroj se mi moc líbil. Tak jsem je oslovil, jestli by byli ochotni nám pomoci osobně, a už je to dlouhá doba, co se od ních učíme. Jsou super. Doporučuju. Ale zpátky k věci.
Kluky z codeac jsem tedy požádal, jestli by nám mohli pomoci i s cloudem. A oni tam mají i velké projekty, roky zkušeností, a přesně ví, co a jak. A opět byli ochotní nám pomoci. Hurá.
A mi po pár konzultacích pochopili, v čem jsme dělali chybu.
Aplikace se do cloudu nepřesouvá. Ta se pro cloud chystá už při své tvorbě.
Chápali jsme cloud jako sadu malých servříků, kam aplikaci přesuneme a vše bude ok. Ale přesunem aplikace, která na cloud není navržená, se mažou všechny výhody cloudu a provoz je pak drahý, a benefity to moc nemá.
Takže máme hotovou první aplikaci. V cloudu běží, nestojí to moc, je to spolehlivé a udržet to v provozu není zas takový problém.
- Umí škálovat, takže typické zátěžové špičky, které managed server přetíží, nás tady nezajímají.
- Konfigurace je verzovaná a spravovaná z jednoho místa, ke kterému máme přístup. Zatímco managed server je každý jiný, ikdyž nechceme, a je to pro nás takový blackbox.
- Máme k dispozici hromadu přehledných logů, ze kterých umíme poznat slabá místa na první pohled. Takže ladění výkonu a optimalizace jsou výrazně snadnější.
A co přesně máme?
Obrázky produktů se nahrávají na Amazon S3. Bezpečné, stabilní, robustní datové uložiště.
Při požadavku návštěvníka na obrázek jej obslouží Amazon CloudFront. CDNka. Když obrázek zná, okamžitě jej pošle návštěvníkovi. A když jej zatím nezná, zavolá Amazon Lambda.
Amazon Lambda je servřík, který spí a nic nedělá. Takových je v Amazonu tisíce. A když je potřeba něco udělat, Amazon nějakou volnou lambdu vybere. Ta se v milisekundě probere, zjistí, co je potřeba zpracovat, udělá to, promaže se a zase usne. Takže stojí minimum a platí se jen za skutečné požadavky.
A když CDNka obrázek nemá, předá požadavek lambdě. Tak si stáhne originál z S3. Podle URL pozná, v jaké velikosti a kvalitě je obrázek požadován. Přepočítá jej a předá CDNce. Ta si jej uloží a předá zákazníkovi.
Celý proces trvá v mili-sekundách. Stojí v mili-dolarech. Je mili-náročný na správu a mega-užitečný.
Velké díky klukům z cedeac.io. Je super, že jste ochotni nám pomáhat. Děkuju.
Závěr s cloudem
Jde to. Je potřeba pochopit, která část cloudu je na co vhodná. Pak je vhodně vybrat, poskládat, a aplikaci napsat tomu návrhu na míru.
A hurá. Jsme tam.