InfoQ – May 2022

From Google Cloud Media CDN to EC2 I4i Instances, from AlloyDB to SageMaker Serverless Inference: a recap of my articles for InfoQ in May.

AWS Releases First Graviton3 Instances

AWS has recently announced the general availability of the C7g instances, the first EC2 instances running Graviton3 processors. Designed for compute-intensive workloads, they provide always-on memory encryption, dedicated caches for every vCPU, and support for pointer authentication.

Amazon Rekognition Introduces Streaming Video Events

AWS recently announced the general availability of Streaming Video Events, a new feature of Amazon Rekognition to provide real-time alerts on live video streams.

Amazon EC2 Supports NitroTPM and UEFI Secure Boot

AWS recently announced the general availability of the UEFI Secure Boot and of NitroTPM, a virtual TPM module for EC2 instances based on the AWS Nitro System. The new features are designed for boot-process validation, key protection and digital rights management.

Google Cloud Introduces PostgreSQL-Compatible AlloyDB for Enterprise Database Workloads

Google Cloud recently announced AlloyDB for PostgreSQL, a managed PostgreSQL-compatible service targeting enterprise deployments. AlloyDB is a full-featured cloud database supporting atomicity, consistency, isolation and durability (ACID)-compliant transactions.

AWS Introduces Storage-Optimized I4i Instances for IO-Heavy Workloads

AWS recently introduced the EC2 I4i instance type for data-intensive storage and IO-heavy workloads requiring fast access to medium-sized datasets. The new instances can benefit high-performance real-time relational databases, distributed file systems, data warehouses and key-value stores.

Google Cloud Introduces Media CDN for Content Delivery

Google Cloud recently announced the general availability of Media CDN, a content delivery network targeted to media and entertainment companies. The streaming platform supports advertising insertion and AI/ML analytics.

Amazon SageMaker Serverless Inference Now Generally Available

Amazon recently announced that SageMaker Serverless Inference is generally available. Designed for workloads with intermittent or infrequent traffic patterns, the new option provisions and scales compute capacity according to the volume of inference requests the model receives.

Amazon MSK Serverless Now Generally Available

AWS recently announced that Amazon MSK Serverless is now generally available. The serverless option to manage an Apache Kafka cluster removes the need to monitor capacity and automatically balances partitions within a cluster.

More news? A recap of my articles for InfoQ in April.

AWS introduce le prime EC2 con processori Graviton3

AWS ha recentemente annunciato la GA delle istanze C7g, le prime EC2 che utilizzano processori Graviton3. Progettati per carichi di lavoro che richiedono molta capacità di calcolo, forniscono crittografia della memoria sempre attiva e cache dedicata per ogni vCPU.

Annunciate in anteprima all’ultimo re:Invent, le istanze C7g sono disponibili in otto versioni, da 1 a 64 vCPU, con fino a 128 GiB di memoria, 30 Gbps di network e 20 Gbps di network EBS. Sébastien Stormacq, principal developer advocate presso AWS, scrive:

I processori Graviton3 offrono prestazioni fino al 25% superiori e un accesso alla memoria più veloce del 50% basato sulla tecnologia DDR5, all’avanguardia rispetto ai processori Graviton2. 

Photo by Jo Coenen – Studio Dries 2.6 on Unsplash 

Secondo il comunicato stampa, le istanze C7g sono progettate per carichi di lavoro come web servers, load balancer, calcolo ad alte prestazioni (HPC), giochi, video transcoding e  modellazione scientifica. Josh Triplett, Rust developer e language team lead, ha testato le istanze di Graviton3 compilando il kernel Linux e scrive:

Queste EC2 offrono un notevole aumento delle prestazioni. Compilazione di un kernel arm64 5.18 su istanze a 64 CPU:
c6g.16xlarge defconfig: 82.246s
c6g.16xlarge allmodconfig: 364.054s
c7g.16xlarge defconfig: 65.442s
c7g.16xlarge allmodconfig: 282.196s
E partono anche più velocemente.

Le nuove istanze sfruttano il sistema AWS Nitro, una combinazione di hardware dedicato e hypervisor Nitro. AWS afferma che “Graviton3 utilizza fino al 60% di energia in meno per le stesse prestazioni di istanze EC2 comparabili”, ma non chiarisce come sia stato eseguito il benchmark e quali fossero le EC2 comparabili. Testando FreeBSD, Colin Percival, fondatore di Tarsnap, scrive:

