Filip Pýrek (Purple Technology): Serverless je ultimátní vendor lock-in, ale může být levný a škáluje

7. 12. 2023
Doba čtení: 5 minut

Sdílet

Filip Pýrek
Autor: Filip Pýrek
Filip Pýrek
Rozhovor s českým členem AWS Heroes o serverless jako zajímavém přístupu k vývoji a provozu cloudových aplikací.

Filip Pýrek je zatím jediným českým „hrdinou AWS“, což je status, který největší cloud světa Amazon Web Services uděluje vlivným osobnostem z komunity. Pýrek, který pracuje pro brněnskou firmu Purple Technology, se specializuje na princip serverless. 

Jde o stále populárnější přístup k vývoji a provozu cloudových aplikací, jehož lokální komunita ale zatím není tak velká jako ta u tradičního spouštění instancí a podobně. Pýrek v rozhovoru pro Lupu, který vznikl na konferenci AWS re:Invent 2023 v Las Vegas, serverless přibližuje.

Co to je serverless a proč by to mělo někoho zajímat?

Když máte software v cloudu, je třeba se starat o aktualizace, bezpečnost a údržbu instancí. Ve výsledku se to všude dělá stejně a je to komodita, která se dá outsourcovat. AWS přišel s myšlenkou, že by vývojáři mohli spouštět pouze vlastní kód a nestarat se o zbytek kolem. Jde o premisu „zaplať, co používáš“. Je to progres k větší automatizaci a produktivitě. Serverless neznamená, že servery neexistují, jenom se o ně stará někdo jiný. V tomto případě jde o AWS, který využívá úspory z rozsahu a vše poskytuje jako službu. Zodpovědnost se čím dál více přesouvá na poskytovatele cloudu.

Další klíčový aspekt serverless je to, že dokáže škálovat skoro donekonečna a zpátky na nulu. Když aplikaci nikdo nepoužívá, zákazník za ni nic neplatí. Například e-shop takto může vyvažovat špičku a noční hodiny, kdy má minimální traffic.

Serverless je také architektura aplikace. Je nutné dodržet architektonický styl, aby bylo možné využít benefity. Jinak to může dopadnout tak, že náklady budou desetkrát vyšší.

Jak vypadá proces nasazení?

Na začátku vývoje je typicky byznysové zadání, co má taková aplikace dělat. Následně je nutné zjistit, jaké služby z AWS bude k chodu aplikace potřeba. Pak se připraví definice infrastruktury a aplikační kód. Potom se udělá deploy skrze nástroje jako Terraform či CloudFormation a aplikace je k dispozici.

Existuje také nová cesta „infrastructure from code“, kdy se píše aplikační kód a systém pozná, co k tomu bude potřeba. Infrastruktura se generuje na základě kódu a různé frameworky zároveň umožňují infrastrukturu přepínat. Infrastrukturou z kódu se zabývají hlavně startupy, třeba Ampt. Inspiruje se tím také sám Amazon.

Infrastruktura jako kód také znamená, že se cloudové zdroje dají popsat pomocí kódu. Definujete, jak cloud má vypadat a co v něm má být za komponenty. Je nutné napsat definici infrastruktury, kde se řekne, že například v datacentru ve Frankfurtu chci mít tyto tři lambda funkce, napojit se na databáze a podobně. Díky tomu lze vidět, jak se historicky vyvíjela infrastruktura a kdo prováděl dané změny. Pomáhá to i při auditech a lze si zkontrolovat, zda jsou všechny zdroje bezpečně nastaveny.

Je dobré doplnit, že nejznámější částí serverlessu jsou takzvané lambda funkce provozující aplikační kód, jejichž hlavní konfigurací je velikost RAM. Obecně řečeno, čím větší paměť, tím větší výkon procesoru. Platí se za každou milisekundu, kdy kód běží a aktivně zpracovává daný požadavek.

Jaké má serverless nevýhody?

Aplikace s požadavky na co nejnižší latenci není pro serverless vhodná. Než se lambda spustí, trvá to nižší desítky až stovky milisekund. Ani pro trénování AI modelů a další výpočetně náročné operace to není běžná věc.

