UNE MIGRATION SUR AWS
Une migration orientée produit
QUI SUIS-JE ?
Romain Kuzniak
Responsable technique
@RomainKuzniak
OPENCLASSROOMS
Offre de formation sur la transformation digitale
et les nouvelles technologies
Ouvert à tous, du débutant à l’expert, de
l’étudiant au professionnel en passant par les
personnes en reconversion
OPENCLASSROOMS
1000 cours et MOOC
1 million de membres
2,5 millions de visiteurs uniques par mois
15 à 20 millions de pages vues par mois
Première plateforme de digital learning d’Europe
IL ÉTAIT UNE FOIS …
1999 : création du site par Mathieu Nebra (13 ans), hébergement
gratuit fourni par la FAI de son père
2000 : même hébergeur, url gratuite siteduzero.fr.st
2002 : hébergement mutualisé OVH (siteduzero.com)
2004 : appel aux dons pour l’achat d’un serveur dédié dans une
baie infogérée par OVH
2006 : second appel aux dons et hébergement chez Din’hosting
2010 : Gandi Cloud
mi-2010 : retour chez Din’hosting suite à des problèmes
récurrents de disque sur Gandi Cloud
2011 : achat de plus de serveurs et passage en cloud privé chez
Din’hosting
2013 : Heroku
mi-2013 : retour sur nos serveurs suite aux problèmes de stack
d’Heroku
2015 : AWS
Infonie
OVH
Serveurs

dédiés
Serveurs

dédiés
Serveurs

dédiés
Serveurs

dédiés
AWS
HerokuGandi
2002 2004 2006 2010 2011 2013 20151999
NOTRE INFRASTRUCTURE N’EST PLUS
ADAPTÉE À NOS BESOINS
Trafic
Services
Workflow de création des fonctionnalités
QUELLE PLATE-FORME DEVONS-NOUS
CHOISIR ?
QUELLE PLATE-FORME DEVONS-NOUS
CHOISIR ?
QUE VOULONS-NOUS FAIRE ?
NOTRE MÉTIER CONSISTE À CRÉER LA
MEILLEURE PLATE-FORME DE DIGITAL
LEARNING DU MONDE
i.e. : l’infrastructure est un moyen d’y arriver
OpenClassrooms doit être
fonctionnel
Disponibilité de tous les services
OpenClassrooms doit être
toujours accessible
Acteur du domaine sérieux et établi
OpenClassrooms doit être réactif Puissance serveur
OpenClassrooms doit être réactif
quelle que soit la charge
Auto Scalling
OpenClassrooms doit être réactif
partout dans le monde
Multi region
L’utilisateur doit avoir ses
données sécurisées
Cryptage des données, passif de
sécurité
Les données d’OpenClassrooms
doivent être toujours accessibles
Mécanismes de Backup performants
L’AGILITÉ EST AU COEUR DE L’ENTREPRISE
Les développeurs doivent pouvoir
surveiller le bon fonctionnement
de l’application
Outils de monitoring disponibles
Les développeurs font des mises
en production plusieurs fois par
jour
Mécanisme de déploiement continu
rapide et automatisé
La QA nécessite plusieurs
environnements de pré-
production
Possibilité de créer des
environnements à la volée
OpenClassrooms doit pouvoir
évoluer facilement
Possibilité d’ajouter de nouveaux
services facilement
UNE SEULE PLATE-FORME EST CAPABLE DE
RÉPONDRE À TOUS CES CRITÈRES
AWS
COMMENT ALLONS-NOUS FAIRE ?
NOTRE MÉTIER CONSISTE À CRÉER LA
MEILLEURE PLATE-FORME DE DIGITAL
LEARNING DU MONDE
i.e. : notre métier n’est pas de créer ni de maintenir l’infrastructure
AWS
Participation à un AWSome Day
Prise en charge par AWS Startups
Accompagnement de notre projet
MOREA
AWS Advanced Consulting Partner
Pure player AWS
Partage des mêmes valeurs (best practices,
agilité …)
Envie de travailler avec nous
COMMENT AVONS-NOUS FAIT ?
PROCESSUS AGILES
Itératif
Incremental
Adaptatif
BEST PRACTICES
Design for failure
Decouple your components
Implement elasticity
Think parallel
Security
…
DÉROULEMENT DE LA MIGRATION
Définition des besoins et de l’architecture
Préparation de l’application à un environnement Cloud
Migration en amont des services pouvant être migrés
indépendamment
Tests fonctionnels
Tests de performance
Migration de la production
PRINCIPAUX ÉLÉMENTS DE LA STACK
TECHNIQUE
PHP 5.6 / Symfony2
PostgreSQL
Redis / Memcache
Elastic Search
Mais aussi :
MySQL, ruby …
PRINCIPAUX SERVICES AWS UTILISÉS
EC2
AutoScalling
Elastic Load Balancing
S3
Glacier
Cloudfront
RDS
ElastiCache
VPC
Route 53
KMS
QUELQUES CHIFFRES
3 mois (le temps entre la signature du contrat
avec Morea et la disponibilité du site sur AWS)
30 (le nombre d’instances EC2)
2k (le nombre de requêtes par minute sur nos
frontaux web)
CE QUE NOUS ALLONS FAIRE
Court terme :
Améliorations de nos outils de développement
Améliorations de nos outils de QA
Moyen terme :
Migration et développement de nos outils de BI
Mise en place de Machine Learning
Utilisation des mobile services (Cognito, Mobile Analytics, SNS)
Long terme :
Multi region
…
REMERCIEMENTS
AWS Startups
Lois Baude
Morea
Adrien Pestel et Frédéric Atlan
Patrick Decat
MERCI

