Dietro le quinte

Ecco il nostro stack tecnologico

Nicolas Lefebvre
9.1.2023
Traduzione: Leandra Amato
Co-autore: Norina Brun

Da Digitec Galaxus sviluppiamo internamente i nostri negozi online e il nostro sistema ERP. Il nostro tech-radar mostra le tecniche, gli strumenti, le piattaforme e i linguaggi di programmazione che utilizziamo a questo scopo e quali potrebbero essere in arrivo.

La nostra clientela conosce i negozi digitec.ch e galaxus.ch. Per i nostri team di sviluppo software, tuttavia, i negozi sono «solo» la punta dell'iceberg. Sotto l'acqua c'è un'ampia base tecnica che adattiamo continuamente alle nuove circostanze. Ad esempio, abbiamo introdotto Apache Kafka per facilitare la distribuzione di quantità sempre maggiori di dati e siamo passati da ASP.NET MVC a stack React per ridurre i tempi di caricamento dei negozi online. Ma da Digitec Galaxus sviluppiamo anche il nostro sistema ERP in-house. Mentre i tre fondatori hanno sviluppato il sistema in prima persona quando l'azienda è stata fondata nel 2001, ora ne è responsabile il Product Development con circa 300 dipendenti.

Dal 2017, il tech-radar ci aiuta a tenere traccia del nostro ampio panorama tecnologico e funge da importante guida per i nostri team. Ci siamo orientati sul tech-radar di Thoughtworks; pertanto utilizziamo anche il loro framework. L'azienda tecnologica Thoughtworks definisce i punti sul radar «cose interessanti» e li ha battezzati «blips». Il termine sembra familiare ai fan della Marvel. Il blip descrive l'evento in cui l'azione di Thanos di dimezzare gli esseri viventi sulla Terra viene invertita.

Gli anelli Trial, Hold, Adopt e Specific rappresentano i diversi cicli di vita dei blip nei nostri processi di lavoro e nel panorama dei sistemi. Hanno il seguente significato:

Trial

Blip testati su piccola scala per valutare se possono essere «adottati». Di solito vengono utilizzati e testati da uno o due team. I nostri ingegneri software possono quindi presumere che almeno l'esperienza iniziale con questo blip sia disponibile internamente.

Un esempio è Blazor, con cui abbiamo realizzato un proof-of-concept e che prevediamo di utilizzare nella nostra logistica all'inizio del 2023 per fornire interfacce utente più veloci.

Hold

Si tratta di blip che non vogliamo utilizzare in futuro. Li usiamo ancora, ma sono da evitare per i nuovi progetti.

Al momento, Grafana è in sospeso perché siamo nuovi nel raccogliere le nostre metriche con Datadog e quindi vogliamo sostituirlo con le dashboard di Datadog.

Adopt

Con questo termine intendiamo i blip che sono molto diffusi da noi. I team possono contare su un ampio know-how all'interno dell'azienda in caso di domande e problemi. Molti di questi blip sono gestiti e sviluppati dai team della nostra piattaforma. Possiamo fornire l'infrastruttura associata (più o meno) con la semplice pressione di un pulsante.

Ad esempio, utilizziamo il continuous deployment da molto tempo. Ciò significa che le modifiche al codice vengono distribuite automaticamente in produzione. Crediamo anche nella programmazione in coppia e in quella in gruppo, che tutti i team utilizzano quando necessario.

Specific

Si tratta di blip i cui punti di forza vengono utilizzati per scenari di impiego specifici in alcuni team. Tuttavia, questi blip non vengono utilizzati in ampia scala.

Un esempio importante è Elasticsearch, utilizzato principalmente per la ricerca nei negozi online.

Cerchio vs. triangolo

Ogni blip è rappresentato da un triangolo o da un cerchio. I blip con il triangolo hanno cambiato categoria dall'ultimo aggiornamento del tech-radar. Quindi sono passati a un altro ciclo di vita o sono nuovi sul radar. I cerchi non hanno cambiato posizione.

