Domande generali

D: Cos'è Amazon MSK?
Amazon Managed Streaming per Kafka (Amazon MSK) è un nuovo servizio di streaming di dati di AWS per la gestione dell’infrastruttura e del funzionamento di Apache Kafka; facilita l’esecuzione delle applicazioni Apache Kafka in AWS, in modo che gli sviluppatori e i responsabili di DevOps non debbano diventare esperti del funzionamento dei cluster Apache Kafka. Amazon MSK è il servizio ideale con cui eseguire le applicazioni Apache Kafka nuove ed esistenti in AWS. Amazon MSK opera e mantiene i cluster Apache Kafka, offre caratteristiche di sicurezza di livello aziendale senza ulteriori configurazioni oltre a integrazioni incorporate con AWS per accelerare lo sviluppo delle applicazioni di flussi di dati. Per iniziare, è possibile eseguire la migrazione dei carichi di lavoro Apache Kafka esistenti ad Amazon MSK oppure crearne di nuovi da zero in qualche minuto con pochi clic. Non vengono applicati costi di trasferimento dei dati per il traffico in-cluster e non sono richiesti impegni a lungo termine né pagamenti anticipati. I prezzi vengono calcolati esclusivamente in base alle risorse utilizzate.
 
D: Cos'è Apache Kafka?
Apache Kafka è una piattaforma open source scalabile, a elevate prestazioni e con tolleranza ai guasti per creare pipeline di flussi di dati in tempo reale e applicazioni. Apache Kafka è un archivio di flussi dati che separa le applicazioni che producono flussi di dati nell’archivio dati (produttori) dalle applicazioni che consumano flussi di dati dall’archivio dati (consumatori). Le organizzazioni usano Apache Kafka come origine dati per le applicazioni che analizzano continuamente e reagiscono al flusso di dati.
 
D: Cosa sono i flussi di dati?
I flussi di dati sono flussi continui di record di piccole dimensioni (un record equivale di solito a qualche kilobyte) generati da migliaia di macchine, dispositivi, siti Web e applicazioni. I flussi di dati sono composti da svariati tipi di dati, ad esempio i file di log generati dai clienti che utilizzano applicazioni Web o su dispositivi mobili, acquisti effettuati su siti di e-commerce, eventi all'interno di videogiochi, informazioni provenienti da social network, dati di transazioni finanziarie, servizi di geolocalizzazione e telemetria relativi a dispositivi connessi o strumentazioni in data center. I servizi per i flussi di dati come Amazon Managed Streaming per Kafka e Amazon Kinesis Data Streams facilitano la raccolta, l’elaborazione e la consegna continue di flussi di dati.
 
D: Quali sono le funzionalità principali di Apache Kafka?
Apache Kafka ha tre funzionalità principali:
  • È dotato di tolleranza ai guasti, memorizza i flussi di dati come una serie continua di record e conserva l’ordine in cui sono stati prodotti i record.
  • Funge da buffer tra i produttori e i consumatori di dati. Consente a molti produttori di dati (ad esempio siti Web, dispositivi IoT e istanze Amazon EC2) di pubblicare flussi di dati in modo continuo e di categorizzarli utilizzando gli argomenti Apache Kafka. Diversi consumatori di dati (ad esempio applicazioni di machine learning e funzioni Lambda) leggono da questi argomenti a velocità diverse, in modo simile a quanto avviene con una coda di messaggi o un sistema di messaggistica aziendale.
  • I consumatori di dati elaborano i dati dagli argomenti Apache Kafka secondo la modalità first-in-first-out, conservando l’ordine in cui sono stati prodotti i dati.
 
D: Quali sono i concetti principali di Apache Kafka?
Apache Kafka archivia i record in argomenti. I produttori di dati scrivono i record negli argomenti e i consumatori leggono i record dagli argomenti. Ciascun record in Apache Kafka è costituito da una chiave, un valore e un time stamp. Apache Kafka esegue il partizionamento e replica gli argomenti su più nodi chiamati broker. Esegue quindi un cluster su uno o più broker, che possono trovarsi su zone di disponibilità AWS diverse, per creare un cluster a disponibilità elevata. Apache Kafka si affida ad Apache Zookeeper per coordinare i task relativi ai cluster, garantendo così l’integrità delle risorse che interagiscono con i cluster Apache Kafka.
 
D: In quali casi è indicato utilizzare Apache Kafka?
Apache Kafka viene utilizzato per supportare applicazioni in tempo reale che trasformano, consegnano e reagiscono ai flussi di dati e per creare pipeline di flussi di dati in tempo reale che ottengono i dati in modo affidabile tra più sistemi e applicazioni.
 
