Centro Medico Santagostino

Una Internal Developer Platform per la digitalizzazione dell’Healthcare full-cloud
Il progetto
Santagostino - Internal Developer Platform
Le tecnologie
aws icon backstage icon

Il cliente

Santagostino è un’azienda italiana che gestisce una rete di poliambulatori che offrono una vasta gamma di servizi specialistici ad un prezzo accessibile e con una elevata qualità. Con 31 centri presenti tra Lombardia, Bologna e Roma, negli ultimi anni ha definito un piano di crescita continua che, oltre all’apertura di nuovi poliambulatori, prevede l’aumento di servizi di supporto al paziente a distanza con l’utilizzo di tecnologie mature e anche innovative.

L'obiettivo

Realizzazione di una Internal Developer Platform per incrementare la DevX interna e per migliorare il supporto al business in termini di efficacia

La sfida

Pur avendo sempre avuto un sistema digitale che gestisce tutto l’ecosistema degli ambulatori, dei medici e dei pazienti, le premesse di prima hanno posto una nuova sfida in termini di organizzazione e standard di tutti i servizi digitali interni.

Questa sfida aveva due aspetti fondamentali. Il primo era creare una piattaforma interna per centralizzare i servizi e la documentazione, gestire tutto il lifecycle dei servizi e semplificare il lavoro degli sviluppatori di Santagostino; il secondo realizzare una serie di servizi per semplificare la comunicazione dei prodotti interni principali e permettere di supportare il business efficacemente.

Il tutto si traduce in un effetto visibile dall’esterno in termini di nuove e migliorate funzionalità ai pazienti, come il recupero di appuntamenti e il recupero di referti, tra i tanti servizi messi a disposizione.

La soluzione

Il nostro lavoro con Santagostino è iniziato con un assessment della loro situazione corrente, dal quale è emerso che, nonostante l’utilizzo di AWS come cloud provider, i loro servizi interni non rispettavano degli standard condivisi, non esistevano delle pipeline di CI/CD che potessero garantire un’alta affidabilità dei rilasci e il monitoraggio delle risorse non era efficiente. L’analisi preliminare ha restituito la fotografia di un ecosistema non ancora solido per i rilasci confermando l’esigenza già percepita dall’azienda: la necessità di un developer platform.

Per realizzarla abbiamo scelto Backstage, un software Open Source rilasciato da Spotify che permette di creare delle piattaforme in cui raccogliere e censire i servizi, la documentazione e gli starterkit necessari per semplificare il lavoro dei team di sviluppo. L’applicazione è stata sviluppata tenendo in mente tutti i principi che rendono il suo utilizzo e mantenimento semplice e veloce: il codice e la CI/CD sono su Github e la definizione dell’infrastruttura è gestita con Terraform. Per quest’ultima abbiamo scelto i servizi di AWS ECS, ECR, RDS, S3 e Cognito.

Diagramma che mostra la developer platform sviluppata per Santagostino


Contemporaneamente a questo, abbiamo definito insieme al Cliente i requisiti degli starterkit che gli avrebbero consentito di creare nuovi microservizi (sfruttando diversi servizi AWS) con degli standard condivisi e consolidati. Il risultato di questo lavoro ha prodotto un elenco di starterkit che abbiamo realizzato tenendo a mente questi requisiti di alto livello:

  • Codice sorgente su Github
  • QA/CI/CD integrata su Github
  • Monitoraggio integrato con dashboard Cloudwatch
  • Documentazione integrata (consultabile dalla Developer Platform)
  • Logging operazionale integrato su ambiente ELK

Servizi usati:

AppSync, Lambda, RDS, ECS, Api Gateway, Step functions, SQS, Event Bridge, Parameter Store, Alb, Cloudwatch, DynamoDB, Acm, Route53, OpenSearch, SNS, Amplify, Iam, Xray, Cognito

Tecnologie usate:

Terraform, Serverless Framework, GitHub Actions, PlantUML, MKdocs, Swagger, Backstage, Docker

I risultati

La nuova Developer Platform ha consentito al Cliente di raccogliere tutta la documentazione dei servizi già esistenti e di velocizzare lo sviluppo di quelli nuovi senza dover definire, per ognuno di essi, dei processi di CI/CD, di definizione dell’infrastruttura e di monitoraggio. Inoltre ha semplificato il processo di onboarding di nuovi sviluppatori del team interno di sviluppo.

In circa 3 mesi sono stati realizzati 20 servizi con nuove funzionalità e che ne hanno rimpiazzato alcuni vecchi. Adesso tutti condividono le stesse pratiche e sono già utilizzati con successo in ambienti di produzione.

Questo nuovo ecosistema di servizi inoltre include delle funzionalità di monitoraggio comuni che permettono di controllare le performance e le richieste in maniera centralizzata e, nel caso di eventuali errori, di intervenire velocemente con efficacia.
Marco Bertoncini

Marco Bertoncini

Chief Digital and Design Officer Santagostino

In SparkFabrik abbiamo trovato un interlocutore sfidante e capace di rispondere alle nostre richieste come un partner propositivo e non come un mero esecutore. Il rilancio di idee tra fornitore e cliente è un requisito fondamentale per un’azienda, come la nostra, che non vuole mai trattare gli sviluppi come una “black box” di cui non conosce le logiche e il funzionamento.

Ci sono stati fisiologici e inevitabili piccoli aggiustamenti di percorso, tipici di ogni processo di sviluppo. Ma più che un cambio di aspettative abbiamo osservato una crescita di consapevolezza, a livello di dipartimento e a livello di azienda.

Ci siamo resi meglio conto dell’importanza di costruire un sistema ancora più puntiglioso e “spietato” di quanto già immaginassimo, pensato per consentirci di individuare da subito gli errori nel codice. E anche per fornire nativamente, nei nuovi servizi, dei log strutturati e completi che ci permettano di migliorare e correggere con la massima velocità possibile.

Per un’azienda sanitaria come il Santagostino la tecnologia è un abilitatore della nostra vera attività a valore aggiunto: l’esperienza di cura, che coinvolge tutte e tre le nostre categorie di utenti, ovvero i pazienti, i professionisti clinici, i dipendenti.

In questo senso, la scelta di una developer platform è stata dettata dall’esigenza di migliorare l’esperienza Santagostino per queste tre categorie, per così dire, in modo indiretto. A ben vedere, una developer platform è “l’abilitatore di un abilitatore”.

Laddove i nostri software (gestionali, portali, cartelle cliniche, app) vanno direttamente nelle mani dei nostri utenti, la developer platform è un nuovo tool di lavoro nelle mani dei nostri sviluppatori e, di conseguenza, dei nostri project manager e designer.

Il nostro team può così, a sua volta, dedicare il tempo alla parte a più alto valore aggiunto del lavoro: l’architettura dei servizi, il codice vero e proprio, la definizione e l’implementazione della user experience.

Get in touch

Seguici sui social
Ascolta Continuous Delivery