Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
AMAZON WEB SERVICES
CHEZ
SPARKLANE
Agenda
2
1.Qui sommes nous?
2.Services AWS utilisés
3.Automatisation
4.Docker et Rancher
5.Intégration et Déploiement cont...
SPARKLANE
QUI SOMMES NOUS?
De Zebaz à Sparklane
80COLLABORATEURS 50%
DE CROISSANCE
EN MOYENNE PAR AN
30%DU CA INVESTI DANS
L’INNOVATION
110%
DE RENOU...
Sparklane, la solution unique qui
réconcilie enjeux marketing et sales
Hyperciblez vos campagnes
marketing grâce à plus de...
Sparklane
6
Différentes Interfaces Client
7
Web App APPS Connecteurs Data Services
Marketing
Sales
Cleaning
EnrichissementERP…
API
Organisation / Architecture Globale
8
News
Société/
contacts
Crawl
Web
- Auto
- Manuel
Aggs
Aggs
Aggs
Micro
service
Micro
...
Organisation / Architecture Globale
9
News Collector
Data Prod
Database App.
Soft
Support
SPARKLANE
&
AWS
Utilisation EC2 Classique
Amazon
EC2
Elastic Load
Balancing
Auto Scaling
Installation Directe
Docker mono-machine (rare ch...
Utilisation EC2 Classique
Amazon
SNS
Amazon
SES
DNS Privé
TTL 1 min!
Backup / Archives
Fichiers de configuration
Postgres ...
Lambda
• Expérimental chez Sparklane
• Peu de cas d’utilisation
• Anecdotique:
• Synchronisation de DNS (ASG + SNS + Lambd...
Services utilisés
14
Amazon
EC2
Elastic Load
Balancing
Auto Scaling
Amazon
S3
Amazon
RDS
Amazon
Route 53
Amazon Elasticsea...
Spoiler…
Amazon
EC2
Elastic Load
Balancing
Auto Scaling
« Pool de machines avec Docker pour Rancher »
Remplacement auto
Sc...
AUTOMATISATION
DE L’INFRA
AWS
Infrastructure as Code
- Versionné (Bitbucket, Github)
- Reproductible (vs. Suivre un doc)
- Rapide (vs. Humain)
- Optimis...
Ansible
- Remplace un script bash
- Playbooks (recettes) partageable
- Elégant (cron, unarchive…)
- Testable en local
- Mo...
Packer par Hashicorp
- Création d’images AWS EC2 (et pas que)
- Il démarre une instance
- Provisionne cette instance (avec...
Terraform par Hashicorp
- Déploiement d’une infrastructure (AWS, …)
- Différentiel (état 1 -> 2)
- Infrastructure as Code
...
Auto Scaling Group / Cloud Init
- Type d’instance EC2, AMI, etc.
- Nombre d’instances
- Règles de Scaling
- Remplacement a...
RANCHER
CHEZ
SPARKLANE
Docker
23
Docker offre la garantie qu’un
même container va s’exécuter
de la même façon partout.
Ordonnanceur Docker
24
Ma précieuse machine
Back
Front
• Si la machine tombe?
• Rolling-update?
• Scaling?
• Haute-Dispo?
...
Ordonnanceur Docker
25
Machine 1
Back
Front
• Si la machine tombe? OK
• Rolling-update? OK
• Scaling?
• Haute-Dispo? OK
• ...
Ordonnanceur Docker « Idéal »
26
Machine 1
Back
Front
• Si la machine tombe? OK
• Rolling-update? OK
• Scaling? OK
• Haute...
Ordonnanceur Docker « Idéal »
• Mise à disposition d’un pool de machines
• Automatisation du déploiement des
container
• L...
Pourquoi Rancher
• Pas de réservation ressources
• Dashboard complet
• Simple pour utilisateurs
• Simple pour Ops (juste b...
Rancher
Pourquoi Rancher
Pourquoi Rancher
Pourquoi Rancher
Stack Applicative
33
API
UI
UI
API
MS1 MS2 MS3
Cron
Stack Applicative
34
API
UI UI
API
MS1 MS2 MS2
Cron
MS3
Stack Applicative (Améliorée)
35
API
UI UI
API
MS1 MS2 MS2
Sched
uler
MS3
LB LB LB
Stack Applicative (Améliorée)
36
API
UI UI
API
MS1 MS2 MS2
Sched
uler
MS3
LB LB LB
Stack Back
Stack Front
37
API
UI UI
API
MS1 MS2 MS2
Sched
uler
MS3
LB LB LB
Amazon Elastic Load Balancer : 80
38
API
UI UI
API
MS1 MS2 MS3
Sched
uler
MS4
LB LB LB
Amazon Elastic Load Balancer : 80
Admin
DNS Privé
(AWS Route
53)
Infrastructure as Code
Environnements
Prod
Recette
DÉPLOIEMENT
(CONTINU)
Build/Déploiement Packer / Terraform
Commit
Build / Test
Push to Maven
Build AMI (Packer +
Ansible)
Terraform Apply Rempla...
Build/Déploiement (Continu) Rancher
Commit
Build / Test
Build Docker
Rancher Deploy V1 V1 V2 API v2
Rolling Upgrade
Load
B...
CONCLUSION
Sparklane sur Rancher
• Mutualisation de ressources (bourrage de machines)
• Déploiement facile, parfois continu
• Plusieu...
Sparklane sur AWS
• Cloud
• Scriptable / Automatisable
• Packer / Terraform
• Maîtrise des coûts
• Mise en place rapide
Upcoming SlideShare
Loading in …5
×

Presentation sparklane aws

638 views

Published on

Présentation de la stack technique de Sparklane: infrastructure sur Amazon Web Service, Docker, Rancher et Infrastructure as Code.

Published in: Software
  • Be the first to comment

Presentation sparklane aws

  1. 1. AMAZON WEB SERVICES CHEZ SPARKLANE
  2. 2. Agenda 2 1.Qui sommes nous? 2.Services AWS utilisés 3.Automatisation 4.Docker et Rancher 5.Intégration et Déploiement continu
  3. 3. SPARKLANE QUI SOMMES NOUS?
  4. 4. De Zebaz à Sparklane 80COLLABORATEURS 50% DE CROISSANCE EN MOYENNE PAR AN 30%DU CA INVESTI DANS L’INNOVATION 110% DE RENOUVELLEMENT CLIENT (EN VALEUR) ACTIONNAIRES SIPAREX / BPI 4 2009 Création 2010 Crowdsourcing Saas 2011 2012 2013 2014 2015 2016 Algorithmes de mises à jour Data as a service R&D Big Data Smart Data Zebaz devient Sparklane App CRM + PARIS NANTES + LONDRES
  5. 5. Sparklane, la solution unique qui réconcilie enjeux marketing et sales Hyperciblez vos campagnes marketing grâce à plus de 30 hypercritères Atteignez plus facilement vos objectifs de génération de leads & SPARKLANE FOR MARKETING Maximisez les chances de closer vos affaires en disposant de leads scorés et d’une bonne compréhension du contexte Identifiez plus rapidement vos prospects « chauds » grâce à une veille sur-mesure des signaux d’affaires Améliorez votre connaissance client en étant informé de leurs actualités Détectez plus rapidement et facilement les nouveaux besoins chez vos clients & & Account ManagementBusiness Development SPARKLANE FOR SALES 5
  6. 6. Sparklane 6
  7. 7. Différentes Interfaces Client 7 Web App APPS Connecteurs Data Services Marketing Sales Cleaning EnrichissementERP… API
  8. 8. Organisation / Architecture Globale 8 News Société/ contacts Crawl Web - Auto - Manuel Aggs Aggs Aggs Micro service Micro service Micro service Micro service UI APPS Crawl WebCrawl WebSRCs News Collector Data Prod Database App. Soft Support CICD…Repo…
  9. 9. Organisation / Architecture Globale 9 News Collector Data Prod Database App. Soft Support
  10. 10. SPARKLANE & AWS
  11. 11. Utilisation EC2 Classique Amazon EC2 Elastic Load Balancing Auto Scaling Installation Directe Docker mono-machine (rare chez Sparklane) => 30 Instances Mise en prod green/blue Certificats SSL => 4-5 ELB Peu utilisé maintenant Remplacement machine si healthcheck fail => 5-6 ASG
  12. 12. Utilisation EC2 Classique Amazon SNS Amazon SES DNS Privé TTL 1 min! Backup / Archives Fichiers de configuration Postgres / Mysql Scalable Vertical Snapshot / Restore auto Pourquoi pas MongoDB ??? Amazon Route 53 Amazon S3 Amazon RDS Mails techniques Mails client Pas de campagne d’emailing Envoi d’alertes techniques Amazon CloudWatch Monitoring « Machine » Prometheus pour Docker Logtrail pour logs  4 Zones – 3 VPC => 5 Instances
  13. 13. Lambda • Expérimental chez Sparklane • Peu de cas d’utilisation • Anecdotique: • Synchronisation de DNS (ASG + SNS + Lambda) • Redémarrage de machine en cas d’alerte • Envoi d’alertes sur Slack • (Tout ce que AWS ne sait pas encore faire) • Utilisation massive de Docker chez nous • Gros potentiel !!! AWS Lambda Vs. => env. 50 containers
  14. 14. Services utilisés 14 Amazon EC2 Elastic Load Balancing Auto Scaling Amazon S3 Amazon RDS Amazon Route 53 Amazon Elasticsearch Service Amazon ECS AWS Elastic Beanstalk Amazon EC2 Auto Scaling On utilise: On n’utilise pas (mais on pourrait): Amazon SNS Amazon SES Amazon SQS AWS Lambda Amazon CloudWatch AWS CloudFormation
  15. 15. Spoiler… Amazon EC2 Elastic Load Balancing Auto Scaling « Pool de machines avec Docker pour Rancher » Remplacement auto Scaling (auto?) SSL Load balance Expose port(s) public CPU/RAM Docker installé
  16. 16. AUTOMATISATION DE L’INFRA AWS
  17. 17. Infrastructure as Code - Versionné (Bitbucket, Github) - Reproductible (vs. Suivre un doc) - Rapide (vs. Humain) - Optimisé (si outillé) - Automatisé (Scaling, mise en prod, déploiement continu…) - Sécurisant (pas d’erreur humaine)
  18. 18. Ansible - Remplace un script bash - Playbooks (recettes) partageable - Elégant (cron, unarchive…) - Testable en local - Modulaire - Apprentissage - Debugging - Bash dans les cas simple
  19. 19. Packer par Hashicorp - Création d’images AWS EC2 (et pas que) - Il démarre une instance - Provisionne cette instance (avec Ansible, etc.) - Crée une image (AMI) à partir de cette instance - Héritage - Intéressant pour déploiement continu - Reproductible / Automatisé
  20. 20. Terraform par Hashicorp - Déploiement d’une infrastructure (AWS, …) - Différentiel (état 1 -> 2) - Infrastructure as Code - Reproductible / Automatisé - Variables, …
  21. 21. Auto Scaling Group / Cloud Init - Type d’instance EC2, AMI, etc. - Nombre d’instances - Règles de Scaling - Remplacement auto de machine - Image de base (Ubuntu, etc.) - User Data / Cloud Init pour provisionner
  22. 22. RANCHER CHEZ SPARKLANE
  23. 23. Docker 23 Docker offre la garantie qu’un même container va s’exécuter de la même façon partout.
  24. 24. Ordonnanceur Docker 24 Ma précieuse machine Back Front • Si la machine tombe? • Rolling-update? • Scaling? • Haute-Dispo? • Automatisation? • Déploiement continu?
  25. 25. Ordonnanceur Docker 25 Machine 1 Back Front • Si la machine tombe? OK • Rolling-update? OK • Scaling? • Haute-Dispo? OK • Automatisation? • Déploiement continu? Machine 2 Back Front Load Balancer
  26. 26. Ordonnanceur Docker « Idéal » 26 Machine 1 Back Front • Si la machine tombe? OK • Rolling-update? OK • Scaling? OK • Haute-Dispo? OK • Automatisation? OK • Déploiement continu? OK • + souplesse, flexibilité, • + résilienceMachine 2 Back Front Machine X Back Other Other Other Master Load Balancer
  27. 27. Ordonnanceur Docker « Idéal » • Mise à disposition d’un pool de machines • Automatisation du déploiement des container • Load Balancers, DNS… • Supervision • Dashboard • Etc. etc.
  28. 28. Pourquoi Rancher • Pas de réservation ressources • Dashboard complet • Simple pour utilisateurs • Simple pour Ops (juste besoin de docker) • Outillage out of the box
  29. 29. Rancher
  30. 30. Pourquoi Rancher
  31. 31. Pourquoi Rancher
  32. 32. Pourquoi Rancher
  33. 33. Stack Applicative 33 API UI UI API MS1 MS2 MS3 Cron
  34. 34. Stack Applicative 34 API UI UI API MS1 MS2 MS2 Cron MS3
  35. 35. Stack Applicative (Améliorée) 35 API UI UI API MS1 MS2 MS2 Sched uler MS3 LB LB LB
  36. 36. Stack Applicative (Améliorée) 36 API UI UI API MS1 MS2 MS2 Sched uler MS3 LB LB LB Stack Back Stack Front
  37. 37. 37 API UI UI API MS1 MS2 MS2 Sched uler MS3 LB LB LB Amazon Elastic Load Balancer : 80
  38. 38. 38 API UI UI API MS1 MS2 MS3 Sched uler MS4 LB LB LB Amazon Elastic Load Balancer : 80 Admin DNS Privé (AWS Route 53)
  39. 39. Infrastructure as Code
  40. 40. Environnements Prod Recette
  41. 41. DÉPLOIEMENT (CONTINU)
  42. 42. Build/Déploiement Packer / Terraform Commit Build / Test Push to Maven Build AMI (Packer + Ansible) Terraform Apply Remplacement Machine Unique Mise à jour de l’ASG ou
  43. 43. Build/Déploiement (Continu) Rancher Commit Build / Test Build Docker Rancher Deploy V1 V1 V2 API v2 Rolling Upgrade Load Balancer Rancher
  44. 44. CONCLUSION
  45. 45. Sparklane sur Rancher • Mutualisation de ressources (bourrage de machines) • Déploiement facile, parfois continu • Plusieurs stacks • Prod • Stack développeur • Env de dev • On expose que ce que l’on veut (VPN pour le reste) • Infrastructure as code • Attention aux ressources: monitoring, alertes
  46. 46. Sparklane sur AWS • Cloud • Scriptable / Automatisable • Packer / Terraform • Maîtrise des coûts • Mise en place rapide

×