Il quadrante «Platforms» del nostro tech-radar.
Il quadrante «Platforms» del nostro tech-radar.

Utilizziamo questi linguaggi di programmazione

Ancora oggi, ci affidiamo molto a .NET: circa l'80% del codice dei nostri circa 60 servizi operativi è scritto in C# e praticamente tutti vengono eseguiti in Microsoft Azure. Supportano i nostri acquirenti, i logisti e i team delle filiali nel loro lavoro e gestiscono i nostri negozi online. C# viene costantemente sviluppato da Microsoft a ritmo sostenuto e si sta aprendo alla comunità open source. Questo ci rende positivi anche per il futuro. Rimaniamo in gioco e pianifichiamo la migrazione di tutti i sistemi a C# 11 e .NET 7.

Il secondo più grande «player» dei linguaggi di programmazione nel nostro stack tecnologico è TypeScript con una quota poco inferiore all'8%. Viene utilizzato nel front-end dei nostri negozi online. Sono in uso anche altri linguaggi di programmazione, come GoLang o PHP, ma hanno un'esistenza di nicchia.

(Quasi) niente batte Azure

A meno che non ci sia una valida argomentazione contraria, gestiamo un servizio in Azure. Un'eccezione è rappresentata dalla nostra piattaforma dati, che funziona su Google Cloud. Soprattutto perché Google ci offre funzioni di BigQuery che non abbiamo trovato in altri cloud. Utilizziamo la piattaforma di dati per creare analisi per prendere decisioni strategiche e per addestrare i nostri modelli di apprendimento automatico, che vengono utilizzati in un'ampia gamma di scenari. In questo caso utilizziamo soprattutto Python, perché è ampiamente utilizzato in questo settore e sono disponibili molti strumenti open source.

Inoltre, utilizziamo una serie di strumenti, framework e servizi cloud. Grazie al nostro modo di lavorare agile e sperimentale, ne vengono regolarmente aggiunti di nuovi o rimossi quelli esistenti.

Il tech-radar vive

Una volta al trimestre, il Team Q, un team abilitante secondo il concetto di Team Topologies, aggiorna il nostro tech-radar. A proposito, stiamo cercando rinforzi. Qui trovi le nostre offerte di lavoro.

Quali sono i blip che dobbiamo assolutamente tenere d'occhio? Quali utilizzi o con quali hai avuto buone esperienze? Scrivi nei commenti le tue domande e i tuoi input sul tech-radar o sul nostro stack tecnologico.

A 88 persone piace questo articolo


User Avatar
User Avatar

Come primo sviluppatore a tempo pieno alla Digitec Galaxus per un po' di tempo, sono stato, tra le altre cose, team leader di Goldfinger e Bender! e capo dell'Architectural Guild (l'A-Team).
Nel frattempo, insieme ai nostri Architetti del Dominio, sono
solo il guardiano della torre d'avorio. Sviluppiamo costantemente l'architettura target, lavoriamo a stretto contatto con i team di sviluppo anche durante l'implementazione e formiamo il comitato di revisione dell'architettura.
A causa delle mie richieste di pull piratesche, rotture di build inimmaginabili e deploy di squali il venerdì pomeriggio, mi chiamano anche 🅷🅰🅲🅺🅴🆁🅰🅽.
 


Tecnologia
Segui gli argomenti e ricevi gli aggiornamenti settimanali relativi ai tuoi interessi.

Potrebbero interessarti anche questi articoli

  • Dietro le quinte

    I nostri architetti senior sono orientati al dominio

    di Nicolas Lefebvre

  • Dietro le quinte

    Lego e iPhone: le ricerche più frequenti della clientela

    di Manuel Wenk

  • Dietro le quinte

    La nostra strategia per una maggiore sostenibilità

30 commenti

Avatar
later