Une organisation fédérale belge chargée de la sécurité publique met en place une architecture de données orientée événements afin d’accompagner la modernisation de ses processus et de proposer des services opérationnels davantage fondés sur les données. Dans ce rôle d’Elastic Data Engineer, vous vous concentrerez sur Apache Kafka comme couche d’ingestion et de traitement, sur Elasticsearch comme data lake pour les données structurées et non structurées, ainsi que sur les APIs et microservices qui mettent ces informations à la disposition d’autres systèmes.
La mission
Le projet met en place une architecture évolutive pour l’intégration de données en temps réel au sein de plusieurs flux de données opérationnels. Kafka est utilisé pour la mise en mémoire tampon et le traitement des événements au moyen de Kafka Streams, Kafka Connect, Schema Registry, Avro et ksqlDB, tandis qu’Elasticsearch assure le stockage, la recherche et les capacités d’analyse via Kibana, ingest pipelines et index lifecycle management. La cohérence des données, les stratégies d’indexation, l’observabilité et une gestion fiable des erreurs sont essentielles sur l’ensemble du parcours, de l’ingestion à la consommation.
Vous concevrez, implémenterez, configurerez et documenterez les composants qui assurent la connexion entre ces technologies. Votre périmètre comprend la mise en place d’une couche de services de données avec des REST APIs et des microservices, le déploiement de services via Docker, Kubernetes et OpenShift, ainsi que le soutien à la livraison au moyen de pipelines GitLab CI. Vous travaillerez au sein d’une équipe pluridisciplinaire composée de spécialistes internes et externes ; vos réalisations serviront à l’analyse, à la supervision et à l’intégration avec d’autres systèmes du secteur public.
Vos responsabilités
- Concevoir et maintenir des pipelines de données Kafka et Elasticsearch qui restent cohérents et évolutifs au gré de l’évolution des volumes de données et des cas d’utilisation.
- Configurer les topics Kafka, les schémas, la sérialisation et les flux de consommation ou de production à l’aide de Schema Registry, Avro, Kafka Streams, Kafka Connect et ksqlDB.
- Développer la couche de services de données avec des REST APIs et des microservices qui exposent les données Elasticsearch à des fins d’analyse, de supervision et d’intégration avec les systèmes.
- Mettre en œuvre des stratégies d’indexation Elasticsearch, des ingest pipelines, des vues Kibana et index lifecycle management pour des données structurées et non structurées.
- Déployer et exploiter les composants des pipelines dans des environnements Docker, Kubernetes et OpenShift, en utilisant GitLab CI pour assurer des livraisons reproductibles.
- Analyser les défaillances, améliorer les performances des pipelines, automatiser les tâches récurrentes avec Python et documenter les choix techniques, les configurations et les flux de données.
Votre profil
Compétences essentielles
- Expérience professionnelle en tant que data engineer, dans l’utilisation de systèmes orientés événements et l’intégration de données en temps réel.
- Expertise pratique d’Apache Kafka, notamment Kafka Streams, Kafka Connect, Schema Registry, Avro, ksqlDB, la gestion des schémas et l’administration des topics.
- Expérience de l’exploitation d’Elasticsearch avec Kibana, ingest pipelines, index lifecycle management et des stratégies d’indexation robustes.
- Capacité à garantir la cohérence, l’évolutivité et l’observabilité des données tout au long des pipelines Kafka et Elasticsearch.
- Expérience dans le développement de REST APIs et de microservices dans le cadre d’une couche de services de données.
- Bonne connaissance pratique de Docker, Kubernetes, OpenShift, GitLab CI, PostgreSQL et Python.
- Capacité à analyser les défaillances des pipelines, à mettre en œuvre une gestion des erreurs et à optimiser les performances du traitement des données.
- Approche méthodique et précise de la configuration, des tests, de la documentation et de l’analyse technique.
- Capacité à travailler de manière autonome, à communiquer clairement avec des spécialistes techniques et des représentants des utilisateurs, et à contribuer efficacement au sein d’une équipe pluridisciplinaire.
- Approche pragmatique et orientée service pour établir les priorités entre plusieurs pipelines de données et dépendances techniques.
Formation
- Diplôme en informatique, data engineering, technologies de l’information ou expérience professionnelle équivalente.