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.
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.”