Une migration sur AWS, une migration orientée produit

Preview:

Citation preview

UNE MIGRATION SUR AWSUne 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

InfonieOVH

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 MONDEi.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’applicationOutils 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 MONDEi.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

Recommended