D: Qual è il ruolo di Amazon Managed Streaming per Kafka?
Amazon Managed Streaming per Kafka (Amazon MSK) facilita le operazioni di avvio ed esecuzione delle versioni open source di Apache Kafka in AWS grazie all’elevata disponibilità e sicurezza e offre integrazioni con i servizi AWS senza i costi operativi legati all’esecuzione di un cluster Apache Kafka. Amazon MSK consente di utilizzare e configurare versioni open source di Apache Kafka, mentre il servizio gestisce la configurazione, il provisioning, le integrazioni con AWS e la manutenzione continua dei cluster Apache Kafka.
 
È possibile eseguire il provisioning di un cluster Amazon MSK con solo qualche clic nella console. Amazon MSDK sostituisce quindi i broker non integri, replica automaticamente i dati per assicurarne la disponibilità elevata, gestisce i nodi Apache Zookeeper, distribuisce automaticamente patch hardware se necessario, gestisce le integrazioni con i servizi AWS, rende visibili le metriche importanti tramite la console e supporta gli aggiornamenti della versione di Apache Kafka quando è supportata più di una versione, così l’utente può trarre vantaggio dai miglioramenti alla versione open source di Apache Kafka.
 
D: Quali versioni di Apache Kafka supporta Amazon MSK?
Al momento, Amazon MSK supporta la versione 1.1.1 di Apache Kafka.
 
D: Le API Apache Kafka sono compatibili con Amazon MSK?
Sì, Amazon MSK fornisce supporto nativo per tutte le API data plane e admin.
 
D: Amazon MSK supporta Apache Kafka AdminClient?
Sì.

Produzione e consumo di dati

D: È possibile utilizzare le API Apache Kafka per trasferire dati da e verso Apache Kafka?
Sì, Amazon MSK fornisce supporto per le API produttore e consumatore native di Apache Kafka. Non è richiesta la modifica del codice dell’applicazione quando i client iniziano a lavorare con i cluster in Amazon MSK.
 
 
D: È possibile utilizzare Apache Kafka Connect, Apache Kafka Streams o qualsiasi altro componente dell’ecosistema di Apache Kafka con Amazon MSK?
Sì, è possibile utilizzare qualsiasi componente che sfrutta le API produttore e consumatore di Apache Kafka e Apache Kafka AdminClient. Al momento, gli strumenti per il caricamento dei file .jar nei cluster Apache Kafka non sono compatibili con Amazon MSK, compresi Confluent Control Center, Confluent Auto Data Balancer, Uber uReplicator e LinkedIn Cruise Control.

Migrazione ad Amazon MSK

D: È possibile eseguire la migrazione dei dati all’interno di un cluster Apache Kafka esistente ad Amazon MSK?
Sì, è possibile utilizzare strumenti open source e di terze parti come MirrorMaker, integrati ad Apache Kafka open source, per replicare i dati dai cluster nei cluster Amazon MSK.

Aggiornamenti della versione

D: In che modo Amazon MSK consente di distribuire gli aggiornamenti della versione di qualsiasi entità ai cluster Apache Kafka, quando il servizio supporta più di una versione?
UpdateClusterSoftware non è supportato durante l’anteprima di Amazon MSK.
 
D: Come funziona il processo di aggiornamento dietro le quinte?
Quando viene distribuita una nuova versione, Amazon MSK impiega un processo in sequenza che aggiorna un broker o nodo Apache Zookeeper alla volta prima di passare alla risorsa successiva. Durante tutto il processo di aggiornamento, il cluster sarà in stato di “Aggiornamento” e diventerà “Attivo” una volta completato. È importante tenere presente che, se si sceglie di non replicare i dati a diversi broker all’interno un cluster che deve essere aggiornato, il cluster sarà soggetto a tempi di inattività.

Cluster

D: Come si può creare un primo cluster Amazon MSK?
Il primo cluster può essere creato in pochi clic nella Console di gestione AWS oppure mediante il kit SDK AWS. Per prima cosa, nella Console Amazon MSK, è necessario scegliere una regione AWS dove creare un cluster Amazon MSK. Andranno poi scelti il nome del cluster, il cloud privato virtuale (VPC) dove si vuole eseguire il cluster, una strategia di replica dei dati per il cluster (tre zone di disponibilità sono l’impostazione predefinita per garantire una durabilità elevata) e le sottoreti per ciascuna zona di disponibilità. Quindi, è necessario selezionare il tipo di istanza broker e il numero di broker per zona di disponibilità prima di fare clic su “Crea”.

D: Quali risorse sono contenute in un cluster?
Ciascun cluster contiene le istanze broker, lo storage allocato e i nodi Apache Zookeeper.

