L’agenzia Web Exponent ha scelto il Public Cloud di Infomaniak per implementare l’infrastruttura del Web builder SaaS del suo cliente, Web Agility. Il risultato: un servizio Kubernetes gestito rende la piattaforma SaaS altamente disponibile, modulare e compatibile con tutti gli strumenti più diffusi utilizzati in azienda (Figma, Jira, Monday, ecc.). Un esempio concreto che sostituisce i servizi AWS, GCP o Azure con soluzioni infrastrutturali sovrane al 100%.

L’agenzia Exponent: il ponte tecnico tra il provider di infrastrutture e le imprese

Specializzata nella transizione digitale, Exponent affianca le imprese nell’utilizzo del Public Cloud di Infomaniak con la stessa semplicità delle soluzioni di Amazon (AWS), di Microsoft (Azure) o di Google (GCP).

Fondata da ex studenti dell’EPFL e dell’HEC, oggi, il team di Exponent annovera tra le sue file quasi 50 persone in Svizzera e all’estero e fornisce le competenze tecniche necessarie alle agenzie digitali o alle imprese per realizzare progetti complessi con tre campi di competenza:

  • lo sviluppo di applicazioni e siti su misura
  • l’IA e le automatizzazioni di processi complessi
  • la creazione e la manutenzione di infrastrutture (DevOps)

Le esigenze del cliente: un’infrastruttura interoperabile e ad alta disponibilità con sede in Svizzera

Web Agility è una piattaforma all-in-one progettata per consentire alle agenzie web di creare e gestire siti complessi tramite un approccio collaborativo e automatizzato.

Per offrire Web Agility sotto forma di piattaforma SaaS ad altre agenzie, gli sviluppatori di Exponent hanno dovuto progettare un’infrastruttura orizzontale, modulare ed evolutiva, in grado di mobilitare in modo efficace tutte le risorse di un’agenzia (designer, sviluppatori, project manager, specialisti SEO, content manager, clienti, ecc.), senza interruzioni né latenza negli scambi.

Presentazione: esempio di workflow supportato in Web Agility.
Esempio di un workflow supportato da Web Agility che offre un’elevata interoperabilità con i servizi più diffusi in azienda.

Le sfide

I principali vincoli del progetto in materia di infrastruttura:

  • Creare un’architettura scalabile e modulare: la piattaforma SaaS di Web Agility deve poter ospitare migliaia di siti e assicurare la loro disponibilità a prescindere dalle richieste. L’interoperabilità è una priorità in quanto la piattaforma è orizzontale e compatibile con un’ampia gamma di strumenti e servizi di terzi.
  • Garantire la competitività della piattaforma: massimo controllo dei costi delle risorse e della manutenzione dell’infrastruttura.
  • Mantenere il controllo del codice in Svizzera: garantire il consolidamento della piattaforma SaaS in Svizzera sotto tutti gli aspetti (sviluppo del codice, hosting della piattaforma, siti prodotti dai clienti, uffici virtuali, ecc.).

La scelta del Public Cloud di Infomaniak

Per Teo Stocco, CTO di Exponent, la scelta di Infomaniak come provider unico per l’infrastruttura cloud determina la fattibilità del progetto:

  • La facilità. Infomaniak spunta tutte le caselle per essere il provider unico del progetto per l’infrastruttura della piattaforma SaaS: l’alta disponibilità e il controllo dei dati, delle tecnologie e dei data center in Svizzera
  • Un prezzo imbattibile senza il quale questo progetto non potrebbe beneficiare di un’architettura così avanzata.
  • Il Public Cloud funziona! Nel platform engineering, le infrastrutture diventano molto astratte e ci sono sempre problemi da risolvere. Con il Public Cloud di Infomaniak funziona in modo del tutto semplice. Questo è il grande vantaggio di utilizzare una tecnologia open source che è interoperabile, affidabile e robusta.
  • La gestione dei nomi di dominio è semplificata grazie all’offerta di servizi aggiuntivi di Infomaniak.

Implementazione del Public Cloud come servizio Kubernetes gestito

Il team di Exponent si affida alle tecniche di infrastructure as code (IaC) per sviluppare un servizio Kubernetes gestito su misura che utilizza le risorse fornite da Infomaniak.

Gli ingegneri di Exponent hanno scelto l’infrastruttura più semplice possibile con 3 cluster Kubernetes:

  1. Un cluster dedicato agli strumenti della piattaforma
  2. Un cluster di produzione
  3. Un cluster di test

