Die Web-Agentur Exponent hat sich für die Public Cloud von Infomaniak entschieden, um die Infrastruktur des SaaS-Webbuilders ihres Kunden Web Agility zu implementieren. Ergebnis: Ein Managed-Kubernetes-Service macht die SaaS-Plattform hochverfügbar, modular und kompatibel mit allen gängigen Firmentools (Figma, Jira, Monday usw.). Ein konkretes Beispiel, bei dem AWS-, GCP- oder Azure-Services durch vollständig unabhängige Infrastrukturlösungen ersetzt werden.

Die Agentur Exponent – technische Brücke zwischen Infrastrukturanbieter und Unternehmen

Exponent ist auf den digitalen Wandel spezialisiert und unterstützt Unternehmen dabei, die Public Cloud von Infomaniak genauso einfach zu nutzen wie Lösungen von Amazon (AWS), Microsoft (Azure) oder Google (GCP).

Das von ehemaligen Studierenden der EPFL und der HEC gegründete Exponent-Team besteht heute aus rund 50 Personen in der Schweiz und im Ausland. Es bietet digitalen Agenturen oder Unternehmen die nötige technische Expertise, um komplexe Projekte mit drei Fachgebieten durchzuführen:

  • Entwicklung massgeschneiderter Anwendungen und Websites
  • KI und Automatisierungen komplexer Prozesse
  • Aufbau und Wartung von Infrastrukturen (DevOps)

Kundenbedürfnis: eine in der Schweiz befindliche interoperable und hochverfügbare Infrastruktur

Web Agility ist eine All-in-One-Plattform, die Web-Agenturen ermöglicht, komplexe Websites mithilfe eines kooperativen und automatisierten Ansatzes zu erstellen und zu verwalten.

Um anderen Agenturen Web Agility als SaaS-Plattform anzubieten, mussten die Entwickler*innen von Exponent eine horizontale, modulare und skalierbare Infrastruktur entwickeln, die in der Lage ist, alle Ressourcen einer Agentur (Designer*innen, Entwickler*innen, Projektleiter*innen, SEO-Spezialist*innen, Content-Manager*innen, Kund*innen usw.) effizient zu mobilisieren – und zwar ohne Unterbrechungen oder Latenzen beim Austausch.

Präsentation: Beispiel eines in Web Agility unterstützten Workflows.
Beispiel eines von Web Agility unterstützten Workflows, der eine hohe Interoperabilität mit den gängigsten Diensten in Unternehmen bietet.

Die Herausforderungen

Die wesentlichen Projektvorgaben in puncto Infrastruktur:

  • Schaffung einer skalierbaren und modularen Architektur: Die SaaS-Plattform von Web Agility muss Tausende von Websites hosten und deren Verfügbarkeit unabhängig von der Zahl der Anfragen gewährleisten. Interoperabilität hat Priorität, da die Plattform horizontal und mit einer Vielzahl von Tools und Diensten von Drittanbietern kompatibel ist.
  • Sicherung der Wettbewerbsfähigkeit der Plattform: maximale Kostenkontrolle bei Ressourcen und Wartung der Infrastruktur.
  • Begrenzung des Codes auf die Schweiz: garantierte Verankerung der SaaS-Plattform in der Schweiz im Hinblick auf alle Aspekte (Entwicklung des Codes, Hosting der Plattform, Websites von Kund*innen, virtuelle Büros usw.).

Die Wahl der Public Cloud von Infomaniak

Für Teo Stocco, CTO von Exponent, ist die Wahl von Infomaniak als einziger Anbieter für die Cloud-Infrastruktur für die Machbarkeit des Projekts massgeblich:

  • Einfachheit. Infomaniak erfüllt alle Voraussetzungen, um als einziger Projektanbieter für die Infrastruktur der SaaS-Plattform fungieren zu können: hohe Verfügbarkeit und Kontrolle über Daten, Technologien und Rechenzentren in der Schweiz
  • Ein unschlagbarer Preis, ohne den dieses Projekt mit seiner ausgereiften Architektur nicht möglich wäre.
  • Die Public Cloud funktioniert! Im Plattform-Engineering werden Infrastrukturen sehr abstrakt, und es gibt immer wieder Probleme zu lösen. Mit der Public Cloud von Infomaniak funktioniert das einfach. Hierin liegt der grosse Vorteil einer Open-Source-Technologie, die interoperabel, zuverlässig und robust ist.
  • Die Verwaltung von Domainnamen wird dank des Angebots an zusätzlichen Diensten von Infomaniak vereinfacht.

Implementierung der Public Cloud als Managed-Kubernetes-Service

Das Exponent-Team stützt sich auf Infrastructure-as-Code-Techniken (IaC), um einen massgeschneiderten Managed-Kubernetes-Service zu entwickeln, der die von Infomaniak bereitgestellten Ressourcen nutzt.

Die Ingenieur*innen von Exponent haben sich für eine möglichst einfache Infrastruktur mit drei Kubernetes-Clustern entschieden:

  1. Ein Cluster für die Tools der Plattform
  2. Ein Produktionscluster
  3. Ein Testcluster

Der Cluster für Web Agility-Tools

