The Web agency Exponent has chosen Infomaniak’s Public Cloud to implement the infrastructure of its customer’s SaaS web builder, Web Agility. The result: a managed Kubernetes service makes the SaaS platform highly available, modular and compatible with all popular business tools (Figma, Jira, Monday, etc.). A tangible example that replaces AWS, GCP or Azure services with 100% sovereign infrastructure solutions.

The Exponent agency: the technical bridge between the infrastructure provider and companies

Specialising in digital transition, Exponent helps companies use Infomaniak’s Public Cloud with the same simplicity as solutions from Amazon (AWS), Microsoft (Azure) or Google (GCP).

Founded by alumni of EPFL and HEC, the Exponent team now numbers almost 50 people in Switzerland and abroad and provides the technical expertise that digital agencies and companies lack to implement complex projects, offering three fields of expertise:

  • the development of bespoke apps and websites
  • AI and complex process automation
  • the creation and maintenance of infrastructure (DevOps)

Customer need: an interoperable, high-availability infrastructure based in Switzerland

Web Agility is an all-in-one platform designed to enable web agencies to create and manage complex websites through a collaborative and automated approach.

To provide Web Agility in the form of a SaaS platform to other agencies, Exponent’s developers had to design a horizontal, modular and scalable infrastructure capable of efficiently mobilising all of an agency’s resources (designers, developers, project managers, SEO specialists, content managers, customers, etc.), without interruption or latency in exchanges.

Overview: sample workflow supported in Web Agility.
Example of a workflow supported by Web Agility, which offers a high level of interoperability with the most common corporate services.

The challenges

The main infrastructure constraints of the project:

  • Create a scalable and modular architecture: the Web Agility SaaS platform must be able to host thousands of websites and ensure their availability, regardless of demand. Interoperability is a priority, as the platform is horizontal and compatible with a wide variety of third-party tools and services.
  • Ensure platform competitiveness: optimise the cost of resources and infrastructure maintenance as far as possible.
  • Maintain control of the code in Switzerland: ensure that the SaaS platform is anchored in Switzerland for all aspects (code development, platform hosting, sites produced by customers, virtual offices, etc.).

Choosing Infomaniak’s Public Cloud

For Teo Stocco, CTO of Exponent, choosing Infomaniak as the sole provider for the cloud infrastructure determines the feasibility of the project:

  • Ease. Infomaniak ticks all the boxes to be the sole project provider for the SaaS platform infrastructure: high availability and data control, technologies and data centers in Switzerland
  • An unbeatable price, without which this project would not be able to benefit from such a sophisticated architecture.
  • The Public Cloud works! In platform engineering, infrastructures become very abstract and there are always problems to be solved. With Infomaniak’s Public Cloud, it simply works. This is the big advantage of using open source technology that is interoperable, reliable and robust.
  • Domain name management is simplified thanks to Infomaniak’s range of ancillary services.

Implementation of the Public Cloud as a managed Kubernetes service

The Exponent team uses infrastructure as code (IaC) techniques to develop a custom-managed Kubernetes service using resources provided by Infomaniak.

Exponent’s engineers chose the simplest possible infrastructure with 3 Kubernetes clusters:

  1. A cluster dedicated to the platform’s tools
  2. A production cluster
  3. A tests cluster

The cluster dedicated to Web Agility tools

This cluster powers a monitoring solution for the 3 clusters. The team set up a suite consisting of Grafana, Mimir and Loki to track server logs and metrics (CPU, requests, workload, etc.). It shows whether websites deployed with Web Agility are healthy, behaving well and are the right size.

The machines that make up the tool cluster are divided into two subnets. The first connects the VMs that manage the cluster (the brain). The second network aggregates the VMs (agents) that run customers’ applications and containers.

This diagram shows the cluster architecture with the two VM subnets
This diagram shows the cluster architecture with the two VM subnets.

The engineers used Terraform/OpenTofu to provision and deploy the infrastructure in a declarative way via configuration files (HCL).

Four main Infomaniak Public Cloud services were used to create this cluster:

  1. server instances (VMs)
  2. a router connecting the VMs in a network
  3. one load balancer per IP to distribute the load evenly between the nodes
  4. object storage to perform backups and store data

Thanks to the infrastructure as code approach, Terraform’s terraform apply command reads the configuration files (HCL), generates an execution plan and injects it into Infomaniak’s Public Cloud API to create, modify or delete resources. This allows the team to automate and manage the infrastructure in a consistent and reproducible manner.

Exponent can thus perform security checks and maintenance of infrastructure clusters on behalf of its customer at a lower cost.

The production cluster

This cluster must meet a dual constraint:

1. Security: in the Web agility project, many building blocks need to communicate together. In the event of a problem, a bug or even a server shutdown, this must not affect the others. In Kubernetes, all containers are authorised to communicate with each other by default. A database must be able to communicate with an application and other containers. But in the Web Agility project specifically, each site must be completely independent of the others.

To ensure that each node is isolated, Exponent acts on two levels (onion principle):

  • At the level of the Public Cloud: 78 rules secure and control what goes in and out of virtual machines.
  • At container level: a dual policy of isolation and network control restricts communications only to those authorised.

2. High availability: the customer websites built must be available at all times. In essence, however, a platform like Web Agility can host numerous sites with significant differences in traffic.

The high-availability infrastructure designed by Exponent always maintains two instances of a site, at least two containers, to overcome any problems encountered on one of the servers.

To absorb the traffic peaks, Exponent implemented a two-level auto-scaling:

  1. In the Kubernetes cluster, to adjust the number of containers automatically when needed.
  2. In the Public Cloud, to adjust the power (vertical scaling) or the number of virtual machines when more space is needed in the production cluster (horizontal scaling).

Results

  • The customer makes substantial savings over the long term with a fully managed infrastructure: 50% of an infrastructure budget corresponds to implementation and 50% is linked to its maintenance. These maintenance savings combined with Infomaniak’s highly competitive Public Cloud prices make this modular infrastructure solution the most advantageous on the market.
  • There are two levels of data control in Switzerland. On the hardware side, thanks to the transparency of Public Cloud technology and Infomaniak’s sovereignty guarantees (from the API to the data centers). On the development side, the technologies used and the code are only in Switzerland.

More