Skip to main content
HashiTalks 2025 Learn about unique use cases, homelab setups, and best practices at scale at our 24-hour virtual knowledge sharing event. Register
Case Study

Inversion of Control With Consul at Criteo

Learn how Criteo uses HashiCorp Consul to dynamically let services discover other services without specific knowledge of their target.

Speakers

Criteo's infrastructure includes 250K services running on 35K physical machines in 9 DCs. They are power users of Consul, harnessing it's Consul Connect service mesh capabilities and pushing it to high-scale on very large workloads.

Consul is usually used to provide information for applications, so the applications can discover the services they depend on. Combined with tools such as consul-template, it allows for abstract machines/services in large infrastructures. But with tags and service meta, they can go further and allow applications to be dynamically discovered by other services without specific knowledge of their target. They call this "Inversion of Control" and use it to speed up integration as well as decoupling services.

In this talk, Criteo discovery team leader Pierre Souchay will discuss how his company uses Inversion of Control (IoC) to: 1. Provision network layers using Consul 2. Provide various services automatically such as security scanners, WS Discovery, automatic alerting, and metering 3. Build services on top of services, such as OAuth, automatically 4. Enforce security/monitoring in real time in all infrastructure 5. Easily manage new services and remove the burden associated with creating applications and services 6. Allow people to experiment more often and faster 7. Remove the need for cleaning up legacy and dead services

More resources like this one

1/6/2021Case Study

Self-service discovery at scale with Consul at Bloomberg

1/5/2021Case Study

How Roblox Developed and Uses the Windows IIS Nomad Driver

12/17/2020Case Study

Consistent development and deployment at Comcast with Terraform

9/2/2020Case Study

Service Mesh in the Real World