Edmodo est un réseau social qui permet aux enseignants de créer et d'entretenir des communautés à partir de leurs classes. Les enseignants peuvent partager des questionnaires et des notes de manière individuelle avec les étudiants et communiquer avec des groupes d'étudiants. Depuis sa création en 2008, Edmodo a été largement adopté par la communauté académique, depuis la maternelle jusqu'à la fin du secondaire.

Au début, toutes les bases de données d'Edmodo étaient des instances Amazon Elastic Compute Cloud (Amazon EC2) exécutant des bases de données MySQL. Suite à un essor rapide, l'équipe des opérations a été obligée de se concentrer sur l'entretien quotidien des bases de données MySQL au lieu d'autres services backend pour prendre en charge de nouvelles fonctionnalités et gérer la croissance future.

Edmodo a choisi Amazon Relational Database Service (Amazon RDS) pour trois raisons principales : la productivité, la haute disponibilité et la convivialité à moindre coût.

Augmentation de la productivité de l'équipe : Amazon RDS simplifie le déploiement et la gestion des bases de données en automatisant des tâches fastidieuses telles que l'installation logicielle et l'application des correctifs, la surveillance et les sauvegardes de bases de données.

A l'automne 2011, au début de l'année scolaire, Edmodo enregistrait 250 000 nouveaux étudiants par semaine. Au cours de cette croissance soudaine, l'entreprise a réalisé que le déploiement MySQL 5.1 avait atteint ses limites de connexion et a donc décidé de passer au MySQL 5.5. L'organisation avait moins de 16 heures pour réaliser la mise à niveau afin de minimiser l'impact sur les clients. Jack Murgia, ingénieur opérations Web sénior chez Edmodo, déclare à propos de cette mise à niveau : « Ce que je trouve incroyable, c'est qu'une seule personne de l'équipe opérations (moi) et un administrateur de base de données ont été capables de tester le processus de cette migration avec une fiabilité de 100 %, sans toucher à l'environnement de production avant qu'il ne soit temps de réaliser la migration. Sans Amazon RDS, la migration n'aurait pas été possible en moins de 16 heures. »

Haute disponibilité : les déploiements sur plusieurs zones de disponibilité (multi-AZ) pour Amazon RDS offrent une réplication de centres de données pour la reprise après sinistre. Edmodo utilise toutes ses bases de données de production dans un déploiement multi-AZ. « Le multi-AZ fonctionne parfaitement », explique Jack Murgia. « Par le passé, j'ai géré un déploiement MySQL multi-maîtres et il demandait un entretien important. Maintenant, je ne pense même plus à notre haute disponibilité. »

Prix et facilité d'utilisation : la tarification à la demande et la console de gestion simplifiée pour Amazon RDS offre une flexibilité économique et technique à la fois. Diego Jiménez, administrateur base de données chez Edmodo, affirme : « Amazon RDS a radicalement simplifié les tâches plus fastidieuses avec des instances normales exécutant MySQL. Nous sommes en mesure d'accélérer les copies de nos bases de données de production en utilisant des réplicas en lecture, en seulement quelques clics, lorsque le département marketing a besoin d'interroger les données de production presque en temps réel. Par le passé, cela aurait pris des heures à créer et à surveiller. »

Edmodo s'exécute entièrement sur Amazon Web Services (AWS). L'illustration ci-dessous est un diagramme de l'architecture qui inclut Amazon RDS, Amazon Route 53, Amazon S3, Amazon CloudWatch, et Amazon CloudFront.

Edmodo Architecture Diagram

Illustration 1. Architecture d'Edmodo sur AWS

Aujourd'hui, les bases de données d'Edmodo prennent en charge plus de 500 connexions par seconde lors des pics d'activité et hébergent plus de 200 000 demandes de site Web par minute. Ancré par Amazon RDS, Edmodo est bien positionné pour étendre sa popularité actuelle.

Jack Murgia conclut : « Amazon RDS permet de gagner du temps. Vous ne pouvez pas surestimer l'effet positif de la simplification des processus et de la réduction des contraintes de temps sur la performance de votre équipe d'opérations. Amazon RDS a pris le temps nécessaire pour déployer des outils de surveillance et de signalement à utilisation sophistiquée, ce que nous avions reporté pendant des mois, permettant la croissance fluide de nos activités. »

Pour en savoir plus sur la façon dont AWS peut vous aider avec vos besoins en matière de bases de données, consultez la page consacrée à Relational Database Service : http://aws.amazon.com/rds/.