Il y a 5 ans -

Temps de lecture 6 minutes

Série spéciale AWS re:Invent 2017 – Service mobile, EC2 et Active MQ

4e et avant dernier article de notre série revenant sur les annonces nous ayant marqués lors de la récente AWS re:Invent, nous vous proposons un programme rapide mais diversifié avec un nouveau service exposant du GraphQL, une agréable nouveauté côté facturation des instances EC2, ainsi qu’un nouveau broker de messages managé !

Ne manquez pas le dernier article de notre série dans quelques jours ! Pour rappel, les autres articles de cette série de décembre sont :

  1. Vendredi 8 décembre : Orchestration de conteneurs
  2. Lundi 11 décembre : Une flopée d’annonces pour Lambda
  3. Jeudi 14 décembre : Stockage de données
  4. Lundi 18 décembre : Service mobile, EC2 et Active MQ (vous êtes ici)
  5. Jeudi 21 décembre : Réalité virtuelle & augmentée et Machine Learning 

AppSync

Amazon Ec2 T2 Unlimited : Bénéficier des prix avantageux des T2.* sans être bridé

Amazon MQ – un broker de message managé

AppSync

Voilà une annonce à laquelle on ne s’attendait pas vraiment. AWS AppSync permet aux applications mobiles et sites web de faire du temps réel, d’envoyer les données mises à jour au client après une reconnexion, le tout en communiquant avec le langage de requête GraphQL.

Pour ceux qui ne le connaissent pas, GraphQL est un langage de requête créé par Facebook qui vous permet de demander ou de modifier les données exactes dont vous avez besoin (ou de vous y abonner) en une seule demande réseau. 

Le SDK AppSync est disponible pour iOS, Android et JavaScript (Web et ReactNative) et offre automatiquement à vos applications les fonctions temps réel et hors connexion. Avec AWS AppSync, votre application peut accéder aux données dans DynamoDB, déclencher les fonctions Lambda ou exécuter les requêtes Elasticsearch. Il s’intègre aussi aux groupes d’utilisateurs AWS Identity and Access Management (IAM) et Amazon Cognito. Vous pouvez définir des autorisations détaillées sur les opérations GraphQL et préserver la sécurité des utilisateurs et des données des applications.

Voici les quelques concepts liés à AWS AppSync :

  • AppSync Client : client qui définit les opérations, gère le mode offline et encapsule les autorisations pour les requêtes.
  • Identity : contexte de permissions et identification de la requête au Proxy GraphQL
  • GraphQL Proxy : le moteur GraphQL qui exécute et associe les requêtes, gère la résolution de conflits et les contrôles d’accès aux données.
  • Les Opérations GraphQL :
    • Les requêtes (Query) : requêtes pour demander des données (en lecture seule).
    • Les Mutations : requêtes d’écriture des données qui remontent en réponse les données demandées par le client.
    • Les Souscriptions : connexions « longue durée » qui envoient des données basées sur des évènements, qui peut être vu comme du WebSocket.
  • Action : notification aux clients qui ont souscrit à une souscription GraphQL suite à un événement associé.
  • Resolver et DataSource : fonction (Resolver) qui fait l’association requête / réponse en allant piocher dans le DataSource les données demandées.

AWS AppSync est disponible en version préliminaire dans les régions suivantes : US Est (Virginie du Nord), US Est (Ohio) et US Ouest (Oregon). Pour en savoir plus, lisez le blog d’AWS, et pour vous inscrire à la version préliminaire publique, cliquez ici pour faire une demande d’accès.

Amazon EC2 T2 Unlimited : bénéficier des prix avantageux des t2.* sans être bridé

