Berichtenuitwisseling tussen software en services moet dramatisch opschalen voor het internet of things. 'We halen dit jaar twee biljoen messages per maand', aldus Clemens Vasters van Microsofts Azure-team.
Vasters is lead architect voor Azure Messaging Services en sinds 2006 in dienst bij Microsoft Corporation. ‘Na een verkering van vier jaar’, lacht de cloudontwikkelaar. Hij had in de jaren ervoor namelijk al software gemaakt die door Microsoft zelf intern werd gebruikt. Sinds kort is Vasters lid van het officieel opgerichte Service Bus-team bij Microsoft, dat zich ontpopt tot cloudreus. Service Bus voor clouddienst Azure verkeerde lange tijd in de incubatorfase, vertelt Vasters. ‘Het stamt nog van vóór Azure wat werd.’
Eén erin, miljoenen eruit
De technologie is eind 2009 gepresenteerd en diende aanvankelijk als relay voor het simpelweg doorgeven van berichtenverkeer. Een jaar later zijn zwaardere functies voor messaging toegevoegd. Uit dat ontwikkelwerk zijn enkele technologie spin-offs voortgekomen, weet Vasters.
Hij noemt de Notification Hub, waarvoor diverse patenten op zijn naam staan, die zorgt voor het pushen van berichten naar diverse mobiele besturingssystemen. ‘Eén bericht gaat erin en twaalf, vijftien of wel veertig miljoen stuks gaan eruit. Het is super highly scalable en volledig abstracted.’ Vasters legt uit dat dit een nuttige dienst is voor het massaal doorgeven van bijvoorbeeld sportuitslagen en ‘brekend’ nieuws.
Slim berichtenverkeer
Een tweede spin-off die Vasters noemt, zijn hybrid connections. Deze gaan verder dan simpelweg berichten voor menselijke ontvangers. Het gaat hier om messaging-mogelijkheden voor serverapplicaties onderling. ‘Voor data die je, bijvoorbeeld om juridische redenen, on-premises wilt houden.’ Een databaseserver met die data kan dan middels socketverbindingen toegankelijk zijn voor een andere serverapplicatie. Het gebruik van sockets in plaats van relatief zwaardere vpn-verbindingen helpt ook de beveiliging. ‘Sockets zijn functie- en protocolgebonden, zoals alleen sql of alleen rdp’, legt Vasters uit.
Een gloednieuwe spin-off, nu in publieke preview, is IoT Hub. Dit berichtenknooppunt specifiek voor het internet of things (IoT) bouwt bovenop het fundamentele messaging-werk dat al is verricht voor Azure. De IoT Hub verbindt miljoenen devices voor tweewegsverkeer. ‘Ongeacht besturingssysteem, device footprint en andere vereisten’, benadrukt Vasters. ‘Alles wat niet een volledige pc, tablet of smartphone is.’ Het hedendaagse Microsoft laat zijn voorkeur voor eigen platformen los en omarmt wat er in de markt veel in gebruik is. Dat geldt ook voor het IoT.
Biljoenen berichten en miljoenen things
De IoT Hub omvat ook Events Hub, die volgens Vasters al een messaging-verkeerslast van meer dan anderhalf biljoen berichten per maand aankan. Niet als piek, maar als sustained vermogen. ‘Dat komt neer op vierhonderdduizend messages per seconde. We halen dit jaar twee biljoen messages per maand’, belooft hij. Zijn belofte is geen grootspraak want de benodigde capaciteit voor twee biljoen maandelijkse messages is nu al aanwezig in Microsofts datacenters, aldus Vasters.
Daarbij moet een enkele IoT Hub wel tien miljoen eenvoudige apparaten (things) kunnen bedienen. Dat aantal van tien miljoen is een concreet getal waar bijvoorbeeld autofabrikanten om vragen, legt de messaging-architect uit. Vanuit it bekeken bestaat een enkele connected auto natuurlijk weer uit meerdere things voor het IoT. Vasters vertelt dat Microsoft ook voorziet in mogelijkheden voor bundeling (aggregatie) middels zogeheten ‘field gateway capabilities’. Daardoor vallen diverse things dan te zien als één ding, met daarachter dan diverse diensten en messaging-behoeften.
Telemetrie en Halo
De crux bij IoT-toepassingen is dat messaging én tweewegsverkeer is én verschillende soorten data betreft. Laatstgenoemde loopt uiteen van commando’s voor de IoT-hardware, informatieverzoeken aan die eenvoudige apparaten, telemetriegegevens ván die hardware, et cetera. Vasters bevestigt dat Microsoft veel van deze mogelijkheden zelf al benut voor eigen systemen en toepassingen. De toepassingen lopen uiteen van gaming via app-telemetrie tot aan industriële systemen (scada, supervisory control and data acquisition), weet Vasters.
Hij noemt als concreet voorbeeld de bekende Xbox-game Halo. Daarvoor wordt via een peer-to-peer netwerk tussen Xbox’en telemetriedata van de spelers gesynchroniseerd. ‘Hoeveel headshots, met welk wapen, hoeveel achievements’, somt Vasters op. Halo 4 is al voorloper wat messaging- en events-technologie betreft, maar de volgende game in de serie legt de lat flink hoger.
Petabytes per maand
Recent zijn er ook nieuwe telemetriemogelijkheden toegevoegd aan Windows op clientsystemen. Deze mogelijkheden dienen om de klantervaring te verbeteren en om bijvoorbeeld app-crashes beter te analyseren. Vasters kan niet officieel bevestigen dat het hier om soortgelijke messaging-diensten vanuit de cloud gaat. ‘Events Hubs is instrumenteel voor onze first party-producten’, geeft hij aan. Ondertussen neemt de schaal van Microsofts messagingverkeer alsmaar toe: de totale last ligt nu op 7,8 petabyte per maand. De twee biljoen messages per maand liggen in zicht. ‘Daar hebben we geen extravagante dingen voor nodig’, verzekert Vasters.
Meer messaging-behoefte?
Meer willen weten over messaging? Clemens Vasters bezoekt op donderdag 1 oktober 2015 Nederland, voor een KaaS-sessie (knowledge as a service) bij Axon Olympus. De lead architect van Microsoft vertelt daar meer over messaging voor real-time data.
Wat een onzinartikel, kijkend naar de ‘write’ dan blijkt de schaalbaarheid opeens heel wat kleiner. Misschien dat Clemens zich in moet lezen in de case van middleware problemen bij een bank een paar jaar geleden. Het gemis aan een ‘rollback’ in dit soort oplossingen zorgt ervoor dat de leugen niet meer achterhaald wordt door de waarheid.