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

Equimo: trénujeme koně v Cloudu

Nejvíce si na spolupráci s FlowUp cením spolehlivé komunikace, bleskového řešení problémů a kritického myšlení týmu.

Jiří KimlJiří KimlBusiness Solution Analyst | Monet+

O Equimu

Webová aplikace Equimo, založená na sběru a vizualizaci dat ze zařízení IoT, umožňuje zefektivnit trénink a výkon jezdeckých koní. Aby ji mohl používat libovolný počet uživatelů a aby mohla obsahovat libovolné množství dat, přemigrovali jsme ji do Google Cloudu. V intuitivním prostředí aplikace najde každý uživatel podrobnou analýzu výkonu koně, která je dostupná díky použití moderních technologií a data pipelines.

Vizualizace výkonu koně

  • Před každým tréninkem umístí jezdec na záda koně malé IoT zařízení obsahující GPS, gyroskop, akcelerometr a teploměr.

  • Během celého tréninku zařízení zaznamenává data týkající se rychlosti koně, výšky skoku, náklonu a mnoha dalších atributů. Pro spuštění a ukončení zaznamenávání dat jezdec používá aplikaci pro iOS nebo Android.

  • Po skončení tréninku jsou nezpracovaná data odeslána do cloudové infrastruktury Monet+, aby byla předběžně zpracována a poté přeposlána na back-end aplikace Equimo.

  • Agregovaná data jsou zde znovu zpracována a následně vizualizována do podrobných grafů na front-endu. Uživatelé tak získají jasné a zároveň podrobné informace o kondici, zdraví a možných odchylkách ve výkonu koně.

Agilní přístup

SCRUM tým, který se Equimu věnoval, k projektu přistupoval agilně – v krátkých časových intervalech, takzvaných sprintech, dokončoval předem stanovené části projektu. Díky uplatnění agilního přístupu bylo pro tým snadné reagovat na změny v prioritách klienta a zapojit je do dalšího vývojového procesu.

Excelentní data pipeline a migrace do cloudu

Proč hodnotíme Equimo jako úspěšný projekt? Jsou za tím dva hlavní důvody.

1) Migrace do cloudu

  • V minulosti bylo zpracování dat prováděno On-Premise (na fyzických serverech), což vyžadovalo nepřetržitou správu a údržbu těchto serverů.
  • Z tohoto důvodu jsme platformu Equimo plně zmigrovali do Google Cloud. Webová aplikace je nyní plně spravována (Kubernetes), umožňuje automatické škálování a je připravena bezproblémově zvládnout rostoucí počet uživatelů i rostoucí rozmanitost údajů, které potenciální tréninkové týmy mohou vyžadovat.
  • Více informací o výhodách cloudu z hlediska škálování naleznete v našem článku ZDE.

2) Data pipeline

  • Náš tým přinesl projektu velkou hodnotu implementací data pipeline a následnou vizualizací posbíraných dat.
  • Na začátku pipeline je velké množství nezpracovaných dat, které běžný uživatel nedokáže přečíst. Na konci však aplikace nabízí pokročilé vizualizace a přehledné grafy, které jsou pro uživatele snadno pochopitelné a díky kterým se platforma stává jednoduchým nástrojem pro analýzu výkonu koně. Zároveň aplikace pomáhá také s dalšími tréninkovými plány.

data pipeline

Technické řešení

Získání tréninkových dat (bez využití Google)

Proces získání dat z tréninku je založen na následujících krocích:

  1. Uživatel měří trénink za pomoci chytrého telefonu a speciálního monitorovací zařízení.

  2. Po tréninku jsou data odeslána na cloudový server Monet+, kde jsou zálohována.

  3. Po úspěšné záloze je za pomoci webhooku zasláno oznámení o novém tréninku na náš server.

  4. Tréninková data se stahují ve formátu CSV.

Agregace tréninkových dat (bez využití Google)

Equimo: graf agregace tréninkových dat
Equimo: graf agregace tréninkových dat

Každý zaznamenaný trénink přináší velké množství nových dat. Aby mohly být výsledky jednoduše prohlíženy v grafech, jsou veškerá data agregována pomocí jedinečného algoritmu. Ten data zpracuje a zároveň zredukuje tak, aby byly pro analýzu využity pouze relevantní údaje.

Jednoduchá ukázka pro nové uživatele

Pomocí Pub/Sub (vydavatel a odběratel) můžeme do aplikace asynchronně přiřazovat analýzy vybraných vzorových koní i nově registrovanému uživateli. Jeho řídící panel je tak hned po přihlášení plný ukázkových dat, které si může prohlédnout. Stejně tak může vyzkoušet další funkce, které aplikace nabízí. 

Monitoring díky Stackdriveru

Přestože Stackdriver nabízí mnoho funkcí, my ho používáme zejména na monitorování, hlášení chyb a protokolování. Zatímco monitoring nám pomáhá najít problémy, které nejsou nutně spojeny s aplikací, pomocí protokolování a hlášení chyb analyzujeme chování přímo v aplikačním systému. Ve výsledku díky Stackdriveru zlepšujeme a urychlujeme reakci na chyby a poruchy našeho systému.

CI/CD pipeline a Cloud Build

Naše CI/CD je postaveno na Cloud Build a automatických triggerech, které nám poskytují automatizované sestavení a nasazení v různých prostředích. Umožňuje také rychlé dodání nových verzí softwaru.

Kubernetes

Mikroprocesorová architektura Kubernetes jde ruku v ruce s CI/CD pipeline a pomáhá s rychlejším dodáním nových verzí softwaru. K vytvoření automatizovaného pipeline používáme Cloud Build, Container Registry a Source Repositories, díky kterým můžeme nové prvky vytvářet a implementovat v různých prostředích.

BigQuery a marketingová data

BigQuery je používáno k ukládání dat důležitých pro marketingové účely. Nástroj nám pomáhá sledovat, jakým způsobem uživatelé aplikaci používají, a jestli se těší oblibě. Získaná data jsou ukládána do Google tabulek, exportována do adresáře G Suite a zasílána e-mailem marketingovému oddělení.

Firebase

Firebase Authentication používáme k bezpečnému ukládání informací o uživatelích a k poskytování důvěryhodného způsobu ověření. Nástroj poskytuje také SSL certifikáty pro všechny naše domény, a to tak, aby jejich obsluha probíhala maximálně bezpečně. 

Global Load Balancer

Nástroj Global Load Balancer je používán k rozptýlení aktivních uživatelů v určité lokalitě. Tato funkce nám pomáhá zabraňovat prodlevám a zlepšovat dostupnost aplikace. V případě, že nastane výpadek jedné ze zón regionu (tato situace může nastat například během bouřky), zátěž vyrovnají další zóny.

Statistiky & technologie

  • Angular
  • Golang
  • CI/CD
  • StackDriver
  • Kubernetes
  • BigQuery
  • Firebase
  • Google Cloud
2,2MB
dat za trénink
26
skoků za trénink
15,7
naměřených tréninků denně
2,6km
běhu za trénink
169+
tisíc řádků kódu

Závěr

Platforma Equimo je využívána pro výcvik koní pomocí zařízení IoT, cloudu, data pipeline a jejich vizualizací. Díky implementaci data pipeline poskytuje aplikace uživateli přesná data získaná během tréninku, přehledné grafy a uživatelsky přívětivé vizualizace. Díky migraci na Google Cloud Platform je nástroj připravený pro libovolný počet uživatelů i množství dat. Sledování veškerých tréninků a zlepšení výkonu koně nebylo nikdy snadnější.

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