Per quanto riguarda FreeBSD, Graviton3 è solo una versione più veloce di Graviton2 (…) Graviton3 è un bel miglioramento rispetto a Graviton2: ad eccezione di sha256 — che, a 1,2 GB/s, è già più che sufficientemente veloce — vediamo costantemente miglioramenti di CPU tra il 30% e il 45%.

Ian Smith, engineering manager presso Honeycomb.io, aggiunge:

Abbiamo potuto provare in anteprima le istanze Graviton3, che hanno offerto enormi miglioramenti delle prestazioni per il nostro carico di lavoro anche rispetto a Graviton2 (e incredibilmente meglio delle istanze Intel di quinta e persino di sesta generazione)

Le istanze C7g sono attualmente disponibili solo in due regioni negli Stati Uniti, con altre regioni previste in futuro. I costi partono da $ 0,0363/ora per una c7g.medium, un aumento del 7% rispetto al prezzo della precedente c6g.medium ($ 0,034/ora).

Vuoi leggere altre news su AWS?

Amazon EC2 Supporta NitroTPM e UEFI Secure Boot

Amazon EC2 supporta NitroTPM e UEFI Secure Boot

AWS ha recentemente annunciato la GA di UEFI Secure Boot e NitroTPM, un modulo TPM virtuale per istanze EC2 basato su AWS Nitro. Le nuove funzionalità sono progettate per la convalida del processo di avvio, la protezione delle chiavi e la gestione dei diritti digitali.

Presentato per la prima volta a re:Invent, NitroTPM può essere utilizzato per dimostrare l’integrità del software di avvio dell’istanza, consentendo il supporto dell’attestazione remota.   Sviluppati per fornire funzionalità di sicurezza basate su hardware, i Trusted Platform Module (TPM) possono generare, archiviare in modo sicuro e controllare l’uso di chiavi di crittografia, credenziali e altri dati. Sébastien Stormacq, principal developer advocate at AWS,  spiega:

Puoi utilizzare NitroTPM per archiviare chiavi di crittografia o chiavi SSH, al di fuori della memoria dell’istanza EC2, proteggendole dalle applicazioni in esecuzione sull’istanza. NitroTPM sfrutta le proprietà di isolamento e sicurezza del sistema Nitro per garantire che solo l’istanza possa accedere a questi dati. NitroTPM fornisce le stesse funzioni di un TPM fisico e segue la specifica ISO TPM 2.0.

Lo Unified Extensible Firmware Interface (UEFI) Secure Boot impedisce la modifica non autorizzata del flusso di esecuzione dell’istanza EC2 garantendo che l’istanza esegua solo software firmato con chiavi crittografiche archiviate nel database dall’UEFI.

Oltre a NitroTPM, AWS Nitro offre Nitro Cards, una famiglia di schede che  accelera l’IO in lettura e scrittura, Nitro Security Chip, Nitro Hypervisor e Nitro Enclaves per creare ambienti di calcolo isolati e proteggere ulteriormente dati altamente sensibili.

Photo by Dannie Sorum on Unsplash

Riguardo a NitroTPM, attualmente sono supportati solo i tipi di istanza Intel e AMD che supportano la modalità di avvio UEFI. Le istanze Graviton1, Graviton2, basate su Xen, Mac e bare-metal non sono supportate, una limitazione che ha sollevato alcuni dubbi nella community. 

Stormacq spiega come BitLocker sia un buon caso d’uso per NitroTPM:

BitLocker rileva e usa automaticamente NitroTPM quando disponibile. Non c’è nessuno step aggiuntivo oltre a quelli che fai oggi per installare e configurare BitLocker. Al momento dell’installazione, BitLocker riconosce il modulo TPM e inizia a usarlo automaticamente.

NitroTPM e UEFI Secure Boot sono disponibili in tutte le regioni AWS tranne quelle cinesi. Non ci sono costi aggiuntivi per l’utilizzo delle nuove funzionalità.

Vuoi leggere altre news su AWS?

AWS Introduce le EC2 con Storage Ottimizzato I4i

AWS introduce le EC2 con storage ottimizzato I4i

