Real-Time Maritime Analytics Pipeline (AWS)
TerminéPipeline en temps réel entièrement serverless qui ingère des données de position de navires AIS en direct via WebSocket, les traite à travers une architecture Lambda event-driven, archive les événements bruts dans S3 et visualise l'activité des navires en temps réel via OpenSearch Dashboards.
Technologies
Problème
Les positions des navires maritimes doivent être surveillées en temps réel, avec détection d'anomalies et une piste d'audit permanente pour l'analyse historique — avec un overhead opérationnel minimal.
Approche
WebSocket AIS → Kinesis Data Streams → Lambda 1 (archive S3 + SQS) → Lambda 2 (enrichissement géo) → Kinesis Firehose → OpenSearch → Dashboards. L'approche initiale Apache Flink a été abandonnée en raison d'incompatibilités JAR avec AWS OpenSearch Service.
Résultat
Tableau de bord de suivi de navires en temps réel avec visualisation géographique et une archive S3 historique interrogeable. Supporte plusieurs zones géographiques (Golfe Persique, Mer Baltique, Méditerranée).
Apprentissages
Le sink OpenSearch d'Apache Flink est incompatible avec AWS OpenSearch Service (conflits JAR Elasticsearch 7) — l'approche Lambda serverless est plus simple et maintenable ; OpenSearch geo_point requiert un objet combiné {"lat": x, "lon": y} ; SQS ne peut pas se connecter directement à Firehose.
Pertinence
Démontre une architecture de streaming temps réel, des patterns AWS event-driven, la prise de décision architecturale sous contraintes (pivot Flink) et une conception serverless prête pour la production.