Linux E X P R E S

Facebook

Aktuální trendy pro webové aplikace provozované v cloudu

cloud_computing_2116773_1280.jpg

Doba monolitických aplikací již dávno pominula a i my provozovatelé hostingových služeb se tak přizpůsobujeme aktuálním trendům se stejným cílem: zajistit doručení komplexní platformy a souvisejících služeb klientům tak, abychom jim šetřili čas a zajistili co nejstabilnější stálý provoz jejich produkčních i testovacích a vývojových infrastruktur. Jaké jsou aktuální trendy? Jako tři hlavní trendy jsme identifikovali posun směrem k microservices ve spojení s vývojem v Docker kontejnerech, evoluci vývoje směrem k serverless (FaaS) řešením a čím dál zvyšující se význam bezpečnosti.


Kontejnerizace a Kubernetes

Při vývoji nových verzí aplikace jsou čím dál častěji využívány microservices ve spojení s Docker kontejnerizací. Microservices nejsou novinkou, mnoho českých vývojářů však tento trend teprve objevuje. V našem datovém centru tuto technologii momentálně využívá 25,9 % vývojářů v produkčním prostředí a 38,4 % pro účely vývoje. Pro orchestraci je nejpopulárnější Kubernetes. Faktem zůstává, že Docker kontejnerizace je vhodná pouze pro samotnou aplikaci, ideálně bez jakékoliv persistence. Zásadně není toto řešení vhodné pro provoz databázových serverů (snad s výjimkou redis serveru provozovaného jako in-memory cache), a to zejména z důvodu výkonnosti diskových operací.

Nejvhodnější kombinací pro vývoj microservices je tak použití Kubernetes pro samotnou aplikaci (v případě Dockeru) a provoz ostatních služeb typu databáze jako „blackbox“ v plně spravované podobě, přičemž z pohledu vývojáře jde o připojení k externí databázi přes standardní API.

Bohužel je zatím stále v případě mnoha nových aplikací využívající microservices využíván sdílený filesystém, který má již ze své podstaty řadu omezení (výkonnost, počet souborů, zámky nad soubory apod.). Doporučeným řešením je využívání object storage pro všechny objekty, který pracuje s JSON API nad http requesty. Jde o škálovatelné řešení, ve kterém odpadají všechna omezení běžného filesystému.

Serverless (FaaS)

Serverless (FaaS) aneb function as a service, kde první službou tohoto typu byla AWS Lambda, je další evoluce v tom, jak přistupovat k vývoji aplikací. Byť se domníváme, že za 5 let půjde o nejpoužívanější způsob vývoje nových webových aplikací pro provoz v cloudu, zatím je FaaS vhodný jen pro specifické úlohy a nikoliv pro vše. Velmi zjednodušeně řečeno jde o řešení, kdy jsou vykonávány v cloudu konkrétní funkce aplikace bez nutnosti alokovat jakékoliv výpočetní prostředky.

Zastánci této vývojové metody používají jako hlavní argument jednoduchost řešení a minimalizaci nákladů za cloudovou službu, jelikož se platí za reálně vykonané funkce v cloudu a za paměť (tzv. gigabajtsekundy). Vývojář tak neřeší prakticky vůbec infrastrukturu, jelikož je v případě serverless od infrastruktury z pohledu aplikace úplně abstrahována. Řešení má i řadu zatím dost zásadních nevýhod, mezi které patří tzv. „cold start“, kdy se první operace daného typu může vykonávat až o několik vteřin později (což je dáno primárně tím, že kontejnery se na pozadí u cloud providera musí nastartovat, aby mohly vykonat funkci) a z obchodního pohledu je hlavní nevýhoda praktická nepredikovatelnost nákladů.

Bezpečnost

Více než kdy jindy je skloňováno téma bezpečnosti. Důvodem je částečně GDPR a související starosti provozovatelů aplikací o to, jak a kde jsou jejich data v cloudu uložena, protože při úniku klientských dat je jejich byznys ohrožen více než kdy předtím. Neméně důležitým je však i množící se počet DDoS útoků.

Bezpečnostní incidenty již nejsou nic ojedinělého, ale vyvinulo se z nich samostatné zločinecké odvětví systematicky generující zisk pro útočníky. Proto počet útoků roste prakticky lineárně, a to jak u tzv. volumetrických útoků (snaha přetížit nebo zahltit cíl útoku a znepřístupnit tak daný web nebo aplikaci), tak u aplikačních útoků, které si kladou za cíl získat neoprávněně data či využít zranitelnosti aplikace a serverů například ke spamování nebo těžbě kryptoměn.

Z tohoto důvodu dochází k intenzivnímu rozvoji nejrůznějších bezpečnostních opatření. Pro co největší snížení rizika, že k něčemu podobnému dojde, můžeme ze zkušenosti doporučit tři hlavní kroky:

  • Pravidelné penetrační testy, které otestují slabá místa z hlediska bezpečnosti.
  • AntiDDOS ochranu, protože jen od začátku roku 2019 jsme zaznamenali přes 1 500 relevantních útoků, z nichž velká část je generovaná automaticky.
  • Zálohování s možností rychlého obnovení – víte, jak dlouho vám potrvá obnova ze záloh? Pár minut, nebo několik dní?

Damir Špoljarič

Autor článku je ředitelem firmy Vshosting.



Diskuze (0) Nahoru