Caso di studio Remind
2015
Remind è un'applicazione Web e per dispositivi mobili che consente agli insegnanti di inviare messaggi di testo agli studenti e rimanere in contatto con i genitori. Remind ha 25 milioni di utenti e oltre 1,5 milioni di insegnanti sulla propria piattaforma e l'applicazione distribuisce 150 milioni di messaggi al mese.
Passare ad Amazon ECS ha migliorato notevolmente le prestazioni del nostro servizio. Abbiamo diminuito il tempo di risposta al 99° percentile del 50%".
Jason Fischl
Vice presidente della progettazione, Remind
La sfida
- Remind utilizzava una piattaforma cloud di terze parti come un servizio (PaaS) per eseguire l'intera infrastruttura applicativa (motore di consegna dei messaggi, API front-end, client Web, back-end chat) come applicazione monolitica.
- Problemi di dimensionamento hanno indotto la necessità di passare a un'architettura basata su microservizi ma Remind non era soddisfatta della visibilità limitata sulla CPU e delle prestazioni di rete messe a disposizione dal fornitore PaaS.
- Remind desiderava utilizzare Docker su Amazon Elastic Compute Cloud (Amazon EC2) per un migliore utilizzo delle risorse e una migliore uniformità dell'ambiente e il pensiero iniziale è stato quello di disporre di una soluzione PaaS interna che garantisse l'efficienza degli sviluppatori.
- Remind ha iniziato a creare la propria soluzione PaaS al di sopra del CoreOS basato su Linux e del parco istanze, ma il parco istanze e l'etcd per la memorizzazione dei valori chiave erano instabili. Inoltre il team non desiderava trascorrere tempo nell'eseguire e rendere operativo il proprio sistema di gestione del cluster.
Perché Amazon Web Services
- Remind ha scelto di utilizzare direttamente AWS per mantenere la semplicità operativa; utilizzava già Amazon Redshift, Amazon DynamoDB, Amazon Simple Storage Service (Amazon S3) e Amazon CloudFront.
- L'azienda ha deciso di creare la propria soluzione PaaS su Amazon EC2 Container Service (Amazon ECS) dato che il team di engineering era ridotto e non aveva il tempo o l'esperienza necessaria per attivare e gestire i cluster.
- Remind ha rilasciato in open source la propria soluzione PaaS su Amazon ECS come "Empire".
- Amazon ECS fornisce la pianificazione e l'integrazione dei container, mentre Elastic Load Balancing (ELB) consente a Empire di utilizzare DNS per il rilevamento dei servizi.
- Empire fornisce un'API compatibile con Heroku e CLI che consente agli sviluppatori di distribuire facilmente le applicazioni su Amazon ECS.
I vantaggi
- Amazon ECS, un servizio gestito, offre efficienza operativa, consentendo alle risorse del dipartimento di engineering di focalizzarsi sullo sviluppo e sulla distribuzione delle applicazioni anziché sulla gestione e sul mantenimento dei cluster.
- Il passaggio ad Amazon ECS ha offerto miglioramenti significativi delle prestazioni, compresa una migliore stabilità e una latenza inferiore.
- Remind ha registrato una riduzione di 2 volte nei tempi di risposta nel 99° percentile, con meno varianza e minori picchi.
- AWS ha fornito il controllo sulla sicurezza e l'instradamento tramite VPC, oltre a una maggiore visibilità sulle prestazioni delle applicazioni.
Informazioni su Remind
Remind è un'applicazione Web e per dispositivi mobili che consente agli insegnanti di inviare messaggi di testo agli studenti e rimanere in contatto con i genitori.
Servizi AWS utilizzati
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) è un servizio Web che fornisce capacità di elaborazione sicura e scalabile nel cloud. È concepito per rendere più semplice il cloud computing su scala Web per gli sviluppatori.
Amazon Redshift
Redshift alimenta i carichi di lavoro analitici mission critical per le aziende Fortune 500, le start-up e qualsiasi altra.
Ulteriori informazioni »
Amazon DynamoDB
Amazon DynamoDB è un database che supporta i modelli di dati di tipo documento e di tipo chiave-valore che offre prestazioni di pochi millisecondi a qualsiasi scala.
Ulteriori informazioni »
Amazon S3
Amazon Simple Storage Service (Amazon S3) è un servizio di storage di oggetti che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni all'avanguardia nel settore.
Ulteriori informazioni »
Amazon CloudFront
Amazon CloudFront è una rete per la distribuzione rapida di contenuti o CDN (Content Delivery Network) che permette la distribuzione di dati, video, applicazioni e API a livello globale agli utenti con latenza minima, velocità di trasferimento elevata, il tutto in un ambiente amichevole per gli sviluppatori.
Ulteriori informazioni »
Elastic Load Balancing
Elastic Load Balancing instrada automaticamente il traffico in entrata delle applicazioni tra molteplici destinazioni, quali istanze Amazon EC2, container, indirizzi IP e funzioni Lambda.
Ulteriori informazioni »
Nozioni di base
Le aziende di tutte le taglie e di tutti i settori stanno trasformando ogni giorno la propria attività grazie ad AWS. Contatta i nostri esperti e inizia subito il tuo viaggio in AWS Cloud.