AWS ha recentemente introdotto le istanza I4i, EC2 progettate per carichi di lavoro che richiedono prestazioni elevate di lettura e scrittura sequenziali per insiemi di dati di grandi dimensioni sullo storage locale.  Le nuove istanze sono pensate per casi d’uso come database relazionali, file system distribuiti, data warehouse.

Photo by Sharad Bhat on Unsplash

Le istanze EC2 I4i hanno processori Intel Xeon Scalable (Ice Lake) di terza generazione e storage locale Nitro SSD, fornendo elevate prestazioni di I/O, bassa latenza e minima variabilità della latenza. Jeff Barr, vicepresidente e chief evangelist di AWS, suggerisce possibili casi d’uso:

Database transazionali come MySQL, Oracle DB e Microsoft SQL Server, nonché database NoSQL: MongoDB, Couchbase, Aerospike, Redis e simili. Sono inoltre istanze ideali per carichi di lavoro che possono trarre vantaggio da prestazioni di calcolo molto elevate per TB di storage, come l’analisi dei dati e i motori di ricerca.

Rispetto alle precedenti I3, le nuove istanze introducono una dimensionle nuove istanze e massima dell’istanza maggiore (i4i.32xlarge), con 1 TB di memoria e 30 TB di storage NVMe locale. Secondo AWS, forniscono una latenza di I/O di archiviazione inferiore fino al 60% e una variabilità di latenza di I/O di archiviazione inferiore fino al 75% rispetto alle istanze I3.

Facendo un confronto con la generazione precedente, Michał Chojnowski, software engineer di ScyllaDB, scrive:

Abbiamo osservato un throughput in lettura per vCPU fino a 2,7 volte superiore sulla nuova I4i rispetto alle istanze I3. Con un mix di letture e scritture, abbiamo osservato un throughput per vCPU 2,2 volte superiore, con una riduzione del 40% della latenza media rispetto alle istanze I3 (…) Bastano tre nodi I4i.16xlarge per supportare ben oltre un milione richieste al secondo – con un carico di lavoro realistico.

L’I4i non è l’unica opzione EC2 ottimizzata per lo storage in scrittura rilasciata da AWS: all’ultimo re:Invent, AWS ha rilasciato le Im4gn/Is4gen. Le istanze I4i supportano solo AMI con  i driver ENA più recenti e NVMe 1.4. Le nuove istanze sono attualmente disponibili solo in alcune regioni negli Stati Uniti e in Europa. E i costi? La nuova classe parte da $ 0,172/ora on-demand per le i4i.large, un aumento del 10% rispetto alle i3.large ($ 0,156/ora).

Vuoi leggere altre news su AWS?

Amazon MSK Serverless è GA

Amazon SageMaker Serverless Inference è GA

Amazon ha recentemente annunciato che SageMaker Serverless Inference è ora GA. La nuova opzione serverless è progettata per flussi di lavoro intermittenti o poco frequenti e gestisce il sizing in funzione delle richieste di inferenza.

In modo simile ad altri servizi serverless su AWS, con SageMaker Serverless gli endpoint di inferenza gestiscono automaticamente le risorse di calcolo in base al traffico, senza aver bisogno di scegliere a priori un tipo di istanza o gestire il sizing. Sagemaker Serverless Inference è in grado di scalare da decine a migliaia di inferenze in pochi secondi ed è anche possibile specificare i requisiti di memoria per l’endpoint. Antje Barth, principal developer advocate presso AWS, spiega i vantaggi della nuova opzione:

in molti incontri con i professionisti del ML, ho recepito la richiesta di un’opzione di inferenza ML completamente gestita che consenta agli sviluppatori  di concentrarsi sullo sviluppo del codice di inferenza senza gestire l’infrastruttura. SageMaker Serverless Inference ora offre questa possibilità.

Photo by Kiyoshi on Unsplash

La preview dell’opzione serverless era stata annunciata a re:Invent 2021 e da allora il AWS ha aggiunto il supporto per Amazon SageMaker Python SDK e Model Registry per integrare gli endpoint di inferenza serverless con i workload MLOps. 

Se l’endpoint non riceve traffico per un po’, riduce le risorse a zero. Se l’endpoint riceve improvvisamente nuove richieste, potresti notare che è necessario del tempo prima che l’endpoint sia in grado di elaborare le richieste. Questo tempo di avviamento dipende molto dalle dimensioni del modello e dal tempo di avvio del container. Per ottimizzare i tempi di cold start, puoi provare a ridurre al minimo le dimensioni del tuo modello, ad esempio applicando tecniche come knowledge distillation, quantization, o model pruning.

