Case: Data Analytics för uppkopplade väderstationer

Kunden arbetar med att samla in miljödata för historik och analys via uppkopplade automatiska väderstationer men även manuellt via en egenutvecklad mobilapp. De behövde en ny lösning för Big Data Analytics då mängden information som samlas in har ökat kraftigt tack vare nya och uppgraderade väderstationer och tillgången till en mobilanpassad webbapp.

Ignition Research fick möjligheten att hjälpa kunden med modernisering och utveckling av en ny data pipeline, men även med migrering av befintlig IT-miljö till ett nytt datacenter i molnet. 

I det här näst intill skolboksexemplet till case berättar vi om hur vi byggde upp en ny data pipeline i Google Cloud Platform för att hantera, bearbeta och slutligen analysera stora mängder väderinformation. Hur vi byggde infrastrukturen och migrerade till det nya datacentret i Google Cloud Platform kommer inom kort.

För att dra nytta av flytten från ett fysiskt datacenter till Google Cloud  Platform valde vi att använda managed services i GCP i så stor omfattning som möjligt i utvecklingen av den nya plattformen. Valet hade flera orsaker, men ett par av de kritiska punkterna i kravställningen för den nya IT-miljön var avgörande. Organisationen ville höja skalbarheten och tillgängligheten, samtidigt som minskat beroende av kunskapsintensiv arbetskraft och sänkta kostnader var viktiga punkter på agendan. Managed services i GCP, som App Engine och BigQuery, löser dessa kravställningar i stor utsträckning och adderar samtidigt möjligheter till effektivisera löpande teknikkostnader.

För att få en bättre bild av hur plattformen skulle designas behövde vi börja med att ta reda på vilken typ av data som kommer hanteras. Väderstationerna har möjlighet att samla in data från minst 10 olika sensorer, men det är inte all data som används. Den typen av data som samlas in inkluderar en stor mängd parametrar för olika väderförhållanden och partiklar i luften. Webbappen har även möjlighet att inkludera t.ex. ph-värde i jorden.

Informationen från mobilappen skickas in stötvis när användaren kopplar upp en bluetooth-enhet för inhämtning av data eller fyller i information manuellt och skickar in till systemet. Den informationen kan innehålla lagrad väderinformation från flera dagar upp till flera veckor beroende på hur aktiv användaren är. Tjänsten för att ta emot manuellt uppladdade filer byggdes i App Engine och tjänsten sköter bland annat lagring, uppdelning av datafiler och vidarebefordran av information till Google PubSub och Dataflow för ytterligare hantering och behandling.

Datan från väderstationerna skickas löpande som en dataström via Google IoT Core uppsatt med en HTTP-brygga så fort de har uppkoppling mot Internet. För att hantera den typen av inkommande dataström valde vi att konfigurera Google PubSub för hantering av meddelandena. I det fall väderstationen inte har uppkoppling till Internet buffras den strömmande datan i upp till tre dagar. Har inte väderstationen haft uppkoppling efter tre dagar slår insamlingsfunktionen över till att ta stickprover en gång i timmen tills dess att uppkopplingen är återupprättad. När det händer skickas informationen över i en eller flera datafiler till samma tjänst som mobilappen använder för manuellt uppladdad information.

Gemensamt för både uppladdade filer och strömmande data är att datan hanteras och bearbetas i Google Dataflow innan informationen slutligen landar i BigQuery, Googles Enterprise Data Warehouse.

Tillsammans med kundens statistiker tog vi fram ett antal modeller av datan i BigQuery med information om t.ex. trender på lång och kort tid, korrelation mellan olika mätvärden och publicerade till Google Data Studio för visualisering och självbetjänad analys.

Hela lösningen är övervakad av Stackdriver, med notifieringar till SMS och mejl för möjlighet till omedelbar hantering och åtgärd vid t.ex. överbelastning eller kodfel.

På kort tid byggde vi upp en kraftfull plattform för automatiserad insamling, beräkning & analys av miljödata åt kunden. Kravställningen innehöll ett antal punkter där minskad specialistkunskap och personberoende var nyckeln, något vi designade lösningen efter. De byggstenarna vi använde i GCP möjliggör även framtidssäkrad utveckling av plattformen inom områden för t.ex. Machine Learning och ytterligare orkestrering för förenklad administration.

Är ni också intresserade av hur molnlösningar från Google kan hjälpa er med Big Data Analytics? Kontakta oss i dag!