Vai al contenuto

CUP Carsharing — Arval Car Sharing, Share'N Go & MiMoto

Piattaforma di mobilità

2015 - 2020 · Responsabile R&D e architettura di piattaforma

La piattaforma multi-operatore di car e scooter sharing di Omniaevo — app native iOS e Android, un backend di gestione flotta in PHP e Node.js e un collegamento in tempo reale fino al computer di bordo di ogni veicolo — al servizio di Arval Car Sharing, Share'N Go, MiMoto e altri.

Software che sblocca le auto

Costruita in Omniaevo, dove ho guidato il team di R&D automotive — promosso da senior backend architect a responsabile del team di sviluppo — questa è la piattaforma che ha trasformato un tocco sullo smartphone in un veicolo che si muove davvero. Un unico sistema core, brandizzato e gestito come diversi servizi di car e scooter sharing in tutta Europa.

Il prodotto non è mai stata una singola app. Era una piattaforma di mobilità condivisa multi-operatore: lo stesso motore alimentava i servizi attivi — Arval Car Sharing, il distinto servizio free-floating Share’N Go e lo scooter sharing elettrico MiMoto — ed era avviata come MVP per corteggiare potenziali partner, tra cui Avis (sperimentato in Australia), EasyRide e un assetto Star Car Alliance. Ogni servizio attivo operava con il proprio brand — proprie app, flotte, prezzi e città — su un unico core condiviso, con configurazione, back office e deployment per singolo operatore.

La parte difficile non era una schermata; era la catena di affidabilità dal tocco di un utente fino allo stato fisico di un veicolo, da un capo all’altro. Una prenotazione su uno smartphone doveva raggiungere l’auto giusta parcheggiata in strada, sbloccarla, autorizzare l’accensione, tracciare il viaggio sulle reti mobili, quindi chiuderlo e fatturarlo — e restare corretta quando connettività, hardware o un guidatore facevano qualcosa di inatteso. Quella catena attraversava app mobili, microservizi, un bus di messaggi, il firmware dei veicoli e il supporto operativo, e tutto doveva concordare sulla verità.

Il backend rifletteva questo. La logica core di flotta e business girava su PHP con lo Zend Framework e Doctrine, su MongoDB e PostgreSQL con PostGIS per le query geospaziali, con pagamenti con carta CartaSi e accesso protetto da JWT. Attorno a esso c’era una flotta di microservizi Node.js — un router di messaggi ZeroMQ/Redis che trasportava comandi e telemetria dei veicoli, MQTT per la messaggistica dei dispositivi, API REST, un hub email, una mappa dei veicoli in tempo reale e una heatmap il cui front-end è passato da AngularJS a Svelte, bot amministrativi e operativi. L’intero parco girava containerizzato su Kubernetes — Google Kubernetes Engine su Compute Engine — con Apache Kafka per lo streaming di eventi ad alta capacità, su Google Cloud: lo stack automotive all’avanguardia che ho introdotto nel dipartimento R&D.

Abbiamo deliberatamente provato a romperla. Con Locust — il load-tester open-source a sciame — abbiamo colpito la piattaforma attiva con traffico di scala DDoS mentre serviva utenti reali, e abbiamo osservato l’horizontal pod autoscaler di Kubernetes aggiungere capacità sotto pressione. È rimasta attiva e ha mantenuto circa 150ms di latenza totale per tutta la durata.

Sul lato dispositivo, i guidatori usavano vere app native: iOS in Swift con UIKit, Android in Kotlin, realizzate per singolo operatore per prenotazione, accesso al veicolo, mappe in tempo reale e gestione del viaggio. Quelle app erano la punta visibile; sotto, la piattaforma arrivava fino all’interno delle auto.

È questa portata a renderla insolita. Ogni veicolo montava un computer di bordo — firmware embedded in C/C++, con un proprio tooling SDK e installer di mappe — e la piattaforma vi si interfacciava direttamente, insieme alle PCB OEM dell’auto, in tempo reale: blocco e sblocco, controllo di immobilizer e accensione, telemetria GPS e CAN, diagnostica remota. Software che parla direttamente con il metallo, non tramite una scatola di terze parti.

Tramite Bulweria Ltd — l’azienda britannica titolare del software CUP Carsharing — la piattaforma è arrivata ai Fleet News Awards 2017 come finalista per “Most Innovative New Product or Service”, un riconoscimento da parte di una giuria esigente del settore flotte per un sistema che chiudeva il cerchio tra un’app e un’auto in movimento.

Galleria