Amazon Web Services ne veut pas rater le coche de l'IoT. Après avoir lancé sa plateforme cloud IoT - sur laquelle Salesforce se greffe depuis décembre dernier -, AWS a annoncé en novembre dernier la version bêta de Greengrass, son logiciel d'exécution de services locaux de calcul, de messagerie et de mise en cache des données pour les appareils connectés. Ce dernier est maintenant disponible pour l'ensemble des utilisateurs. « Aujourd'hui nous rendons Greengrass disponible pour tous dans les régions US East (Virginie du Nord) et US West (Oregon) », indique AWS dans un blog. Les appareils connectés avec AWS Greengrass peuvent fonctionner aussi bien sur une base de données locale que dans le cloud : « Dès que l'appareil se reconnecte, Greengrass synchronise les données qu'il contient avec AWS IoT assurant ainsi un fonctionnement optimal quelle que soit la connectivité. » 

 AWS Greengrass

Schéma de fonctionnement d'un groupe Greengrass. (crédit : AWS)

3 SDK disponibles

AWS permet de connecter différents appareils entre eux tournant sous Linux (architectures ARM ou x86) et l'environnement Greengrass Core pour exécuter en local du code basé sur le modèle de programmation AWS Lambda. « Les appareils exécutant AWS Greengrass Core jouent le rôle de concentrateur pouvant communiquer avec les autres appareils sur lesquels le kit SDK pour les appareils AWS IoT est installé, tels que les appareils basés sur des microcontrôleurs ou les dispositifs de grande envergure », précise AWS. « Les appareils AWS Greengrass Core et ceux utilisant le kit SDK pour les appareils AWS IoT peuvent être configurés pour communiquer ensemble par l'intermédiaire d'un groupe Greengrass. Même si l'appareil Greengrass Core perd la connexion au cloud, les appareils du groupe Greengrass peuvent continuer à communiquer entre eux via le réseau local. Un groupe Greengrass peut couvrir l'étage d'un bâtiment, un camion ou une habitation. »

Les fonctions Lambda peuvent utiliser les API de trois SDK, à savoir AWS SDK pour Python pouvant interagir avec S3, DynamoDB, SQS notamment; IoT Device SDK (disponbile pour Node.js, Python, Java et C++); et Greengrass Core SDK autorisant l'invocation locale d'autres fonctions Lambda comprenant l'échange de messages sur un réseau local et la mise en cache de chaque appareil connecté pour comparer leur état actuel de celui attendu. La tarification d'AWS Greengrass est gratuite jusqu'à 3 appareils supportés au-delà desquels il faut compter sans abonnement 0,16 dollar par mois par terminal ou, dans le cas d'un engagement d'un an, d'1,49 dollar par mois par terminal, soit une réduction de 17,5% par rapport au premier mode de facturation.