8. § Architecture SOA récente.
§ Backend métier java (CQRS, DDD, Event based).
§ Frontend apps in node.js.
§ Mobiles apps and middle-ends.
§ Backends : MySQL, ES, RabbitMQ, memcached, Hadoop, Spark.
§ 100% Puppet.
§ 15 baies en colocation.
9. Problèmes ?
§ Un datacenter vieillissant et distant.
§ Des serveurs en fin de vie.
§ Une infra réseau compliquée à opérer.
§ Une agilité grandissante, mais une barrière entre
DevOps et infra.
à Refonte complète de l’infrastructure.
11. Infrastructure as Code
§ Les meilleures pratiques venues du dev.
§ L’infra est versionnée, auditable, partagée.
§ L’infra est testée en continu.
§ Réutilisable dans toutes les régions!
= dette technique *
* Soofi Safavi - re:invent 2015 - https://youtu.be/WL2xSMVXy5w
12. Cloudformation
§ Infrastructure as Code sur AWS
§ Permet de créer un ensemble de resources et leur configuration :
une stack
§ Un language de template basé sur Json.
§ Des outils pour tester et déployer : web interface, cli, sdk.
13.
14. Automate all the things!
§ Valider vos templates cloudformation :
§ aws cloudformation validate-template
§ Créez vos outils de tests et déploiement (sdk, cli, api)
§ standardiser l’utilisation
§ faciliter l’adoption
§ Intégrer le tout dans un outil de CI : circle-ci, jenkins.
= dette technique
15.
16. Créer vos images machine : AMI baking
§ AMI = Amazon Machine Image.
§ Définir des roles/profiles dans le configuration management.
§ Utiliser Packer pour créer une AMI par rôle (packer.io).
§ Un changement dans le code déclenche un rebuild d’AMI => CI
§ Automate all the things !
17.
18.
19. Cloudformation best practices
§ Utiliser Cloudformer pour démarrer.
§ Organiser votre code :
§ Users, base network, dns, templates, backends, frontends…
§ Créer des templates réutilisables : Nested stacks, parameters.
§ Séparer chaque composant dans une stack.
§ Créer 2 stacks identiques pour du green/blue deploy.
§ Tagger tout, dès le début !
§ Créer vos outils de test/déploiement.
20. Results, Numbers
§ 87 Stacks deployées en prod et staging
§ 7 templates génériques.
§ 250-300 instances, 6 VPCs.
§ 0 instance créé à la main.
§ < 10 mins pour créer un composant.
§ Quelques heures pour recréer toute l’infra.
21. Next?
§ Optimisation des coûts
§ Autoscaling = +50% de réduction de coût.
§ Spot instance pour EMR : 80% de réduction de
coût.
§ Changement de région
§ Se rapprocher de nos utilisateurs = gains de
performance !
24. Pour aller plus loin
https://aws.amazon.com/fr/cloudformation/
https://aws.amazon.com/quickstart/
https://blogs.aws.amazon.com/application-management
https://aws.amazon.com/fr/awsomeday/
Prochaine édition le 28 juin à Paris
https://aws.amazon.com/fr/events/