Pak jsou zde překážky na lidské úrovni. Zákazníky nejvíce odradí to, že serverless neumí. Celý koncept vyžaduje změnu myšlení a také to, aby vývojáři uměli programovat a zároveň pracovat s cloudem – vlastně musí dělat DevOps. Zatím do toho jdou hlavně early adopters, kteří se snaží o edukaci a tlačit obor dopředu. Je to otázka času, AWS se přerod snaží podporovat skrze vzdělávání a sdílení informací.

Jaký má AWS zájem na tom tlačit serverless oproti klasickým instancím?

AWS má na serverless vyšší marži a zároveň může zákazníkům nabídnout levnější řešení. Zároveň ale serverless znamená ultimátní vendor lock-in. Člověk může vytvořit aplikaci, která je efektivnější, ale musí být napsaná na míru pro daný cloud.

AWS se zároveň snaží prosazovat své ARM čipy Graviton, které jsou levnější z důvodu vyšší efektivity. Rozdíl v ceně je zhruba dvacet procent. Vývojáři jsou motivovaní cenou, ale zase musí počítat s tím, že se ARM a x86 liší z pohledu podporovaného kódu.

Jsou jiné cloudy v serverlessu na podobné úrovni jako AWS?

Konkurence existuje. Ale v případě Microsoftu to nevypadá, že by pro něj serverless byla priorita. Google viděl, že souboj prohrává, a začal se více soustředit na serverless kontejnery. Technologicky jsou všichni velcí hráči za Amazonem. Ovšem nováčkem na trhu je Cloudflare, který se mohl poučit z chyb dosavadních hráčů a snaží se nabídnout moderní serverless platformu Cloudflare Workers.

Jak velká je česká komunita?

Na našem meet-upu máme rekord kolem 130 lidí. Řada lidí ale na tato setkání obecně nechodí. Hodně lidí také používá některé serverless prvky, i když tomu tak neříká, nebo o tom neví. Obecně bude komunita mít asi nižší stovky lidí.

Proč ses začal serverless věnovat?

Experimentovat jsem začal jako student. Největší argument byl, že serverless škáluje na nulu, takže jsem mohl dělat pokusy bez riskování, že přijdu o kapesné. Postupně jsem začal zjišťovat, co to všechno umí. V Purple Technology jsme začali serverless používat, když jsme začali růst, všichni jsme byli vývojáři a nechtěli jsme řešit DevOps.

Před rokem ses stal zatím jediným českým držitelem označení AWS Heroes. K čemu je to dobré?

CIF25

Už dříve jsem měl pozici Community Builder, což je kolem tisícovky lidí z celého světa, kteří se zajímají o AWS a produkují jemu věnovaný obsah. AWS Heroes je nejvyšší úroveň. Je nutné, aby vás někdo z Amazonu nominoval. AWS Heroes je nyní po světě asi 250. Tato funkce člověku otevírá dveře. Dobré jsou kontakty s dalšími Heroes, což jsou často vysoce postavení odborníci, mimo jiné historicky první inženýr z Redditu a podobně. Dále je možné mít vliv na vývoj nových produktů. AWS nás bere jako velké experty a poslouchá při zpětné vazbě.

V Purple Technology tento můj status hodně používáme na hiring vývojářů. V byznysu to také začínáme využívat. Co se týče know-how kolem serverlessu, patříme mezi nejvyspělejší hráče v našem regionu. Primárně se věnujeme fintechu, kde se v poslední době soustředíme na oblast takzvaného prop-tradingu.

Další invaze ARM čipů v serverech. Amazon už jich vyrobil dva miliony a představil novou generaci Přečtěte si také:

Další invaze ARM čipů v serverech. Amazon už jich vyrobil dva miliony a představil novou generaci

  • Chcete mít Lupu bez bannerů?
  • Chcete dostávat speciální týdenní newsletter o zákulisí českého internetu?
  • Chcete mít k dispozici strojové přepisy podcastů?
  • Chcete získat slevu 1 000 Kč na jednu z našich konferencí?

Staňte se naším podporovatelem

Seriál: Rozhovory
Neutrální ikona do widgetu na odběr článků ze seriálů

Zajímá vás toto téma? Chcete se o něm dozvědět víc?

Objednejte si upozornění na nově vydané články do vašeho mailu. Žádný článek vám tak neuteče.


Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).