Cet article est le premier d’une série articulée autour de l’automatisation d’Amazon Connect.

Introduction

La maintenance et l’évolution d’un centre de contact est une opération qui est longue et fastidieuse, mais avec l’aide de l’API Amazon Connect, il est aujourd’hui possible d’automatiser toute son évolution.

Cela permet entre autres de:

  • Accélerer et fiabiliser les mises en production avec la possibilité de rétablir une version précédente en cas d’erreur
  • Sécuriser les données opérationnelles dans des dépôts séparés de la console AWS
  • Répliquer une instance d’un centre de contact

L’API Amazon Connect est disponible au travers de différents SDK et grâce à leur récente évolution il est possible de faire toutes les actions présentes dans la console AWS en ligne de commande.

Dans quel contexte?

Considérons l’architecture suivante qui permet par exemple de gérer de manière centralisée l’ensemble des messages qui seront lus aux utilisateurs dans les flux d’appel:

  • Une base de données AWS DynamoDB pour stocker les messages,
  • Une fonction “serverless” Lambda pour y accéder et
  • Une instance d’un centre de contact Amazon Connect.

Dans ce contexte, on souhaite alors sauvegarder les aspects suivants:

  • Les différents “messages”
  • Les flux d’appel

Dans un contexte opérationnel réel nous aurions à sauvegarder l’ensemble des éléments d’Amazon Connect:

  • les flux de contact
  • les files d’attentes
  • les profils de routage des agents
  • les quick connects
  • etc…

Chaîne CI/CD

Nous allons donc mettre en place la chaîne d’outils suivante:

  • Un dépôt Git qui servira de source pour les déploiements. Il contiendra les données du centre de contact
  • Un projet AWS CodeBuild qui va déployer le contenu du dépôt Git sur une instance de connect
  • Un project AWS CodeBuild qui va sauvegarder notre instance sur le dépôt Git

Le SDK AWS au service de l’automatisation

Prérequis

Il faudra d’abord créer un dépôt Git, ainsi que l’instance Amazon connect qui va recevoir les données.

Étape 1. Sauvegarde

La première procédure à mettre en place sera la sauvegarde d’une instance, qu’il est possible d’automatiser en utilisant le SDK AWS, qui via des scripts dédiés qui pourront, en une simple exécution, produire la totalité de votre configuration Connect sous forme de fichier JSON versionnés sur votre dépôt Git.

Étape 2. Déploiement

Une fois les données sauvegardées, il faut les déployer, également via le SDK AWS qui va configurer le centre Amazon Connect avec les données sauvegardées plus tôt. En quelques minutes, votre instance vierge sera une copie exacte de l’existant.

Evolutions futures

Les deux instances maintenant au même niveau, il existe différentes possibilités pour les faire évoluer conjointement:

  • Soit en utilisant une instance comme playground, puis on la sauvegarde, et enfin on la réplique
  • Soit on modifie les JSON de données sur le dépôt Git directement, et on déploie sur toutes les instances

Intégration dans votre CI/CD actuelle

Il sera également possible d’ajouter aux projets Codebuild vos procédures existantes pour les backup/deploy de DynamoDB et/ou AWS Lambda, et ainsi automatiser votre centre de contact dans le respect de votre solution existante, sans aucune modification de son architecture, et donc de sa complexité.

Conclusion

L’automatisation est une manière facile et rapide d’améliorer et de fluidifier le cycle de vie de votre centre de contact, tout en augmentant sa résilience au prix de quelques lignes de code. Cela permet également de converger vers une solution de centre de contact unique, dont on aura l’assurance de son bon fonctionnement quel que soit la région dans laquelle on le déploie.