Il cluster dedicato agli strumenti di Web Agility

Questo cluster gestisce una soluzione di monitoraggio per i 3 cluster. Il team ha implementato una suite composta da Grafana, Mimir e Loki per monitorare i registri e le metriche dei server (CPU, richieste, quantità di lavoro, ecc.). Consente di sapere se i siti implementati con Web Agility sono in buona salute, se si comportano bene e se hanno le dimensioni giuste.

Le macchine che compongono il cluster di strumenti sono suddivise in due sotto-reti. La prima collega le VM che gestiscono il cluster (il cervello). La seconda aggrega le VM (agenti) che fanno funzionare le applicazioni e i container dei clienti.

Questo schema mostra l’architettura del cluster con le due sotto-reti di macchine virtuali
Questo schema mostra l’architettura del cluster con le due sotto-reti di macchine virtuali.

Gli ingegneri hanno utilizzato Terraform/OpenTofu per eseguire il provisioning e implementare l’infrastruttura in modo dichiarativo tramite file di configurazione (HCL).

Per realizzare questo cluster sono stati utilizzati 4 servizi principali del Public Cloud di Infomaniak:

  1. Istanze di server (VM)
  2. Un router che collega le VM in rete
  3. Un load balancer tramite IP per distribuire il carico in modo uniforme tra i nodi
  4. Object storage per effettuare backup e archiviare dati

Grazie all’approccio infrastructure as code, il comando terraform apply di Terraform legge i file di configurazione (HCL), crea un piano di esecuzione e lo inserisce nell’API del Public Cloud di Infomaniak per creare, modificare o eliminare le risorse. Ciò consente al team di automatizzare e gestire l’infrastruttura in modo coerente e riproducibile.

Exponent può quindi occuparsi di effettuare i controlli di sicurezza e la manutenzione dei cluster dell’infrastruttura al posto del suo cliente, a minor costo.

Il cluster di produzione

Questo cluster deve rispondere a un duplice vincolo:

1. La sicurezza: nel progetto Web agility, molti elementi devono comunicare tra loro. In caso di problemi, di bug o addirittura di arresto di un server, ciò non deve influire sugli altri. In Kubernetes, tutti i container sono autorizzati a comunicare tra loro per impostazione predefinita. Un database deve essere in grado di comunicare con un’applicazione e con gli altri container. Ma nello specifico del progetto Web Agility, ogni sito deve essere completamente indipendente dagli altri.

Per assicurare che ogni nodo sia isolato, Exponent agisce su due livelli (principio della cipolla):

  • A livello del Public Cloud: 78 regole proteggono e controllano ciò che entra ed esce dalle macchine virtuali.
  • A livello dei container: una doppia politica di isolamento e di controllo della rete limita le comunicazioni alle sole autorizzate.

2. Alta disponibilità: i siti web dei clienti creati devono essere disponibili in qualsiasi circostanza. Ma in sostanza, una piattaforma come Web Agility può ospitare una moltitudine di siti con importanti differenze di traffico.

L’infrastruttura ad alta disponibilità progettata da Exponent mantiene sempre due istanze di un sito, almeno due container, per risolvere qualsiasi problema su uno dei server.

Per assorbire i picchi di traffico, Exponent ha implementato un auto-scaling a due livelli:

  1. Nel cluster Kubernetes, per adattare automaticamente il numero di container quando necessario.
  2. Nel Public Cloud, per adattare la potenza (scaling verticale) o il numero di macchine virtuali quando è necessario più spazio nel cluster di produzione (scaling orizzontale).

Risultati

  • Con un’infrastruttura interamente gestita, il cliente ottiene risparmi sostanziali nel lungo termine: nel budget di un’infrastruttura, il 50% corrisponde alla realizzazione e il 50% alla sua manutenzione. Questi risparmi sulla manutenzione, uniti ai prezzi molto competitivi del Public Cloud di Infomaniak, fanno di questa soluzione di infrastruttura modulare la più vantaggiosa del mercato.
  • Il controllo dei dati in Svizzera è assicurato su due livelli. Dal lato hardware, grazie alla trasparenza della tecnologia Public Cloud e alle garanzie di sovranità di Infomaniak (dall’API ai data center). Per quanto riguarda lo sviluppo, le tecnologie utilizzate e il codice si trovano esclusivamente in Svizzera.

Maggiori informazioni