Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du...

59
Kafka et Storm au service de la lutte antiDDoS à OVH Steven Le Roux Infrastructure Engineer OVH.com FinistJUG 29 Oct 2014

description

Kafka et Storm au service de la lutte antiDDoS à OVH Par Steven Le Roux Présentation faite à la Soirée Big Data du FinistJUG le 28/10/2014

Transcript of Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du...

Page 1: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Kafka et Storm au service de la lutte antiDDoS à OVH

Steven Le RouxInfrastructure Engineer

OVH.comFinistJUG29 Oct 2014

Page 2: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 3: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 4: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 5: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 6: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

OVH Anti-DDoS

Page 7: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 8: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

VAC

Page 9: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

10

Page 10: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 11: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 12: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 13: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 14: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

3 Tbps 17 Datacenters

32 PoPs

Page 15: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 16: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 17: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 18: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 19: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

20

Page 20: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 21: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 22: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 23: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Data Pipeline

Page 24: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 25: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Clients

Producers

Consumers

Brokers

Topics

Partitions

Replicas

/ kafka

Page 26: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka / topic

Page 27: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka / topic / replicas

Page 28: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka / topic / replicas / factor / 3

Page 29: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka / topics

Page 30: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka

Page 31: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka

Page 32: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ kafka / producers

Page 33: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Stream Processing

Page 34: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 35: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Topology (DAG)

Spouts

Bolts

Tuples

Fields

Cluster

Nimbus

Supervisors

Workers

/ storm

Page 36: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ storm / tuple

field

Page 37: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ storm / tuple

{field1, field2,…,fieldn}

Page 38: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ storm / tuple

{field1, field2,…,fieldn}Bolt Bolt

Page 39: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ storm / topology

Page 40: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

/ storm / topology / antiddos

Page 41: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 42: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Stream Grouping

Page 43: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Shuffle Grouping Field Grouping

Direct Grouping Other Grouping

/ storm

Page 44: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Attacks

Router Grouping

Scans

IP src Grouping

/ storm

Page 45: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Attacks

≈ 1s

ScoringFiltersBurst

Scans

IP

Proto

/ storm

Page 46: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Indexing

Prooving

Producing

/ storm / event

Page 47: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

#lifecycle

Page 48: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

#dataviz

Page 49: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Nice speech… … so what ?

Page 50: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

False positives

Strange behaviours from customers

e.g. DB sync without connection pool

Application centric

i.e. UDP protocols

#issues

Page 51: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Add other sources

Application Anti-DDoSGame

Half Life/SourceCS:GOTeamSpeak / MumbleGTASA:MP…

More to come (any special need ?)

#solutions

Page 52: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 53: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

#datalake

Page 54: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG
Page 55: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Nodes - Hardware

CPU 16c/32t

RAM 256GB

Disks : OS : Raid 1Data : 10 disks

per node200 MB/s ~ 1,5-2 Gbps

#hardware

Page 56: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Kafka

I/O bound

Bench (1node)1M+ msg/s

No compression

No ackers

80MB/s

Tuningnum.io.threadnum.network.threadsocket.*.buffer.*

Storm

CPU/RAM bound

M+ tuples/s

No ackers

Break SRP

Minimal workersAvoid transfer buffer

#config

Page 57: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

OpenSOC

Page 58: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Clément Sciascia - @csciasci

Magnus Edenhill - @edenhillm

https://github.com/edenhill/librdkafka

LinkedIn - Apache Kafka

Nathan Marz - Apache Storm

#Thanks

#moreStorm basic training – Mickael G. Noll

http://fr.slideshare.net/miguno/apache-storm-09-basic-training-verisign

Kafka documentation

Page 59: Steven Le Roux - Kafka et Storm au service de la lutte antiDDoS à OVH - Soirée Big Data du FinistJUG

Thanks

Steven LE ROUX

@StevenLeRoux

[email protected]