AWS Summit 2011: Customer Presentation - Advanced Innovations
Presentation sparklane aws
Transcript of Presentation sparklane aws
![Page 1: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/1.jpg)
AMAZON WEB SERVICES CHEZ
SPARKLANE
![Page 2: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/2.jpg)
2
Agenda
1.Qui sommes nous?2.Services AWS utilisés3.Automatisation4.Docker et Rancher5.Intégration et Déploiement continu
![Page 3: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/3.jpg)
SPARKLANEQUI SOMMES NOUS?
![Page 4: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/4.jpg)
4
De Zebaz à Sparklane
80COLLABORATEURS 50%
DE CROISSANCEEN MOYENNE PAR AN
30%DU CA INVESTI DANSL’INNOVATION
110%DE RENOUVELLEMENT CLIENT (EN VALEUR)
ACTIONNAIRESSIPAREX / BPI
2009
Création
2010
CrowdsourcingSaas
2011 2012 2013 2014 2015 2016
Algorithmesde mises à jour
Data asa service
R&DBig Data
SmartData
Zebaz devientSparklane
AppCRM
+PARIS
NANTES+
LONDRES
![Page 5: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/5.jpg)
5
Sparklane, la solution unique quiréconcilie enjeux marketing et sales
Hyperciblez vos campagnesmarketing grâce à plus de
30 hypercritères
Atteignez plus facilementvos objectifs de génération
de leads
&
SPARKLANE FOR MARKETING
Maximisez les chances de closervos affaires en disposant de leads
scorés et d’une bonne compréhension du contexte
Identifiez plus rapidementvos prospects « chauds » grâce
à une veille sur-mesure dessignaux d’affaires
Améliorez votre connaissance client en étant informé de
leurs actualités
Détectez plus rapidementet facilement les nouveaux
besoins chez vos clients
& &
Account Management
Business Development
SPARKLANE FOR SALES
![Page 6: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/6.jpg)
6
Sparklane
![Page 7: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/7.jpg)
7
Différentes Interfaces Client
Web App APPS Connecteurs Data Services
Marketing
Sales
Cleaning
EnrichissementERP…
API
![Page 8: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/8.jpg)
8
Organisation / Architecture Globale
News
Société/contacts
CrawlWeb
- Auto- Manuel
AggsAggs
AggsMicro
serviceMicroserviceMicro
serviceMicroservice
UI
APPS
CrawlWebCrawl
WebSRCs
News Collector
Data Prod
Database App.
Soft
Support CICD…Repo…
![Page 9: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/9.jpg)
9
Organisation / Architecture Globale
News Collector
Data Prod
Database App.
Soft
Support
![Page 10: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/10.jpg)
SPARKLANE&
AWS
![Page 11: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/11.jpg)
Utilisation EC2 Classique
Amazon EC2
Elastic Load Balancing
Auto Scaling
Installation DirecteDocker mono-machine (rare chez Sparklane)=> 30 Instances
Mise en prod green/blueCertificats SSL=> 4-5 ELB
Peu utilisé maintenantRemplacement machine si healthcheck fail=> 5-6 ASG
![Page 12: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/12.jpg)
Utilisation EC2 Classique
AmazonSNS
AmazonSES
DNS PrivéTTL 1 min!
Backup / ArchivesFichiers de configuration
Postgres / MysqlScalable VerticalSnapshot / Restore autoPourquoi pas MongoDB ???
AmazonRoute 53
AmazonS3
AmazonRDS
Mails techniquesMails clientPas de campagne d’emailing
Envoi d’alertes techniques
Amazon CloudWatch
Monitoring « Machine »Prometheus pour DockerLogtrail pour logs
4 Zones – 3 VPC
=> 5 Instances
![Page 13: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/13.jpg)
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 !!!
AWSLambda
Vs.
=> env. 50 containers
![Page 14: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/14.jpg)
14
Services utilisés
Amazon EC2
Elastic Load Balancing
Auto Scaling
AmazonS3
AmazonRDS
AmazonRoute 53
Amazon Elasticsearch Service
Amazon ECS AWS Elastic Beanstalk
Amazon EC2
Auto Scaling
On utilise: On n’utilise pas (mais on pourrait):
AmazonSNS
AmazonSES
AmazonSQS
AWSLambda
Amazon CloudWatch
AWSCloudFormation
![Page 15: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/15.jpg)
Spoiler…
Amazon EC2
Elastic Load Balancing
Auto Scaling
« Pool de machines avec Docker pour Rancher »
Remplacement autoScaling (auto?)
SSLLoad balanceExpose port(s) public
CPU/RAMDocker installé
![Page 16: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/16.jpg)
AUTOMATISATIONDE L’INFRA
AWS
![Page 17: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/17.jpg)
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)
![Page 18: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/18.jpg)
Ansible
- Remplace un script bash- Playbooks (recettes) partageable- Elégant (cron, unarchive…)- Testable en local- Modulaire
- Apprentissage- Debugging- Bash dans les cas simple
![Page 19: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/19.jpg)
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é
![Page 20: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/20.jpg)
Terraform par Hashicorp
- Déploiement d’une infrastructure (AWS, …)- Différentiel (état 1 -> 2)
- Infrastructure as Code- Reproductible / Automatisé- Variables, …
![Page 21: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/21.jpg)
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
![Page 22: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/22.jpg)
RANCHERCHEZ
SPARKLANE
![Page 23: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/23.jpg)
23
Docker
Docker offre la garantie qu’un même container va s’exécuter de la même façon partout.
![Page 24: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/24.jpg)
24
Ordonnanceur Docker
Ma précieuse machine
Back
Front
• Si la machine tombe?• Rolling-update?• Scaling?• Haute-Dispo?• Automatisation?• Déploiement continu?
![Page 25: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/25.jpg)
25
Ordonnanceur Docker
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
![Page 26: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/26.jpg)
26
Ordonnanceur Docker « Idéal »
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
OtherOther
Other
Master Load Balancer
![Page 27: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/27.jpg)
Ordonnanceur Docker « Idéal »
• Mise à disposition d’un pool de machines• Automatisation du déploiement des
container
• Load Balancers, DNS…• Supervision• Dashboard• Etc. etc.
![Page 28: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/28.jpg)
Pourquoi Rancher
• Pas de réservation ressources• Dashboard complet• Simple pour utilisateurs• Simple pour Ops (juste besoin de docker)• Outillage out of the box
![Page 29: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/29.jpg)
Rancher
![Page 30: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/30.jpg)
Pourquoi Rancher
![Page 31: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/31.jpg)
Pourquoi Rancher
![Page 32: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/32.jpg)
Pourquoi Rancher
![Page 33: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/33.jpg)
33
Stack Applicative
APIUI
UIAPI
MS1 MS2 MS3
Cron
![Page 34: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/34.jpg)
34
Stack Applicative
API
UI UI
API
MS1 MS2 MS2
Cron
MS3
![Page 35: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/35.jpg)
35
Stack Applicative (Améliorée)
API
UI UI
API
MS1 MS2 MS2
Scheduler
MS3
LB LB LB
![Page 36: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/36.jpg)
36
Stack Applicative (Améliorée)
API
UI UI
API
MS1 MS2 MS2
Scheduler
MS3
LB LB LB
Stack Back
Stack Front
![Page 37: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/37.jpg)
37
API
UI UI
API
MS1 MS2 MS2
Scheduler
MS3
LB LB LB
Amazon Elastic Load Balancer : 80
![Page 38: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/38.jpg)
38
API
UI UI
API
MS1 MS2 MS3
Scheduler
MS4
LB LB LB
Amazon Elastic Load Balancer : 80
Admin
DNS Privé(AWS Route
53)
![Page 39: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/39.jpg)
Infrastructure as Code
![Page 40: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/40.jpg)
Environnements
Prod
Recette
![Page 41: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/41.jpg)
DÉPLOIEMENT(CONTINU)
![Page 42: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/42.jpg)
Build/Déploiement Packer / Terraform
Commit
Build / Test
Push to Maven
Build AMI (Packer + Ansible)
Terraform Apply Remplacement Machine UniqueMise à jour de l’ASG ou
![Page 43: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/43.jpg)
Build/Déploiement (Continu) Rancher
Commit
Build / Test
Build Docker
Rancher Deploy V1 V1 V2 API v2
Rolling Upgrade
Load Balancer Rancher
![Page 44: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/44.jpg)
CONCLUSION
![Page 45: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/45.jpg)
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
![Page 46: Presentation sparklane aws](https://reader035.fdocuments.net/reader035/viewer/2022081511/58ef472c1a28abe1588b4623/html5/thumbnails/46.jpg)
Sparklane sur AWS
• Cloud• Scriptable / Automatisable• Packer / Terraform• Maîtrise des coûts• Mise en place rapide