REF Reference · případová studie

⚠ Toto je pouze ukázka (v produkci není dostupná).
Draft

Meteopress STORM

Výstrahy před bouřkami pro stovky tisíc lidí

Platform development
Fakta o projektu
Klient
Meteopress
Platformy
Web, mobilní web, cloud & serverless
Spolupráce
Agilní vývoj projektu

01 Technologie · pod kapotou

TypeScriptLanguageAngularFE frameworkFirebasePlatformGoogle CloudCloud

02 Případová studie · příběh

Včasná výstraha před bouřkou znamená rozdíl mezi klidným večerem a rozbitým čelním sklem. Pro platformu STORM od Meteopressu jsme postavili serverless systém, který mění výstrahy meteorologů v mobilní notifikace a doručuje je stovkám tisíc uživatelů v Česku.

Kdo je Meteopress?

Meteopress je česká meteorologická firma, jejíž radary stojí po celém světě, od Afriky až po Tongu. STORM je její produkt pro Česko: výstrahy na něm vydávají profesionální meteorologové a systém je mění v mobilní notifikace pro lidi, kterým bouřka míří do cesty. Bouřky se často dají předpovědět jen necelou hodinu předem, platformě tak zbývají minuty na to, aby varovala stovky tisíc uživatelů.

Citace

Potřebovali jsme platformu, která zvládne budoucí růst a automaticky se škáluje, jakmile počet událostí prudce vzroste. A přesně takovou jsme od FlowUp dostali.

jakub-bartel
Jakub BartelHead of SW and AI Development | Meteopress

Výzvy

Cloudové platformy se umí škálovat nahoru a dolů v řádu sekund, ustát provozní špičky ale přesto vyžaduje péči. Chtěli jsme mít jistotu, že každý dostane svou výstrahu včas, aniž bychom platili za vysoko naškálované databáze, které mezi bouřkami jen zahálí.

Systém musí umět škálovat na nulu. Klidně několik hodin nevyjde jediná výstraha a nechat celý systém tou dobou běžet by bylo čiré plýtvání penězi i energií.

Počítačová část

Platformu jsme od základu postavili na serverless technologiích: API, databáze i message bus se škálují na nulu, jen jedna malá SQL instance zůstává kvůli synchronizaci. API běží na Google App Engine a výstrahy ukládají do Firestore; distribuované Cloud Tasks pak každou zpracují s exactly-once delivery a BigQuery uchovává statistiky o každé výstraze pro validaci a fakturaci.

Každou půlnoc spouští Cloud Scheduler (managed cron od Google Cloudu) automatické zálohy, aby případný výpadek nebo incident stál co nejméně dat.

SMS výstrahy odesíláme přes třetí strany a každé takové API má rate limit (řekněme 60 requestů za minutu). Cloud Tasks náš provoz přiškrtí přesně podle něj, takže výstrahy odchází plnou rychlostí a nikoho neDDoSujeme.

Výsledek

STORM splnil oba sliby: každá výstraha dorazí k uživatelům během pár minut a mezi bouřkami se systém škáluje na nulu a nestojí skoro nic.

A ukázalo se, že šlo jen o začátek. Na STORM jsme navázali další spoluprací a dnes s Meteopressem dlouhodobě vyvíjíme jeho další produkty.

03 Produkt · obrazovky

MeteopressWeb, mobilní web, cloud & serverless
meteopress-intro-pic

04 Pokračujte · další práce

Zpět na všechny reference