D: Di quali tipi di istanze broker è possibile eseguire il provisioning all’interno di un cluster Amazon MSK?
È possibile scegliere le istanze all’interno della famiglia di istanze EC2 M5.

D: È necessario eseguire il provisioning e pagare per i volumi di avvio dei broker?
No, ciascun broker di cui viene eseguito il provisioning include storage dei volumi di avvio gestito dal servizio Amazon MSK.

D: Quando viene creato un cluster Apache Kafka, le risorse sottostanti (ad esempio le istanze Amazon EC2) vengono mostrate nella console EC2?
Alcune risorse, come le interfacce di rete elastiche (ENI), vengono mostrate nell’account Amazon EC2. Altre risorse Amazon MSK non vengono mostrate nell’account EC2, poiché sono gestite dal servizio Amazon MSK.

D: Cosa è necessario per eseguire il provisioning all’interno di un cluster Amazon MSK?
È necessario eseguire il provisioning delle istanze broker e dello storage broker per ciascun cluster che viene creato. Non è richiesto, invece, eseguire il provisioning dei nodi Apache Zookeeper, dato che tali risorse sono incluse con ciascun cluster che viene creato senza costi aggiuntivi.

D: Qual è la configurazione predefinita dei broker per un cluster?
Se non altrimenti specificato, Amazon MSK usa le stesse impostazioni predefinite della versione open source di Apache Kafka. Di seguito sono riportate le impostazioni predefinite usate dal servizio. Tale configurazione non può essere modificata mentre il servizio è in anteprima.

Strategia di replica dei broker

3 zone di disponibilità

Min.Insync.Replicas

2

Broker.ID

Impostato dal servizio

Default.Replication.Factor

3 per 3 zone di disponibilità

security.inter.broker.protocol

Testo non crittografato

Crittografia lato server

AWS KMS attivato tramite chiave del servizio AWS

D: È possibile eseguire il provisioning dei broker in modo che la distribuzione nelle zone di disponibilità non sia equilibrata (ad esempio tre in us-east-1a, due in us-east-1b e uno in us-east-1c)?
No, le best practice di Amazon MSK impongono di distribuire i broker in modo equilibrato su tutte le zone di disponibilità all’interno di un cluster.

D: Come funziona la replica dei dati in Amazon MSK?
Amazon MSK usa la replica leader-follower di Apache Kafka per replicare i dati tra i broker. Amazon MSK semplifica la distribuzione delle strategie di replica più utilizzare e consente di utilizzare una strategia di replica personalizzata. Per impostazione predefinita con ciascuna delle opzioni di replica, i broker leader e follower vengono distribuiti e isolati utilizzando la strategia di replica specificata. Ad esempio, se viene selezionata una strategia di replica dei broker a tre zone di disponibilità, con un broker per cluster di ciascuna zona di disponibilità, Amazon MSK creerà un cluster di tre broker (un broker in tre zone di disponibilità in una regione) e, per impostazione predefinita, anche il fattore di replica degli argomenti sarà uguale a tre, a meno che non si scelga di modificarlo. La strategia di replica determina inoltre il numero minimo di nodi Apache Zookeeper assegnati al cluster dietro le quinte.

Argomenti

D: Come si crea un argomento?
Una volta che il cluster Apache Kafka è stato creato, è possibile usare le API Apache Kafka per creare argomenti. Tutte le azioni e le configurazioni relative agli argomenti e a livello di partizione vengono eseguite utilizzando le API Apache Kafka.
 
 
D: Qual è la configurazione predefinita per un nuovo argomento?
Amazon MSK usa la configurazione predefinita di Apache Kafka, se non altrimenti specificato qui:  

Fattore di replica

Cluster predefinito

Min.Insync.Replicas

2

Rete

D: Amazon MSK viene eseguito in un cloud privato virtuale (VPC) Amazon?
Sì, Amazon MSK viene sempre eseguito all’interno di un cloud privato virtuale Amazon gestito dal servizio Amazon MSK. Le risorse Amazon MSK verranno rese disponibili nel cloud privato virtuale Amazon, nella sottorete e nel gruppo di sicurezza selezionati quando il cluster è stato configurato. Gli indirizzi IP del cloud privato virtuale vengono collegati alle risorse Amazon MSK tramite interfacce a rete elastiche (ENI); in questo modo, il traffico di rete rimarrà nell'ambito della rete AWS e non sarà accessibile da Internet.
 
D: La connessione tra i client e un cluster Amazon MSK è sempre privata?
Sì, i dati possono essere prodotti e utilizzati da un cluster Amazon MSK solo tramite una connessione privata tra i client nel cloud privato virtuale e il cluster Amazon MSK. Amazon MSK non supporta endpoint pubblici.