Dieser Cluster bietet eine Monitoring-Lösung für alle drei Cluster. Das Team richtete eine Suite aus Grafana, Mimir und Loki ein, um die Logs und Metriken der Server (CPU, Anfragen, Arbeitslast usw.) zu überwachen. Dies liefert Erkenntnisse dazu, ob Websites, die mit Web Agility bereitgestellt werden, ordnungsgemäss funktionieren, sich normal verhalten und eine angemessene Grösse aufweisen.

Die Maschinen, aus denen sich der Toolcluster zusammensetzt, sind in zwei Teilnetze unterteilt. Das erste Netz verbindet die virtuellen Maschinen (VMs), die den Cluster (das Gehirn) verwalten. Das zweite Netz bündelt die VMs (Agents), welche die Anwendungen und Container der Kund*innen betreiben.

Auf diesem Schema ist die Cluster-Architektur mit den beiden Teilnetzen der virtuellen Maschinen dargestellt
Dieses Schema zeigt die Clusterarchitektur mit den beiden Teilnetzen der virtuellen Maschinen.

Die Ingenieur*innen haben Terraform / OpenTofu verwendet, um die Infrastruktur deklarativ über Konfigurationsdateien (HCL) zu provisionieren und bereitzustellen.

Für die Umsetzung dieses Clusters wurden vier wichtige Dienste der Public Cloud von Infomaniak genutzt:

  1. Server-Instanzen (VMs)
  2. Ein Router zur Vernetzung der VMs
  3. Ein Load Balancer pro IP-Adresse, um die Last gleichmässig auf die Knoten zu verteilen
  4. Object Storage für Backups und Datenspeicherung

Dank des Infrastructure-as-Code-Ansatzes liest der Befehl «terraform apply» von Terraform Konfigurationsdateien (HCL), generiert einen Ausführungsplan und überführt ihn in die API der Public Cloud von Infomaniak, um Ressourcen zu erstellen, zu ändern oder zu löschen. Dies ermöglicht dem Team, die Infrastruktur zu automatisieren und einheitlich und reproduzierbar zu verwalten.

So kann Exponent die Sicherheitschecks und die Wartung der Infrastruktur-Cluster kostengünstig für ihre Kund*innen übernehmen.

Der Produktionscluster

Dieser Cluster muss zwei Anforderungen erfüllen:

1. Sicherheit: Beim Web Agility-Projekt müssen viele Bausteine miteinander kommunizieren. Probleme, Bugs oder selbst Abschaltungen eines Servers dürfen sich nicht auf die anderen Bausteine auswirken. In Kubernetes dürfen standardmässig alle Container miteinander kommunizieren. Eine Datenbank muss mit einer Anwendung und den anderen Containern kommunizieren können. Aber speziell im Web Agility-Projekt muss jede Website völlig unabhängig von den anderen sein.

Um sicherzustellen, dass jeder Knoten isoliert ist, agiert Exponent auf zwei Ebenen (Zwiebelprinzip):

  • Auf Ebene der Public Cloud: 78 Regeln sichern und kontrollieren, was in virtuelle(n) Maschinen ein- und ausgeht.
  • Auf Ebene der Container: Eine doppelte Richtlinie zur Isolation und Kontrolle des Netzwerks beschränkt die Kommunikation auf erlaubte Kommunikationen.

2. Hohe Verfügbarkeit: Erstellte Kundenwebsites müssen jederzeit und unter allen Umständen verfügbar sein. Eine Plattform wie Web Agility kann grundsätzlich eine Vielzahl von Websites mit erheblichen Abweichungen beim Datenverkehr hosten.

Die von Exponent entwickelte hochverfügbare Infrastruktur unterhält immer zwei Instanzen einer Website und mindestens zwei Container, um jeglichen Problemen auf einem der Server entgegenzuwirken.

Um Datenspitzen abzufedern, hat Exponent ein zweistufiges Auto-Scaling eingeführt:

  1. Im Kubernetes-Cluster, um die Zahl der Container bei Bedarf automatisch anzupassen.
  2. In der Public Cloud, um die Leistung (vertikales Scaling) oder die Zahl virtueller Maschinen anzupassen, wenn mehr Platz im Produktionscluster benötigt wird (horizontales Scaling).

Ergebnisse

  • Der Kunde erzielt mit einer vollständig verwalteten Infrastruktur erhebliche Einsparungen im Laufe der Zeit: 50% des Infrastrukturbudgets entfallen auf die Einrichtung und 50% auf die Wartung. Diese vergünstigte Wartung in Verbindung mit den äusserst günstigen Tarifen der Public Cloud von Infomaniak machen diese modulare Infrastrukturlösung zur günstigsten des Marktes.
  • Die Kontrolle über die Daten in der Schweiz wird auf zwei Ebenen gewährleistet. Auf der Hardware-Seite durch die Transparenz der Public Cloud-Technologie und die Garantien der Unabhängigkeit von Infomaniak (von der API bis zu den Rechenzentren). Was die Entwicklung angeht, so sind die eingesetzten Technologien und der Code ausschliesslich in der Schweiz beheimatet.

Mehr erfahren