Parentsmile lancia la prima piattaforma SaaS su AWS specializzata nei servizi assistenziali per le famiglie
Parentsmile è nata dall’intuizione e dall’esperienza personale della madre della fondatrice, Cristina Lucera, che si è accorta che cercare un supporto medico qualificato per un genitore, sia a casa che a distanza, è un compito arduo e spesso un salto nel buio.
Parentsmile è una piattaforma di prenotazione unica che integra servizi sanitari, formativi, educativi e di benessere psicofisico onnicomprensivo, concentrandosi sul settore dell’assistenza familiare.
Il ruolo di Zero12, azienda del gruppo Var Group oltre che AWS SaaS Competency Partner che ha seguito la progettazione della piattaforma, è stato quello di analizzare l’idea ed il modello di business del cliente, guidandolo nella scelta dei servizi da utilizzare e assicurandosi che lo sviluppo del codice fosse integrato ai servizi Amazon Web Services (AWS).
L’obiettivo era quello di fornire agli utenti finali un servizio che gestisse in maniera sicura i dati , oltre che essere affidabile e scalabile grazie ai servizi serverless.
Questo post dimostra come Zero12 ha costruito la piattaforma SaaS di Parentsmile; esponendo i principali servizi e logiche di sviluppo utilizzati, quali Amazon Elastic Container Service (Amazon ECS), (Amazon ECS), il processo di continuous integration e continuous delivery (CI/CD) ed il workflow asincrono utilizzato per i pagamenti ed i reminders.
Cos’è Parentsmile
La piattaforma Parentsmile consente a genitori, nonni e altri membri della famiglia di prenotare un’ampia gamma di servizi di supporto e orientamento, forniti da professionisti specializzati nel settore dell’assistenza familiare. Questi professionisti sono convalidati dal team di Parentsmile e forniscono le loro prestazioni sia in casa che tramite video in diretta, giorno o notte compresi i fine settimana.
La piattaforma offre un’offerta altamente differenziata, che consente agli utenti di trovare il supporto di cui hanno bisogno in un’unica piattaforma. Attualmente Parentsmile offre servizi di ostetriche, logopedisti, psicologi e psicoterapeuti, osteopati, nutrizionisti, educatori e presto includerà anche infermieri pediatrici, personal trainer, educatori e operatori dell’infanzia.
L’esperienza di acquisto unica di Parentsmile include molteplici servizi forniti da una rete di professionisti accuratamente selezionati, un’esperienza utente seamless (UX) e conferme di prenotazione in tempo reale.
Gli algoritmi di intelligenza artificiale (AI) associano automaticamente ogni utente al servizio più adatto in base alle sue esigenze, facendo risparmiare alle persone ore trascorse a navigare tra centinaia di profili professionali.
Figura 1 – Design del front-end dell’applicazione.
Parentsmile si rivolge principalmente a tre tipologie di personas:
- Consumatori o utenti finali che effettuano prenotazioni, acquistano i servizi della piattaforma in tempo reale, e possono gestire le proprie prenotazioni in autonomia dalla propria area riservata.
- Professionisti che forniscono e fatturano i loro servizi direttamente ai consumatori.
- Lo staff di Parentsmile che gestisce l’ambiente di back-office.
Parentsmile adotta un modello di business Saas basato sul pagamento di commissioni, ciò significa che la piattaforma trattiene una percentuale prestabilita sugli importi pagati dagli utenti finali.
Parentsmile Partnership
La piattaforma Parentsmile è stata sviluppata da Zero12, società specializzata nella progettazione e sviluppo di soluzioni SaaS basate sulle tecnologie AWS.
È uno dei pochi partner ad aver ottenuto l’AWS SaaS Competency, che certifica la loro capacità nello sviluppare soluzioni software sostenibili e scalabili. Parentsmile ha deciso di affidarsi a Zero12 grazie alle skill dimostrate, quali:
- Capacità di trasformare le idee in soluzioni software.
- Capacità di sviluppare software cloud-native con caratteristiche di scalabilità, efficienza operativa e resilienza.
- Metodologia di lavoro che coniuga la puntualità nel rispetto del piano di sviluppo con la flessibilità necessaria nella creazione di una nuova soluzione digitale.
Architettura dell’applicazione SaaS di Parentsmile
La piattaforma di Parentsmile è stata progettata utilizzando un approccio a microservizi in modalità serverless che consente una perfetta integrazione tra software e architettura cloud.
La piattaforma è completamente serverless e offre la massima flessibilità e affidabilità grazie ai servizi gestiti AWS, che includono:
- Amazon ECS on AWS Fargate per l’orchestrazione dei container serverless.
- Amazon DocumentDB con compatibilità MongoDB per il database principale.
- Amazon Simple Email Service (Amazon SES) e Amazon Simple Notification Service (Amazon SNS) per inviare, rispettivamente, e-mail e messaggi di testo.
- Amazon Simple Storage Service (Amazon S3) per archiviare file e consentire agli utenti di recuperarli tramite URL pre-signed.
- Amazon Cognito per l’autenticazione degli utenti.
- AWS Lambda per eseguire operazioni asincrone che verranno descritte più avanti in questo post.
Figura 2 – Applicazione front-end e infrastruttura principale back-end.
L’applicazione viene distribuita utilizzando Amazon ECS, mentre le attività in esecuzione su AWS Fargate vengono replicate su due sottoreti private per essere altamente disponibili su almeno due Zone di Disponibilità (AZ) AWS .
Esistono tre piattaforme: una per gli amministratori di Parentsmile, una per i fornitori di servizi (ad esempio, operatori sanitari e di assistenza all’infanzia) e una per i consumatori.
Ciascuna è accessibile tramite Amazon CloudFront, che distribuisce i file statici contenuti in Amazon S3. Utilizzando questi due servizi, aiutiamo a garantire scalabilità e affidabilità per gli utenti, nonché prestazioni elevate a livello globale.
Uno dei servizi offerti da Parentsmile è la videoconsulenza, detta anche visita a distanza. Per sviluppare questa funzionalità, Zero12 Amazon Chime che ci ha permesso di concentrarci sulla logica di business.
Continuous Integration and Continuous Delivery
La piattaforma Parentsmile è composta da un componente front-end e un componente back-end. Il processo di CI/CD viene avviato su AWS CodeCommit.
Per il front-end ed il back-end, vengono eseguiti rilasci costanti del codice modificato, in questo modo sarà distribuito solo il micro servizio modificato e non l’intero codice.
A tale scopo, la prima pipeline crea immagini Docker per ogni micro servizio aggiornato e le invia a Amazon Elastic Container Registry (Amazon ECR). Quindi, per ogni immagine Amazon ECR, Amazon CloudWatch attiva una pipeline che crea e distribuisce ogni immagine in Amazon ECS.
Figura 3 – Architettura di Continuous integration e continuous delivery con servizi di sviluppo AWS.
Serverless Asynchronous Workflows
La piattaforma utilizza la potenza di calcolo asincrono offerto da AWS Lambda e le funzionalità di AWS Step Functions per l’orchestrazione. Grazie a questi servizi, Zero12 è riuscita a gestire tutte le operazioni asincrone e a raggiungere sia gli obiettivi di ottimizzazione dei costi che una migliore esperienza utente.
La Figura 4, di seguito, mostra in maniera semplificata un workflow di Step Function, che viene normalmente utilizzato per pianificare i pagamenti (48 ore prima della data dell’appuntamento), le fatture mensili, le notifiche utente e creare la riunione Chime minuti prima dell’appuntamento.
Figura 4 – Scheduling dell’infrastruttura con AWS Step Functions.
Per la pianificazione dei pagamenti è stato utilizzato Stripe, che, grazie ai suoi webhook, si integra con il flusso di lavoro asincrono attivando Amazon API Gateway. Questo attiva AWS Lambda ogni volta che viene avviata un’azione.
I webhook Stripe forniscono notifiche anche quando un pagamento viene eseguito o rifiutato, o quando vengono eseguite azioni sull’account dei professionisti, come ad esempio il pagamento mensile delle prestazioni eseguite.
Considerando il caso d’uso, la piattaforma Parentsmile necessita di un’infrastruttura altamente sicura, per questo abbiamo utilizzato il servizio AWS Key Management Service (AWS KMS) per la crittografica dei dati at rest mentre per quelli in transito, utilizziamo il protocollo HTTPS per comunicare con le nostre API.
Per quanto riguarda, invece, l’autenticazione e l’autorizzazione degli utenti ad accedere alle loro informazioni private utilizziamo Amazon Cognito. Sono presente anche degli utenti autorizzati possono eseguire operazioni amministrative.
Stefano Dindo
CEO Zero12 s.r.l. – Var Group Company
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!