D: In che modo i broker nel cluster Amazon MSK vengono resi accessibili ai client nel cloud privato virtuale?
I broker nel cluster vengono resi accessibili ai client nel cloud privato virtuale attraverso interfacce di rete elastiche (ENI), che appariranno nell’account. I gruppi di sicurezza nelle interfacce ENI determinano l’origine e il tipo di traffico in entrata e in uscita consentito per i broker.

D: Come si può consentire ai client in esecuzione su diversi account AWS di accedere a un determinato cluster?
È possibile usare una connessione peer tra istanze VPC per consentire ai client in esecuzione su diversi account AWS di accedere a un determinato cluster.

Crittografia

D: È possibile crittografare i dati nel cluster Amazon MSK?
Sì, Amazon MSK usa la crittografia lato server Amazon EBS e le chiavi AWS KMS per crittografare i volumi di storage.

D: I dati sono crittografati durante il trasferimento tra broker in un cluster Amazon MSK?
No, al momento no.
 
D: I dati sono crittografati durante il trasferimento tra broker e nodi Apache Zookeeper in un cluster Amazon MSK?
No, al momento no.
 
D: È possibile crittografare i dati durante il trasferimento tra i client Apache Kafka e il servizio Amazon MSK?
No, al momento no.

Monitoraggio, parametri e registrazione di log

D: Come si monitorano le prestazioni dei cluster e degli argomenti?
È possibile monitorare le prestazioni dei cluster usando metriche standard e quelle degli argomenti con metriche più complesse nella console Amazon CloudWatch.
 
D: Come si monitorano lo stato di integrità e le prestazioni dei client?
È possibile utilizzare qualsiasi tipo di monitoraggio lato client supportato dalla versione Apache Kafka in uso.

Apache Zookeeper

D: Cos'è Apache Zookeeper?
Tratto da https://zookeeper.apache.org/: “Apache Zookeeper è un servizio centralizzato per il mantenimento delle informazioni di configurazione, l’assegnazione di nomi, la sincronizzazione distribuita e i servizi di gruppo. Tutti questi servizi vengono utilizzati in qualche modo dalle applicazioni distribuite,” compreso Apache Kafka.

D: Amazon MSK utilizza Apache Zookeeper?
Sì, Amazon MSK utilizza Apache Zookeeper e lo gestisce all’interno di ciascun cluster come parte del servizio Amazon MSK. I nodi Apache Zookeeper sono compresi in ciascun cluster senza costi aggiuntivi.
 
D: Come interagiscono i clienti con Apache Zookeeper?
I client possono interagire con Apache Zookeeper attraverso un endpoint Apache Zookeeper fornito dal servizio. L’endpoint viene fornito nella Console di gestione AWS o utilizzando DescribeCluster API.

Integrazioni

D: Con quali servizi AWS si integra Amazon MSK?
Amazon MSK si integra con:

Dimensionamento

D: Come si può ricalibrare un cluster?
La scalabilità di un cluster esistente non è supportata durante l’anteprima di Amazon MSK.

Prezzi e disponibilità

D: Come vengono calcolati i prezzi di Amazon MSK?
I prezzi dipendono dalle ore di broker Apache Kafka e dalle ore di storage assegnate. Saranno addebitati i costi di AWS per il trasferimento dei dati da e verso Amazon MSK. Visita la pagina dei prezzi per ulteriori informazioni.

D: Si pagano i trasferimenti di dati resi necessari dalla replica dei dati?
No, tutti i trasferimenti dei dati in-cluster sono inclusi nel servizio senza costi aggiuntivi.
 
D: Quali regioni offre Amazon MSK?
Amazon MSK è disponibile nella regione AWS Stati Uniti orientali (Virginia settentrionale) durante l’anteprima pubblica.

D: Come vengono calcolati i prezzi del trasferimento di dati?
Saranno addebitati i costi standard di AWS per il trasferimento di dati da e verso un cluster Amazon MSK. Non saranno addebitati costi per il trasferimento di dati all’interno del cluster in una regione, compreso il trasferimento di dati tra broker e tra broker e nodi Apache Zookeeper.

Inizia a usare Amazon MSK

Product-Page_Standard-Icons_01_Product-Features_SqInk
Calcola i costi

Visita la pagina dei prezzi di Amazon MSK.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Esamina la guida alle nozioni di base

Scopri come configurare un cluster Apache Kafka in Amazon MSK con questa guida dettagliata.

Product-Page_Standard-Icons_03_Start-Building_SqInk
Esegui il tuo cluster Apache Kafka

Inizia a eseguire il tuo cluster Apache Kafka in Amazon MSK. Accedi alla Console Amazon MSK.