Infrastructure agile avec CloudFormation · Valider vos templates cloudformation : aws...

Post on 16-Oct-2020

6 views 0 download

Transcript of Infrastructure agile avec CloudFormation · Valider vos templates cloudformation : aws...

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Julien SIMON, Principal Technical Evangelist, AWS

@julsimon

Antoine GUY, Infrastructure Architect, Viadeo

Infrastructure agile avec

CloudFormation

Traditional IT

Goal: Reliability

Value: Price/Performance

Approach: Waterfall

Governance: Plan-driven approvals

Sourcing: Enterprise suppliers,long-term deals

Talent for: Processes, projects

Culture: IT-centric, removedfrom customer

Cycle-times: Long (months)

Picture: Wikimedia Commons

Hardware-driven IT

Old IT

Software on virtual hardware

“Private Cloud”

Even older IT

Software on hardware

1:1

“New Style” of IT

Goal: Agility

Value: Revenue, brand,customer experience

Approach: Agile, Kanban

Governance: Empirical, continuous

Sourcing: Small, new vendors,short-term deals

Talent for: New and uncertainprojects

Culture: Business-centric, close tocustomer

Cycle-times: Short (days, weeks)

Picture: Wikimedia Commons

New IT

• Unlimited resources

• No financial risk

• Software-defined,

dynamic architecture

• 100% automated

• Flexible

• Deployed in minutes

• World-wide

• Secure

• Robust

© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Antoine Guy, Infrastructure Architect

Viadeo

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.

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.

Automatisation Scalabilité Agilité

Bonus : Intégration et Déploiement continus.

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

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.

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

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 !

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.

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.

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 !

Des questions ?

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/

AWS User Groups

Lille

Paris

Rennes

Nantes

Bordeaux

Lyon

Montpellier

Toulouse

facebook.com/groups/AWSFrance/

@aws_actus

Merci!