De Green Energy Smartboiler van Itho Daalderop is een slimme elektrische tapwaterboiler die veel verder gaat dan alleen het verwarmen van water. De smartcontrol heeft algoritmes die het gedrag van de gebruiker analyseert, en past zijn opwarming hierop aan. Hierdoor wordt energie bespaart. Daarnaast kan de boilercapaciteit worden aangewend voor primaire reserve op de energiemarkt, waardoor er meer ruimte ontstaat voor herwinbare energie zoals zonne- en windenergie. De boiler analyseert en monitort het gebruikersgedrag, en geeft de gebruiker via een app bespaartips.

Samen met het development team van Itho Daalderop ben ik verantwoordelijk voor de implementatie, onderhoud en support van alle backend services die worden aangeboden en ben ik verantwoordelijk voor de volledige architectuur van het systeem.

De backend services zijn geheel Serverless opgezet en bestaan deels uit Azure functions en deels uit containers welke gedeployed worden binnen een Kubernetes cluster voor schaalbaarheid en betrouwbaarheid. Voor de data opslag wordt gebruik gemaakt van de diensten die Azure biedt, waaronder: Azure SQLServer, Azure Storage account, Cosmos DB. Ook voor de communicatie tussen de services en devices wordt gebruik gemaakt van de Azure mogelijkheden zoals Event Hub, Message Queues, Event Grid.

De services zijn dusdanig opgezet dat het systeem kan mee evolueren met de wensen van de klant en hun gebruikers. De diverse componenten kunnen relatief eenvoudig worden aangepast en/of worden verwijderd. Voor externe systemen die gebruik maken van de backend service zijn gestandaardiseerd API’s beschikbaar gesteld, welke middels versioning worden beheerd.

Alle services en infrastructuur wijzigingen worden middels configuratie scripts met behulp van Azure DevOps (de CI/CD dienst geleverd door Microsoft) toegevoegd en/of aangepast. De ontwikkelstraat is zodanig ingericht dat de verschillende testen (o.a. smoke, integratie, unit) automatisch worden uitgevoerd en automatisch gedeployed worden waarop vervolgens gekwalificeerde personen hun goedkeuring moeten geven op kritieke momenten. Op die manier wordt alles gecontroleerd en worden menselijke fouten geminimaliseerd. Alle documentatie is binnen de Azure DevOps omgeving beschikbaar en wordt direct vanuit de repositories bij aanpassing en/of toevoegingen bijgewerkt. Documentatie is daarom een belangrijk onderdeel!

Het updaten van de microservices wordt op dusdanige wijze gedaan dat de downtime wordt geminimaliseerd en het systeem 24/7 data kan blijven ontvangen.

 

John van der Veer

Cloud Engineer