presentation sparklane aws

46
AMAZON WEB SERVICES CHEZ SPARKLANE

Upload: sparklane

Post on 13-Apr-2017

397 views

Category:

Software


6 download

TRANSCRIPT

Page 1: Presentation sparklane aws

AMAZON WEB SERVICES CHEZ

SPARKLANE

Page 2: Presentation sparklane aws

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

SPARKLANEQUI SOMMES NOUS?

Page 4: Presentation sparklane aws

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

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

6

Sparklane

Page 7: Presentation sparklane aws

7

Différentes Interfaces Client

Web App APPS Connecteurs Data Services

Marketing

Sales

Cleaning

EnrichissementERP…

API

Page 8: Presentation sparklane aws

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

9

Organisation / Architecture Globale

News Collector

Data Prod

Database App.

Soft

Support

Page 10: Presentation sparklane aws

SPARKLANE&

AWS

Page 11: Presentation sparklane aws

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

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

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

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

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

AUTOMATISATIONDE L’INFRA

AWS

Page 17: Presentation sparklane aws

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

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

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

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

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

RANCHERCHEZ

SPARKLANE

Page 23: Presentation sparklane aws

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

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

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

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

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

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

Rancher

Page 30: Presentation sparklane aws

Pourquoi Rancher

Page 31: Presentation sparklane aws

Pourquoi Rancher

Page 32: Presentation sparklane aws

Pourquoi Rancher

Page 33: Presentation sparklane aws

33

Stack Applicative

APIUI

UIAPI

MS1 MS2 MS3

Cron

Page 34: Presentation sparklane aws

34

Stack Applicative

API

UI UI

API

MS1 MS2 MS2

Cron

MS3

Page 35: Presentation sparklane aws

35

Stack Applicative (Améliorée)

API

UI UI

API

MS1 MS2 MS2

Scheduler

MS3

LB LB LB

Page 36: Presentation sparklane aws

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

37

API

UI UI

API

MS1 MS2 MS2

Scheduler

MS3

LB LB LB

Amazon Elastic Load Balancer : 80

Page 38: Presentation sparklane aws

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

Infrastructure as Code

Page 40: Presentation sparklane aws

Environnements

Prod

Recette

Page 41: Presentation sparklane aws

DÉPLOIEMENT(CONTINU)

Page 42: Presentation sparklane aws

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

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

CONCLUSION

Page 45: Presentation sparklane aws

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

Sparklane sur AWS

• Cloud• Scriptable / Automatisable• Packer / Terraform• Maîtrise des coûts• Mise en place rapide