Community - Cloud AWS su Google+ Amazon Web Services Servizio Amazon SNS Oggi vedremo il servizio di Amazon SNS per la gestione delle notifiche tra applicazioni e servizi esterni. Hangout 09 del 18.03.2014 Davide Riboldi Massimo Della Rovere CLOUD AWS #cloudaws cloud-aws.com
Amazon SNS - Descrizione generale Amazon SNS è un servizio che coordina e gestisce la consegna o l invio di messaggi verso degli chiamati anche client. Ci sono due tipi di client: I publisher comunicano in maniera asincrona verso i subscriber inviando un messaggio attraverso un punto d accesso logico chiamato topic. I subscriber (web server, indirizzi email o code SQS) ricevono i messaggi o le notifiche attraverso uno dei protocolli supportati (SQS, HTTP/S, email, SMS) una volta che questi vengono associati ad un topic.
Amazon SNS - Descrizione generale Publisher Publisher Publisher SNS Topic Simple Notification Service (Amazon SNS) (SQS) (HTTP/S) (email) (sms)
Amazon SNS - Descrizione generale Quando si utilizza Amazon SNS (come proprietario) è possibile creare un topic e controllare gli accessi con delle policy che determinano quale publisher e quale subscriber possono comunicare con il topic. Un publisher può inviare messaggi ad un topic che lui stesso ha creato, oppure verso un topic per il quale gli sono stati concessi i permessi di pubblicazione. Quindi anche topic al di fuori del proprio account.
Amazon SNS - Descrizione generale Invece di avere uno specifico indirizzo di destinazione per ogni messaggio inviato, un publisher invia il suo messaggio verso un topic. Amazon SNS abbina il topic ad una lista di subscriber che lo hanno sottoscritto e invia un messaggio ad ognuno di loro. Publisher Topic Ogni topic possiede un nome univoco che identifica l in Amazon SNS, questo nome viene utilizzato dal publisher per postare i messaggi e dal subscriber per registrare le notifiche. nome univoco
Amazon SNS - Scenario fanout Si parla di uno scenario fanout quando in Amazon SNS un messaggio viene inviato ad un topic e questo viene replicato e mandato su più code Amazon SQS, HTTP o indirizzi email. Questo ci permette di sfruttare un sistema di elaborazione asincrono parallelo. Publisher SNS Topic EC2 EC2
Amazon SNS - Scenario fanout Per esempio prendiamo in considerazione una applicazione di e-commerce, questa applicazione può essere sviluppata per inviare un messaggio SNS verso un topic ogni qual volta venga eseguito un ordine per un prodotto, le code di Amazon SQS sottoscritte al topic riceveranno una identica notifica per ogni nuovo ordine. Una istanza di Amazon EC2 collegata ad una di queste code potrebbe gestire l elaborazione dell ordine, mentre un altra istanza EC2 potrebbe essere collegata ad data warehouse per l analisi di tutti gli ordini ricevuti.
Amazon SNS - Scenario fanout Lo scenario fanout potrebbe anche essere utilizzato per replicare i dati inviati in produzione verso l ambiente di sviluppo, è possibile migliorare il testing dell applicazione continuando ad alimentare l ambiente di sviluppo con dati reali che arrivano dalla produzione. Publisher SNS Topic Produzione Testing
Amazon SNS - Application and System Alert Gli avvisi di sistema o delle applicazioni sono delle notifiche che vengono innescate da delle soglie predefinite e inviano uno stato. Amazon SNS viene utilizzato da molti servizi presenti su AWS per ricevere notifiche immediate quando si verificano degli eventi. Il sistema delle notifiche può essere utilizzato anche per innescare dei processi di autoscaling al verificarsi di determinati eventi.
Amazon SNS - Notifiche utente Significa trasmettere messaggi ad individui o gruppi attraverso email o SMS. Ad esempio è possibile sviluppare una applicazione che utilizzi amazon SNS per inviare delle news ad utenti che hanno sottoscritto un servizio via email o sms. Publisher SNS Topic SMS EMAIL
Amazon SNS - Creazione Topic Come abbiamo già detto un Topic è un canale di comunicazione utilizzato per inviare messaggi e sottoscrivere le notifiche. Fornisce un punto di accesso per publisher e subscriber per comunicare tra di loro. Eseguire accesso console AWS. Selezionare servizio SNS e regione. Opzione Create Topic
Amazon SNS - Creazione Per ricevere i messaggi pubblicati in un topic, bisogna iscrivere l al topic. Quindi bisogna creare un subscriber, questo può essere un server, un indirizzo email o una coda SQS. Andare su My Subscriptions. Premere Create New Subscription. Scegliere il protocollo. Specificare il valore di. Confermare la sottoscrizione.
Amazon SNS - Creazione Publisher Come publisher possiamo utilizzare per fare delle prove direttamente la management console, che mette a disposizione un semplice tools per spedire i messaggi al topic che abbiamo appena creato. Selezionare il tasto publish. Specificare soggetto e descrizione. Spedire il messaggio al topic. Specificare il valore di. Controllare messaggio ricevuto.
Amazon SNS - Messaggi e protocolli Se esistono diversi subscriber che si sono registrati al topic e questi hanno dei protocolli di comunicazione diversi, è possibile spedire al topic un messaggio con differenti contenuti in base al protocollo. Ad esempio possiamo mandare un messaggio molto breve per la spedizione di un SMS e uno più lungo per una spedizione di posta elettronica. Alcuni protocolli supportati sono http, https, email, SMS, JSON, SQS ect. Ognuno di questi può avere un messaggio con contenuti diversi con lo stesso invio.
Amazon SNS - Cancellazione configurazioni In questo esempio abbiamo visto come creare un topic, configurare un subscriber e utilizzare un publisher, adesso vediamo come cancellare il tutto. Dalla management console se selezionate il servizio di Amazon SNS trovate un menu chiamato Topics, una volta selezionato otterrete la lista dei subscriber registrati da dove potete selezionare le opzioni. Troverete l opzione delete subscription e una volta che il topic rimane senza sottoscrizioni potete usare anche l opzione chiamata delete topic.
Amazon SNS - Gestione degli accessi Amazon SNS permette di gestire la sicurezza del servizio attraverso delle policy. Queste policy definiscono i diritti di accesso alle varie funzionalità del servizio, le possibilità sono tantissime vediamone alcune: Autorizzare un altro account AWS. Limitare solo un protocollo. Permettere la pubblicazione SQS.
Amazon SNS - Mobile Push Notification Con Amazon SNS è possibile inviare messaggi di notifica direttamente verso una app installata su un device mobile. I messaggi di notifica inviati verso un mobile possono apparire nell app come un messaggio di allarme, avvisi sonori o badge updates. I servizi di push notification supportati da Amazon: Apple Push Notification Service (APNS) Apple Push Notification Service Sandbox (APNS_SANDBOX) Amazon Device Messaging (ADM) Google Cloud Messaging for Android (GCM)
Amazon SNS - Mobile Push Notification Publisher SNS Topic Push Notification System APNS GCM ADM I servizi di notifica come APNS e GCM mantengono il collegamento alle app e ai dispositivi mobili ad essi associati per l utilizzo dei loro servizi. Quando le app e i dispositivi mobili vengono registrati al servizio, questi restituiscono un device token. Amazon SNS utilizza il device token per la creazione dell mobile e per potergli inviare i messaggi di notifica.
Amazon SNS - Ringraziamenti Video consigliati Cloud Computing Amazon Web Service 1 Amazon Web Service 2 Amazon Free Trial Amazon S3 Amazon Glacier Amazon CloudFront Amazon MFA Amazon SNS