Building Container Infra “JUST Right”
French multi-service insurance provider, Mutuelle Just, has built a highly-reliable, minimalistic container infrastructure for modern applications, using Mirantis Kubernetes Engine (formerly Docker Enterprise/UCP) and Swarm. Retrouvez la version française ici.DOWNLOAD PDF VERSION
Simplicity means Repeatability – Choosing the right container orchestration substrate, with the right “out of the box” feature-set, then configuring it simply and functionally can let smaller organizations modernize while leapfrogging the need to insert layers of additional complexity (and operating costs) in infrastructure plans.
Consistency is Key – A consistent, automation-friendly container orchestration cluster model is easily prototyped and lends itself to efficient duplication and easy maintenance.
Founded in 1927, and with 2019 equity above $21 million Euros, Mutuelle Just is a fast-growing, multi-service, mutual insurance provider based in Valenciennes, France, with 15 branches serving communities across the nation’s Northern provinces and its capital, in Paris.
Characteristic of France’s system of public/private insurance partnerships, which seeks to make insurance products accessible to everyone, Mutuelle Just runs an information-intensive, customer-centric business — both under its own brand and on behalf of communities (e.g., municipalities) and other entities (e.g., real-estate holding companies) for whom it negotiates and administers collective insurance programs for residents.
From back-end to front-end, Mirantis Kubernetes Engine/Swarm helps make Mutuelle Just’s orchestration resilient and dependable, while keeping it simple to update and operate.
As you might expect, this involves a lot of complex web interactivity, including multiple front-ends, drawing on common web services and databases for cost-calculation and other computational support. Until recently, these front ends were built and maintained conventionally on load-balanced Linux VMs hosted with Hyper-V, within an extranet — a familiar, labor-intensive, old-school pattern.
Over the past year and a half, however, Mutuelle Just has prototyped an elegant, minimalistic, on-premises container orchestration architecture to replace the extranet hosting apparatus. The new architecture is aimed at reducing operations costs, minimizing manual labor, streamlining software delivery, and ensuring vastly-improved resilience and scalability — all without introducing new layers of complexity (e.g., Infrastructure-as-a-Service) or compelling a move to public cloud.
From the start, explains Laurent Dubois, team lead for the implementation, the project’s focus was on simplicity, modularity, and repeatability. The system they prototyped would need to be duplicated, potentially dozens of times, to support Mutuelle Just’s growing fleet of programs and nationally-distributed local-agency footprint. That meant it needed to be easy to deploy, update, and scale, consuming minimal hardware resources to start: constraints common to most “network edge” use-cases.
Wherever hardware is constrained, of course, performance is potentially an issue. No less important, fewer physical servers devoted to a task means reduced redundancy for both control planes and application workloads. But Dubois’ team knew that — under control of an appropriate orchestration layer — these risks could be offset.
Engaging with Mirantis, the Mutuelle Just team selected Mirantis Kubernetes Engine (formerly Docker Enterprise) with Swarm orchestration, as their target substrate. That simplified deployment of their prototype, initially distributed over just two physical servers, each hosting three virtual machines, all using a common Linux image. Deployment of new VM nodes could then be automated with a single, short script, followed by joining them to the cluster, setting roles, affixing tags, and other housekeeping performed either via the Mirantis Kubernetes Engine webUI or remotely, on the command line.
The resulting cluster locates one mixed-mode (manager + worker) node and two Swarm workers on each host machine, automatically providing redundancy against one physical server’s failure. Workloads, meanwhile, are configured so that the Swarm cluster replicates, distributes, and load-balances them so they remain available if one server, or potentially as many as several cluster VMs, shut down for any reason. The cluster as a whole is served through a firewall and session-aware proxy on the inner boundary of the extranet, itself fed by redundant internet connections via a pair of routers set to fail over to one another.
Mutuelle Just built their initial Mirantis Kubernetes Engine (formerly Docker Enterprise/UCP) Swarm prototype on three Raspberry Pi ARM64 machines.
Says Dubois: “This makes operations very simple. At the hardware level, we can take a physical node offline to update it without affecting applications at all. At the VM level, MKE makes it easy to do rolling updates across the cluster, VM by VM, without ever losing access to workloads or the control plane. We can even suffer a range of infrastructure-level or service failures without losing a connected session: the end-user will not even notice that their session has been switched to a new application server container.”
“I really wanted to introduce a new technical culture, built around containers.” Dubois continues. “And it’s paying off. From his laptop, our lead developer can now make a change to an application, rebuild and push the container, and the change can be live in seconds, with no additional operations steps. Other development groups at Mutuelle Just are very eager to move forward, this way, as well.”
Mutuelle Just’s final cluster architecture feeds dual internet links, via load-balancing proxy, to workloads distributed by Swarm across six Linux VMs, running on Hyper-V across two physical (Windows) servers. No single hardware (or multiple software entity) failure or temporary offline condition (e.g., physical node OS update, Mirantis Kubernetes Engine rolling update) will make applications unavailable. Most issues won’t even disrupt a customer session.
In the next few months, Dubois and his team plan to start rolling out new clusters for their peers, and sharing the simple templates and methods they’ve pioneered to accelerate software development across the organization. “This is important for our future,” Dubois says. “Our organization was founded on principles of proximity — staying close to the communities we serve; transparency — communicating clearly, accurately, and frequently with our clients; and solidarity — maintaining the links binding all of us together in mutual support. Shipping better software faster is one important way of realizing these ideals.”
Create a scalable, manageable, and repeatable infrastructure to support containerized development with minimal initial hardware requirements and dependable redundancy at every level of the stack. Enhance speed of application delivery without adding new, and not-yet-needed layers of complexity.
Mirantis Kubernetes Engine (formerly Docker Enterprise/UCP) provides the Swarm substrate for a simple edge cluster architecture enabling efficient, interruption-free updates and rapid release deployment — ready for duplication across the distributed enterprise.
The prototype cluster is now handling live traffic, and will be ramped up to a projected several hundred simultaneous connections. Initial resiliency and performance tests have passed, and the pioneer group is now planning roll-out of the architecture to further divisions within the organization.