Une migration sur AWS, une migration orientée produit

  • 1.
    UNE MIGRATION SURAWS Une migration orientée produit
  • 2.
    QUI SUIS-JE ? RomainKuzniak Responsable technique @RomainKuzniak
  • 3.
    OPENCLASSROOMS Offre de formationsur la transformation digitale et les nouvelles technologies Ouvert à tous, du débutant à l’expert, de l’étudiant au professionnel en passant par les personnes en reconversion
  • 4.
    OPENCLASSROOMS 1000 cours etMOOC 1 million de membres 2,5 millions de visiteurs uniques par mois 15 à 20 millions de pages vues par mois Première plateforme de digital learning d’Europe
  • 5.
    IL ÉTAIT UNEFOIS …
  • 6.
    1999 : créationdu site par Mathieu Nebra (13 ans), hébergement gratuit fourni par la FAI de son père 2000 : même hébergeur, url gratuite siteduzero.fr.st 2002 : hébergement mutualisé OVH (siteduzero.com) 2004 : appel aux dons pour l’achat d’un serveur dédié dans une baie infogérée par OVH 2006 : second appel aux dons et hébergement chez Din’hosting 2010 : Gandi Cloud mi-2010 : retour chez Din’hosting suite à des problèmes récurrents de disque sur Gandi Cloud 2011 : achat de plus de serveurs et passage en cloud privé chez Din’hosting 2013 : Heroku mi-2013 : retour sur nos serveurs suite aux problèmes de stack d’Heroku 2015 : AWS Infonie OVH Serveurs
 dédiés Serveurs
 dédiés Serveurs
 dédiés Serveurs
 dédiés AWS HerokuGandi 2002 2004 2006 2010 2011 2013 20151999
  • 7.
    NOTRE INFRASTRUCTURE N’ESTPLUS ADAPTÉE À NOS BESOINS
  • 8.
  • 9.
  • 10.
    QUELLE PLATE-FORME DEVONS-NOUS CHOISIR? QUE VOULONS-NOUS FAIRE ?
  • 11.
    NOTRE MÉTIER CONSISTEÀ CRÉER LA MEILLEURE PLATE-FORME DE DIGITAL LEARNING DU MONDE i.e. : l’infrastructure est un moyen d’y arriver
  • 12.
    OpenClassrooms doit être fonctionnel Disponibilitéde tous les services OpenClassrooms doit être toujours accessible Acteur du domaine sérieux et établi OpenClassrooms doit être réactif Puissance serveur OpenClassrooms doit être réactif quelle que soit la charge Auto Scalling OpenClassrooms doit être réactif partout dans le monde Multi region L’utilisateur doit avoir ses données sécurisées Cryptage des données, passif de sécurité Les données d’OpenClassrooms doivent être toujours accessibles Mécanismes de Backup performants
  • 13.
    L’AGILITÉ EST AUCOEUR DE L’ENTREPRISE
  • 14.
    Les développeurs doiventpouvoir surveiller le bon fonctionnement de l’application Outils de monitoring disponibles Les développeurs font des mises en production plusieurs fois par jour Mécanisme de déploiement continu rapide et automatisé La QA nécessite plusieurs environnements de pré- production Possibilité de créer des environnements à la volée OpenClassrooms doit pouvoir évoluer facilement Possibilité d’ajouter de nouveaux services facilement
  • 15.
    UNE SEULE PLATE-FORMEEST CAPABLE DE RÉPONDRE À TOUS CES CRITÈRES
  • 16.
  • 17.
  • 18.
    NOTRE MÉTIER CONSISTEÀ CRÉER LA MEILLEURE PLATE-FORME DE DIGITAL LEARNING DU MONDE i.e. : notre métier n’est pas de créer ni de maintenir l’infrastructure
  • 19.
    AWS Participation à unAWSome Day Prise en charge par AWS Startups Accompagnement de notre projet
  • 20.
    MOREA AWS Advanced ConsultingPartner Pure player AWS Partage des mêmes valeurs (best practices, agilité …) Envie de travailler avec nous
  • 21.
  • 22.
  • 23.
    BEST PRACTICES Design forfailure Decouple your components Implement elasticity Think parallel Security …
  • 24.
    DÉROULEMENT DE LAMIGRATION Définition des besoins et de l’architecture Préparation de l’application à un environnement Cloud Migration en amont des services pouvant être migrés indépendamment Tests fonctionnels Tests de performance Migration de la production
  • 25.
    PRINCIPAUX ÉLÉMENTS DELA STACK TECHNIQUE PHP 5.6 / Symfony2 PostgreSQL Redis / Memcache Elastic Search Mais aussi : MySQL, ruby …
  • 27.
    PRINCIPAUX SERVICES AWSUTILISÉS EC2 AutoScalling Elastic Load Balancing S3 Glacier Cloudfront RDS ElastiCache VPC Route 53 KMS
  • 28.
    QUELQUES CHIFFRES 3 mois(le temps entre la signature du contrat avec Morea et la disponibilité du site sur AWS) 30 (le nombre d’instances EC2) 2k (le nombre de requêtes par minute sur nos frontaux web)
  • 29.
    CE QUE NOUSALLONS FAIRE
  • 30.
    Court terme : Améliorationsde nos outils de développement Améliorations de nos outils de QA Moyen terme : Migration et développement de nos outils de BI Mise en place de Machine Learning Utilisation des mobile services (Cognito, Mobile Analytics, SNS) Long terme : Multi region …
  • 31.
    REMERCIEMENTS AWS Startups Lois Baude Morea AdrienPestel et Frédéric Atlan Patrick Decat
  • 32.