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.

Risultati chiave

20 Servizi
Microservizi realizzati in soli 3 mesi con standard condivisi
31 Centri
Poliambulatori supportati dalla nuova piattaforma digitale
Backstage
Internal Developer Platform per centralizzare servizi e documentazione
Full Cloud
Infrastruttura interamente su AWS con CI/CD automatizzata

Tecnologie utilizzate

Platform

  • Backstage
  • Terraform
  • GitHub Actions

AWS Services

  • ECS
  • Lambda
  • RDS
  • AppSync

DevOps

  • Docker
  • Serverless Framework
  • CloudWatch
  • OpenSearch

Metodologia

  • IDP
  • DevX
  • Microservizi
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