Oltre all’ultima aggiunta serverless, Amazon SageMaker ha altre tre opzioni per supportare diversi casi d’uso: SageMaker Real-Time Inference, progettata per carichi di lavoro con latenza nell’ordine dei millisecondi, SageMaker Asynchronous Inference, consigliata per inferenze di grandi dimensioni o che richiedono lunghi tempi di elaborazione e SageMaker Batch Transform per eseguire previsioni su batch di dati.

E’ possibile creare e aggiornare un endpoint di inferenza serverless utilizzando la console SageMaker, la SDK AWS, l’SDK Python SageMaker, l’AWS CLI o AWS CloudFormation. Il prezzo di Sagemaker Serverless Inference dipende dal tempo di calcolo e dalla quantità di dati elaborati.

Vuoi leggere altre news su AWS?

“FURL” per semplificare i deployment serverless? AWS introduce le URL per le funzioni Lambda

Amazon MSK Serverless è GA

AWS ha recentemente annunciato che Amazon MSK Serverless è GA. L’opzione serverless per gestire Apache Kafka su AWS elimina la necessità di monitorare il sizing del cluster e gestisce automaticamente le partizioni.

Amazon MSK Serverless è un cluster per Amazon MSK progettato per il provisioning e la scalabilità automatica delle risorse di calcolo e dello storage. Marcia Villalba, Senior Developer Advisor presso AWS, spiega il vantaggio principale dell’opzione serverless:

MSK Serverless è la soluzione perfetta per iniziare con un nuovo progetto che usa Apache Kafka in cui non conosci a priori quanta capacità ti servirà o se le tue applicazioni producono carichi imprevedibili e non desideri pagare per la capacity inattiva. Inoltre, è ottimo se vuoi evitare il provisioning, il ridimensionamento e la gestione dell’utilizzo delle risorse dei tuoi cluster.

Secondo Amazon, un cluster MSK Serverless supporta qualsiasi tool compatibile con Apache Kafka per elaborare i dati e si integra con Amazon Kinesis Data Analytics per Apache Flink e AWS Lambda. 

Amazon MSK Serverless supporta AWS IAM per l’autenticazione e l’autorizzazione client e, per garantire HA, crea due repliche di una partizione in AZ differenti.

Photo by Will Myers on Unsplash

Introdotto da AWS nel 2018, Amazon MSK è un servizio gestito per applicazioni basate su Apache Kafka per elaborare i dati in streaming. L’opzione serverless per MSK era una funzionalità richiesta dalla community ed era stata presentata in preview all’ultimo re:Invent, insieme alle versioni serverless di Redshift e EMR.  

Amazon MSK non è l’unico servizio serverless per l’elaborazione e l’analisi dati su AWS: Kinesis è un servizio di streaming di dati in cui la quantità di dati che può essere processata è determinata dal numero di shard assegnati a uno stream. Esistono anche altre opzioni per avere una managed version di Kafka su un cloud pubblico: Confluent Cloud è una piattaforma di streaming di eventi distribuita nativa del cloud creata dagli sviluppatori originali di Apache Kafka.
Il prezzo dell’offerta serverless di MSK si basa, tra gli altri fattori, sul throughput. Ogni cluster Amazon MSK Serverless fornisce fino a 200 MBps di throughput in scrittura e 400 MBps di throughput in lettura e alloca fino a 5 MBps di throughput in scrittura e 10 MBps di throughput in lettura per ogni partizione.

Vuoi leggere altre news su AWS?

Infrastruttura come SQL su AWS: IaSQL è ora Open Source e SaaS

Serverless Architecture Con – Berlin 2022

This autumn I will be back at the Serverless Architecture Con, this time in Berlin, to talk about serverless databases. The title of my session? The Future of Relational Databases on the Cloud.

Abstract

The major cloud providers offer different options to run a relational database on the cloud. A recent approach is to rely on so-called serverless databases that offer both traditional TCP connections and HTTP API access. In a short journey to databases on the cloud, we will compare different approaches and services, explore the main benefits and limitations of a serverless RDBMS versus a more traditional managed database.