Inversion of Control With Consul

Time: Sep 11 | 3:20 PM - 3:55 PM Location: Elwha A | Level 5
ConsulIntermediateOpen Source

Session Title:

Inversion of Control With Consul

Session Abstract:

At Criteo, we heavily operate Consul for more than 250k services running on 35k physical machines in 9 DCs. We do services mesh and use Consul at its maximum performance to scale 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, we can go further and allow applications to be dynamically discovered by other services without specific knowledge of their target. We call this "Inversion of Control" and use it to speed up integration as well as decoupling services. We will explain how we are using Inversion of Control (IoC) to: 1) provision network layers using Consul; 2) provide various services automatically such as security scanners, WS Discovery, automatic alerting, metering; 3) build services on top of services, such as add OAuth automatically; 4) enforce security/monitoring in real time in our all infrastructure; 5) easily manage new services and remove all the burden associated with creating applications and services; 6) allow people to experiment more and faster; and 7) remove the need for cleaning up the legacy and dead services.