Le Centre for Software Practice (Centre de pratique logicielle, ou CSP) est une entité de recherche et de développement au sein de la faculté d'ingénierie, d'informatique et de mathématiques de l'université d'Australie-Occidentale (UWA). Etabli en 2006, le centre est une source d'opportunités d'apprentissage concret pour les étudiants d'ingénierie logicielle de l'UWA et réalise des recherches sur l'impact de la technologie dans les communautés en ligne, le développement open source et l'informatique de la santé.

En 2012, après une collaboration avec l'université de Stanford pour obtenir une plate-forme de cours en ligne ouverts et massifs (MOOC), le CSP a créé Class2Go pour offrir divers cours en ligne et examens sur le Web. Puis, le centre a eu besoin d'une infrastructure capable de gérer et d'offrir des ressources éducatives, notamment des vidéos en streaming, des quizz en ligne et des évaluations pratiques de codage, à des milliers de participants en ligne. L'infrastructure devait être capable d'évoluer pour s'adapter à l'offre de nouveaux cours et permettre les interactions entre participants. De plus, le CSP devait financer Class2Go sans faire appel à un tiers, si bien qu'il n'avait qu'un budget limité pour l'infrastructure.

Le CSP a choisi Amazon Web Services (AWS) car le cloud AWS présentait l'évolutivité, les coûts, les fonctionnalités et la sophistication qui correspondaient parfaitement à Class2Go. « Nous n'avons pas envisagé d'autres prestataires, affirme le professeur Glance. De plus, AWS est très facile à utiliser. Nous avons configuré l'infrastructure de Class2Go en un seul après-midi. »

Le CSP déploie la solution Class2Go sur des serveurs web exécutés sur neuf instances Amazon Elastic Compute Cloud (Amazon EC2). Amazon Simple Queue Service (Amazon SQS) envoie les données aux serveurs web et Elastic Load Balancing gère le flux de données entre la plate-forme logicielle et chaque instance Amazon EC2. L'infrastructure est configurée pour exécuter Amazon Simple Email Service (Amazon SES) sur une instance afin de gérer les e-mails des étudiants et utilise une autre instance pour traiter les évaluations de codage. « Lorsqu'un étudiant insère du code, ce dernier est envoyé à l'instance de notation qui note l'évaluation et envoie les résultats », explique le professeur Glance.

La plate-forme utilise une base de données MySQL sur Amazon Relational Database Service (Amazon RDS) pour indexer les informations des cours. Cela permet à Class2Go d'enregistrer les notes et les interactions des étudiants alors que ceux-ci avancent dans chaque cours. Des instantanés de sauvegarde et des réplicas en lecture sont automatiquement créés à partir de toutes les données des étudiants. Le centre utilise également Amazon Simple Storage Service (Amazon S3) pour stocker les ressources pédagogiques telles que les vidéos ou les quizz en ligne.

Le CSP a lancé rapidement et efficacement le premier environnement de production de Class2Go, pour un coût bien inférieur à celui d'une plate-forme en ligne précédente. Le CSP avait déjà travaillé avec des départements du gouvernement australien pour créer MMEx, une plate-forme en ligne permettant aux professionnels de la santé de toute l'Australie de partager des informations sur les patients de manière sécurisée et efficace. « Trois cent mille dollars ont été nécessaires pour fournir la plate-forme de santé électronique MMEx et il a fallu trois ou quatre mois pour exécuter le premier environnement de production, déclare le professeur Glance. Avec AWS, Class2Go a coûté environ 200 USD le premier mois. Actuellement, ses coûts opérationnels mensuels s'élèvent à environ 1 500 USD. »

AWS a permis au CSP d'adapter son environnement de production rapidement et efficacement pour répondre aux attentes en évolution constante de Class2Go. « Ce fut un grand succès au niveau du temps de disponibilité, de la réactivité et des fonctionnalités telles que la mise à niveau transparente vers une instance Amazon EC2 de plus grande taille si la mémoire vient à manquer, explique le professeur Glance. Lorsqu'il s'agit d'opérations quotidiennes, vous concevez les infrastructures puis vous les oubliez quand vous n'en avez plus besoin. »

« L'espace de MOOC est un développement important pour l'éducation supérieure, affirme-t-il. C'est notamment grâce à des plates-formes de cloud comme AWS que cela a été rendu possible. » Le programme AWS in Education, qui évalue les propositions de recherche académique issues d'universités agrégées, a offert une subvention de 10 000 USD au centre pour développer son initiative de MOOC. Le CSP a utilisé cette subvention pour fournir à 130 étudiants une instance Amazon EC2 chacun pour des exercices pratiques. « Nous avons appelé ce concept : 'amener son propre serveur', explique le professeur Glance. C'est une opportunité en or pour les étudiants que d'avoir une partie du cloud qui les suit durant leurs études en ingénierie logicielle. » Si l'expérimentation est un succès, ce modèle sera appliqué à d'autres cours de l'UWA.

L'évolutivité d'AWS a permis au CSP de poser les bases pour une croissance future. « Alors que nous commençons à ajouter les cours, nous espérons que le nombre d'étudiants augmentera pour passer de 2 500 à 20 000 et 30 000, conclut le professeur Glance. Il suffirait d'un cours populaire pour voir plus de 100 000 personnes accéder au système. Grâce à AWS, nous sommes prêts à faire face à ce genre d'augmentation. »

Pour en savoir plus sur la façon dont AWS peut vous aider à déployer vos applications de façon plus rapide et plus rentable, consultez la page dédiée aux applications d'entreprise : http://aws.amazon.com/business-applications/.