À la fin de mon stage de Master et avant le début de mon premier CDI, le chef de mon chef m’a demandé : « On a un gros projet PHP qui arrive… Tu connais PHP ? ». Mon site perso était en PHP, je croyais que je connaissais bien…
Quelques mois plus tard, j’avais utilisé des frameworks et un ORM. J’avais découvert le SQL, les DTO, le MVC et SOAP. Et codé en Javascript et écrit du CSS, subi des tests de charge et découvert le profiling. Vingt ans et des centaines de découvertes plus tard, je suis convaincu que notre métier est d’apprendre — et de choisir où concentrer nos efforts.
Aujourd’hui, nous allons suivre le périple d’une requête HTTP émise vers votre application. En chemin, nous rencontrerons de belles technologies, étudierons certains de leurs cas d’usage, éviterons des pièges parfois mortels, et vivrons de belles aventures !
J’espère vous aider à saisir à quel point notre métier est un assemblage de multiples compétences et à choisir les prochaines technologies avec lesquelles vous voudrez expérimenter. Vous en tirerez aussi peut-être des voies d’améliorations pour vos projets… Et des idée de prochaines étapes pour votre carrière.
Pour la plupart d’entre nous, installer une application PHP + MySQL sur une seule machine n’est plus qu’un souvenir d’un lointain passé — ou une légende racontée au café. Désormais, nous développons des plateformes composées de dizaines de services, que nous assemblons à travers « le réseau ». Nous concevons, déployons et essayons de maintenir des systèmes distribués.
Mais qu’est-ce qu’un système distribué ? Quelles contraintes subit-il ? Et surtout, quels dangers devons-nous anticiper quand nous architecturons des applications distribuées que nous souhaitons efficientes, performantes et résilientes ?
Transactions à travers plusieurs serveurs, stockage et cache, microservices et communication asynchrone : autant de préoccupations qui deviennent notre quotidien et que nous découvrirons ensemble ! Nous plongerons aussi dans des scénarios de pannes classiques et décrirons des architectures et solutions pour nous en protéger.
Bienvenue dans le monde merveilleux des systèmes distribués !
En 2018, nous avons entamé la migration de la plateforme 6play vers Le Cloud. À présent, nous pilotons notre infrastructure AWS avec Terraform, utilisons des services managés et déployons nos applications sous Kubernetes.
Pendant cette conférence, vous découvrirez comment nous avons réalisé cette migration. Vous trouverez des réponses aux questions que vous vous posez si vous envisagez de revoir votre hébergement. Comment avons-nous transformé notre infrastructure ? Quels impacts sur nos projets ? Comment nous sommes-nous organisés ? Quels choix avons-nous effectués tout au long du processus ? Qu’avons-nous appris, qu’avons-nous fait évoluer ? Comment nos équipes se répartissent-elles les tâches ? Avons-nous dû adapter nos applications PHP ? Quelles difficultés avons-nous rencontrées, quels compromis avons-nous acceptés et quelle route nous reste-t-il à parcourir ?
Je commencerai par présenter les bases de l’Infrastructure as Code avec Terraform et de l’orchestration de conteneurs avec Kubernetes. Nous enchainerons avec un retour d’expérience de notre migration de la plateforme 6play vers Le Cloud.