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

Meteopress: pomáháme chránit majetek stovek tisíc uživatelů

meteopress-intro-pic

Timely weather warnings can make a difference between a happy day ending and a broken car windshield. This not only creates unnecessary stress but also causes avoidable property damage. Running the warning system on Google Cloud, we made sure the system will be available to serve hundreds of thousands of users across the whole of Europe, protecting the property of the users.

Who's Meteopress?

Meteopress focuses on delivering informative and timely notifications to users across Europe. The platform accepts warnings from professional meteorologists and turns them into mobile notifications for users. Events such as thunderstorm warnings are often predictable less than an hour before they happen. This puts reasonable stress on the system that needs to process hundreds of thousands of users and their notifications in a matter of minutes.

The platform needed to be built to support future expansion and automatically scale during an increased number of events. - Jakub Bartel, Engineer, Meteopress

Challenges

Clouds are designed from the bottom to seamlessly scale up & down in a matter of seconds. However, running a system in traffic peaks comes with its own challenges. We wanted to make sure every person gets the warning when needed while not burning tremendous amounts of money for running highly-scaled databases just to serve the traffic peaks.

The system must scale to 0. There may be no warning issued for hours, and running the whole system at that time is just complete waste of money (and heat from machines, if you also care about the environment).

Most systems can have at least somehow predictbale traffic. However, we know weather is sometimes unpredictable, and that became a great challenge to tackle. - Peter Malina, CTO, FlowUp

The "computers" part

We've built the project from bottom to top on serverless technologies. Servers, databases, even distributed buses are a scale-to-zero solution. We only maintain a small SQL instance for synchronization purposes. APIs are using Google App Engine to serve warning requests. The warnings are stored in a Firestore. All warnings are then processed using distributed Cloud Tasks that maintain exactly-once-delivery. In the end, we use BigQuery to store statistics about warning for validation and invoicing purposes.

meteopress-hld

The system automatically creates backups every midnight to minimize the impact of a potential outage or incident. Backups are scheduled using the managed cron on Google Cloud called Cloud Scheduler.

We use third-party companies to send SMS alerts for us. However, every such API comes with a rate limit (meaning one can only send e.g. 60 requests per minute). Cloud Tasks are doing a great job throttling the requests towards third parties so we don't ddos their API.

The Stats

Jsme na stejné vlně?

Kontaktujte nás

hello@flowup.cz

Kontaktujte nás prostřednictvím tohoto formuláře a my vám odpovíme e‑mailem, co nejdříve to půjde. Pokud nám ve zprávě zanecháte také své číslo, zavoláme vám. Těšíme se na vaše zprávy!

Sídlíme v Brně

Nové sady 988/2

Brno

602 00

Česká republika