Les instances de type T2 sont adaptées à des charges de travail dont l’utilisation CPU est inférieure ou égale à la baseline. En effet une fois tous les crédits CPU utilisés le CPU est limité à la baseline définie dans la documentation. Les T2 Unlimited permettent de profiter des prix avantageux des T2 tout en ayant la garantie de ne pas être bridé en CPU. Pour cela, un système d’emprunt de crédits est mis en place par AWS. Une instance peut emprunter le nombre maximum de crédit qu’elle peut gagner en 24H (72 pour une t2.micro) : max(“CPUSurplusCreditBalance”) == max(“CPUCreditBalance”).

Au delà, la métrique CloudWatch “CPUSurplusCreditsCharged” évolue et indique à coup sûr une charge additionnelle sur la facture.

Dans le détail :

  • Une instance T2 unlimited ne se voit pas attribuer 30 crédits par VCPU au lancement
  • Cette option s’active à la création de l’instance mais peut également être positionnée sur des instances en fonctionnement.
  • Si l’utilisation moyenne du CPU dépasse la baseline, une facturation supplémentaire de $0,05 par VCPU/heure sera émise.
  • Les charges pour les “CPUSurplusCreditBalance” restants sont déclenchées quand l’instance est terminée ou repasse en mode T2 Standard.

Les détails de l’annonce sont compilés dans l’article de blog de Jeff Barr.

Amazon MQ – un broker de message managé

AWS propose désormais un message broker entièrement géré. Ce service s’appuie sur le message broker open-source Active MQ et permet de simplifier sa mise en place.

Le service permet à des applications de bénéficier des mécanismes offerts par Active MQ : queues, topics, abonnements durables ou éphémères, server push ou polling. Les protocoles offerts par Active MQ sont également supportés : JMS, NMS, AMQP, STOMP, MQTT et WebSocket.

Contrairement aux services serverless SQS ou SNS ce service permet de brancher des applications existantes sans avoir à modifier leur code – pas de SDK propriétaire – uniquement le SDK d’Active MQ ou un SDK compatible avec un protocole supporté par Active MQ.

À l’inverse des services serverless et à l’instar des services RDS (MySQL, PostgreSQL, …) le service Amazon MQ se déploie sur des instances EC2 dédiées. Il est lui aussi installé et configuré par AWS et bénéficie donc des avantages d’une installation et gestion automatisée : disponibilité des messages et détection des pannes avec reprise. Il hérite également des inconvénients et caractéristiques d’un service géré : mise à jour de la configuration par période de maintenance ou au redémarrage des instances EC2 et limites d’utilisation et de stockage.

Le service bénéficie d’une haute disponibilité à 2 niveaux. Tout d’abord le stockage des messages est redondé sur plusieures zones de disponibilité au sein d’une même région. Ensuite, la possibilité est offerte à l’utilisateur de créer le service avec 2 instances Active MQ réparties sur des zones de disponibilité différentes avec une instance active et une instance en stand-by. L’instance en stand-by devient active en cas de défaillance de la première et reprend sur la base d’un stockage partagé entre les 2 instances.

Le service s’intègre bien évidemment aux fonctionnalités d’identité et contrôle d’accès (IAM) ainsi qu’aux fonctionnalités de surveillance CloudWatch.

Pour conclure sur ce service Amazon MQ, il s’adapte parfaitement à des applications déjà intégrées à Active MQ puisqu’il n’implique que très peu, voire pas du tout de modification de code existant. Il est également intéressant dans le cas où l’on veut tirer parti des fonctionnalités spécifiques de gestion des messages offerte par Active MQ : typiquement le mode server push qui manque cruellement à SQS.

Publié par Sergio Dos Santos

Craft / DevOps / Back / Front / Cloud

Publié par Paul-Guillaume Dejardin

Développeur fullstack Javascript

Commentaire

1 réponses pour " Série spéciale AWS re:Invent 2017 – Service mobile, EC2 et Active MQ "

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous recrutons

Être un Sapient, c'est faire partie d'un groupe de passionnés ; C'est l'opportunité de travailler et de partager avec des pairs parmi les plus talentueux.