InfoQ – July 2022

From AMD R6a insances to Rocky Linux on Google Cloud, from Amazon Redshift Serverless to API backend options for Azure Static Web Apps: a recap of my articles for InfoQ in July.

AWS Announces AMD Based R6a Instances for Memory-Intensive Workloads

AWS recently announced the general availability of the R6a instances, EC2 designed for memory-intensive workloads like SQL and NoSQL databases.. The new instances are built on the AWS Nitro System and are powered by AMD Milan processors.

Google Cloud Introduces Optimized Rocky Linux Images for Customers Moving off CentOS

Google recently announced the general availability of Rocky Linux optimized for Google Cloud. The new images are customized variants of Rocky Linux, the open-source enterprise distribution compatible with Red Hat Enterprise.

Amazon Redshift Serverless Generally Available to Automatically Scale Data Warehouse

Amazon recently announced the general availability of Redshift Serverless, an elastic option to scale data warehouse capacity. The new service allows data analysts, developers and data scientists to run and scale analytics without provisioning and managing data warehouse clusters.

Amazon Announces General Availability of EC2 M1 Mac Instances to Build and Test on macOS

AWS recently announced the general availability of the EC2 M1 Mac instances based on the Apple ARM-based processor and designed for CI/CD of Apple-based applications. The M1 Mac option is faster and cheaper than the existing x86-based Mac version but still requires a minimum 24 hours commitment.

Azure Static Web Apps Introduces API Backend Options

Azure recently announced the preview of new API backend options in Azure Static Web Apps. Developers can now create an end-to-end authenticated application calling APIs hosted on Azure App Service, Azure Container Apps, or Azure API Management.

Amazon Aurora Supports PostgreSQL 14

Amazon recently announced that Aurora PostgreSQL supports PostgreSQL major version 14. The new release adds performance improvements and new capabilities, including support for SCRAM password encryption.

PostgreSQL Interface for Cloud Spanner Now Generally Available

Google Cloud recently announced the general availability of the PostgreSQL interface for Cloud Spanner. The new interface increases the portability of workloads to and from Spanner and provides a globally distributed option to developers already familiar with PostgreSQL.

TLS 1.2 Becoming the Minimum TLS Protocol Level on AWS

AWS recently announced that TLS 1.2 is going to become the minimum protocol level for API endpoints. The cloud provider will remove backward compatibility and support for versions 1.0 and 1.1 on all APIs and regions by June 2023.

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

Amazon Redshift Serverless è GA

Amazon ha recentemente annunciato la GA di Redshift Serverless, un’opzione elastica per scalare data warehouse. Il nuovo servizio consente a sviluppatori e data analyists di svolgere analisi senza preoccuparsi del provisioning e della gestione dei cluster di data warehouse.

Annunciato in preview all’ultimo re:Invent, Redshift Serverless è progettato per carichi di lavoro variabili, picchi non previsti e ambienti di sviluppo. La capacità del cluster viene scalata verticalmente e automaticamente in base al carico di lavoro e si spegne durante i periodi di inattività.  Danilo Poccia, chief evangelist EMEA presso AWS, spiega i principali vantaggi:

Questo consente a più aziende di costruire una strategia di dati, soprattutto per casi d’uso in cui i carichi di lavoro di analisi non in esecuzione 24 ore su 24, 7 giorni su 7 e quando il data warehouse non è sempre attivo. È anche indicato per aziende in cui l’utilizzo dei dati si allarga all’interno dell’organizzazione e gli utenti nei nuovi reparti desiderano eseguire analisi senza dover gestire l’infrastruttura del data warehouse.

Gli sviluppatori possono connettersi a un endpoint Redshift utilizzando una connessione JDBC/ODBC o Redshift Query Editor v2. È inoltre possibile accedere al database ed eseguire query utilizzando le Redshift Data API, integrandosi con le funzioni Lambda e SageMaker. Prima di Redshift Serverless, gli sviluppatori utilizzavano tool open source per mettere in pausa e riavviare i cluster Redshift utilizzando AWS Lambda, CloudWatch e Step Functions. 

L’opzione serverless non è l’unica feature annunciata per Redshift. Il provider cloud ha recentemente introdotto Row-Level Security, la possibilità di limitare l’accesso a un sottoinsieme di righe all’interno di una tabella in base al ruolo e alle autorizzazioni dello user. Offrendo le stesse prestazioni delle viste materializzate create dall’utente, le nuove Automated Materialized View sono ora GA e aiutano a ridurre la latenza delle query per carichi di lavoro ripetibili.  Rispondendo a un tweet sui costi dell’opzione serverless, Poccia scrive:

Redshift misura la capacità del data warehouse in RPU. Paghi per i carichi di lavoro eseguiti con un addebito minimo di 60 secondi. È possibile specificare la capacità di base tra 32 e 512 RPU. Puoi anche configurare limiti di utilizzo giornalieri, settimanali o mensili in ore RPU per tenere i tuoi costi sotto controllo.

Redshift Serverless è attualmente disponibile solo in alcuni regioni AWS, tra cui Virginia del Nord, Francoforte e Irlanda. AWS ha ridotto il prezzo RPU del 25% rispetto al periodo di preview, con costi a partire da 0,375 USD per RPU-ora in us-east-1.

Vuoi leggere altre news su AWS?

Amazon annuncia le istanze EC2 Mac M1 per sviluppare e testare applicazioni su macOS

Amazon annuncia le istanze EC2 Mac M1 per sviluppare e testare applicazioni su macOS

AWS ha recentemente annunciato la disponibilità delle istanze Mac M1 basate sul processore ARM Apple e progettate per CI/CD di applicazioni su piattaforma macOS. L’opzione M1 Mac è più veloce ed economica della versione Mac esistente su x86, ma richiede comunque un pagamento minimo di 24 ore.

Le istante Mac M1 sono mini computer Mac dedicati collegati al sistema AWS Nitro tramite l’interfaccia Thunderbolt. Il Mac mini si comporta come un’istanza EC2 tradizionale e può essere utilizzato per creare o testare app per iPhone, iPad, Mac, Apple Watch, Apple TV e Safari.

Sébastien Stormacq, principal developer advocate at AWS, spiega:

La disponibilità delle istanze Mac EC2 M1 ti consente di accedere a macchine basate sul System on Chip (SoC) M1 progettato da Apple. Se sei uno sviluppatore Mac e stai progettando le tue app per supportare in modo nativo i nuovi Mac, ora puoi creare e testare le tue app e sfruttare tutti i vantaggi di AWS. Gli sviluppatori che creano applicazioni per iPhone, iPad, Apple Watch e Apple TV beneficeranno di build più veloci. Le istanze Mac EC2 M1 offrono prestazioni  a parità di costo fino al 60% migliori rispetto alle istanze Mac EC2 basate su processori x86.

Le AWS CLI, Systems Manager e CloudWatch sono applicazioni preinstallate sulle istanze Mac M1. In un thread su Twitter, alcuni sviluppatori hanno espresso preoccupazione per il commitment minimo di 24 ore, un requisito Apple per la licenza macOS, e per l’impossibilità di eseguire aggiornamenti del sistema operativo sulle istanze. Corey Quinn sottolinea invece come la conformità sia uno uno dei principali vantaggi dell’utilizzo di un’istanza Mac. 

Le nuove istanze si integrano con altri servizi AWS, come EFS, Auto Scaling e Secrets Manager. Le M1 Mac costano un minimo di 15,6 USD al giorno e sono attualmente disponibili solo nelle regioni Northern Virginia, Oregon, Dublin e Singapore. Il prezzo dell’istanza Mac M1 è significativamente inferiore rispetto a quello Intel Mac che parte invece da 26 USD/giorno. 

Vuoi leggere altre news su AWS?

TLS 1.2 diventa il minimo protocollo TLS su AWS

Renato @ AWS FM podcast

Renato joins Adam to discuss the differences between Aurora Serverless v1 and v2, how he’s used AWS certifications to learn topics he might not dive into otherwise, and the benefits of speaking at conferences when you’re introverted.

Flagging Flags: Nine Numbers with Amazon Rekognition

I recently published an article where I played with Amazon Rekognition and flags from around the world. Few friends and developers asked for more numbers, either out of curiosity or because they had some suggestions or doubts.

Is the “Stars and Stripes” the flag with the highest confidence for the label “American Flag”? Are all the flags labelled as “Flag”? Does the quality of the PNG file affect the label detection? 

Before training a model to better recognize flags with Rekognition Custom Labels, I decided to publish more results and the full dataset. Here are nine numbers and trends for the 255 flags available in the repository. Once more I rely on the images from the open source region-flags, a collection of flags for geographic region and subregion codes maintained by Google. 

128 Flags

The outcome is a coin toss: almost a perfect 50% (128 out of 255) of the flags is labelled “Flag”. Only 98 of them with a confidence above 90%, 73 above 98% and 56 above 99%. OK, a flag is not always a flag. In doubt, toss a coin, a cheaper algorithm than an API request.

Flag is a Flag

98 American Flag

As we already noticed, many flags, including the Cuban and Malaysian ones, are labelled as “American Flag”. How many PNG files are decoded as “American Flag”? There are 98 of them, with 27 above 90% and one above 98%. A high confidence level alone is not always a safety net.

Flag US

Only one Stars and Stripes

The flag with the highest confidence for “American Flag” is the one of the United States Peru. No kidding, a very high 98.3 %. The real “Stars and Stripes” is actually not in the top ten for “American Flag”

Flag Peru

No Syrup, two Maples

Two labels, “Maple” and “Maple Leaf” matched the Canadian flag. And only the Canadian one. Perfect match. Well done Rekognition!

Flag Canada

Eleven Outdoor Flags

What do Slovenia, Laos and Kosovo have in common? Their flags are all labelled “Outdoor”, Laos with a staggering 99.47% confidence level. Whether you are looking for rock climbing in Nong Khiaw or kayaking through Si Phan Don, the flag of Laos is apparently the country’s best marketing tool.

Flag Laos

One Lollipop

There is only one lollipop detected. And we cannot even share it. The flag of Dominica, which features a sisserou parrot, the national bird emblem, got the only (incorrect) candy.

Flag Dominica

61 Stars

Almost a quarter of the flags have the “Star Symbol”, 25 with a confidence above 90% and the European Union leading at 97%. Brexit or not, the twelve golden stars on a blue background are an easy catch for Rekognition.

Flag EU

239 Symbols

Almost every flag has “Symbol” as a label (94%), with 75 of them at 99% confidence level. India, Georgia and Peru are all above 99.99%. Whatever Symbol means.

Flag India

19 Animals

From Kiribati to Mexico, from American Samoa to Uganda, Rekognition does a good job finding animals inside flags: of the 19 decoded, only 3 are false positives. While the parent label (Rekognition uses a hierarchical taxonomy of ancestor labels) is good, the species itself is often wrong: a “Penguin” for Uganda, a “Chicken” for Mexico. Whoops.

Flag Uganda

Size of PNG is not significant

There is not any significant discrepancy testing the flags at 1000px or 250px, with confidence level slightly higher or lower, but without a significant pattern. This is somehow expected as the models are likely trained with images scaled down to a fixed size to reduce the computational load.

Testing All Flags

How can you quickly test all the flags? Amazon Rekognition, the AWS CLI and a while loop is the answer. You upload the dataset to a S3 bucket, and you run a simple command in the AWS CLI:

aws s3api list-objects --bucket <my-bucket> \
    --query 'Contents[].{Key: Key}' | jq .[].Key > list-countries.csv
cat list-countries.csv | while read flag
do
   aws rekognition detect-labels --image "{\"S3Object\":{\"Bucket\":\"<my bucket>\",\"Name\":"$flag\"}}"  >  $flag.json
done

Not elegant, but it just works. Every output file is a JSON, one file for every flag. Here is an example output (Italy) and here is a zip with the output for all the countries.

Conclusions

Maybe there is not one single Stars and Stripes but we have only one Lollipop. 

The decoding of flags on Amazon Rekognition is quite unreliable but, with a few exceptions, the decoding of objects and animals inside the flags is accurate. 

Please don’t take the numbers too seriously. As already acknowledged by AWS Support, Rekognition is currently not trained to identify flags. These numbers are just a warning and a reminder that results from image recognition have to be validated and used carefully

How can we improve our results and have some confidence in the flag detection process?  We will soon play with Rekognition Custom Labels and discuss the results in a separate article. 

Thanks for making it this far! I am always looking for feedback to make it better, so please feel free to reach out to me via LinkedIn or email.

Credits

All the screenshots are from the author and PNG files are from the region-flags repository.

Il software per moduli hardware AWS IoT ExpressLink è GA

Amazon ha recentemente annunciato la GA di AWS IoT ExpressLink. Il software di connettività supporta moduli hardware wireless per creare soluzioni IoT connesse ai servizi AWS.

Annunciato in anteprima a re:Invent, AWS IoT ExpressLink è un servizio introdotto per creare dispositivi IoT sicuri, rimuovendo la complessità dell’implementazione della connettività cloud, un processo che di solito richiede più step come la connessione hardware, la gestione della comunicazione TCP/IP e l’utilizzo di un broker MQTT.

Espressif, Infineon Technologies e u-blox sono i primi partner AWS che hanno sviluppato moduli wireless. Channy Yun, principal developer advocate presso AWS, utilizza una pompa di una piscina come esempio per spiegare i vantaggi del nuovo servizio:

Alcuni dispositivi sono troppo limitati nelle risorse per supportare la connettività cloud, il che significa che i loro processori sono troppo piccoli o lenti per gestire il codice aggiuntivo. Ad esempio, una piccola pompa per piscina può contenere un minuscolo processore ottimizzato per controllare un particolare tipo di motore ma non dispone della memoria o delle prestazioni necessarie per gestire sia il motore che una connessione cloud. (…) Grazie al nuovo servizio, puoi utilizzare il minuscolo processore nella pompa e delegare il lavoro pesante della connessione al cloud a IoT ExpressLink.

Fonte: https://aws.amazon.com/blogs/aws/aws-iot-expresslink-now-generally-available-quickly-develop-devices-that-connect-securely-to-aws-cloud/

Secondo AWS, il servizio è compatibile con dispositivi di ogni dimensione e vincolo di risorse, consentendo di non modificare i processori esistenti. IoT ExpressLink si integra con altri servizi AWS IoT, come AWS IoT Jobs e IoT over-the-air (OTA), per schedulare ed eseguire aggiornamenti, e AWS IoT Device Management

Un repository con esempi di IoT ExpressLink è disponibile su GitHub. E’ possibile ordinare evaluation kit e inviare dati di telemetria al cloud tramite l’interfaccia seriale. Il prezzo di un modulo con IoT ExpressLink dipende dalle caratteristiche e dal produttore dell’hardware, a partire da circa 26 USD. AWS non addebita costi aggiuntivi per l’utilizzo del servizio.

Vuoi leggere altre news su AWS?

Cockroach Labs 2022 Cloud Report: AMD meglio di Intel?

Cockroach Labs 2022 Cloud Report: AMD meglio di Intel?

Cockroach Labs ha recentemente pubblicato il rapporto annuale sul cloud che valuta le prestazioni di AWS, Microsoft Azure e Google Cloud per carichi di lavoro OLTP. Diversamente dal 2021, il report quest’anno non indica un cloud provider migliore, ma osserva come le istanze AMD più recenti offrono prestazioni migliori di quelle Intel. Le istanze ARM non sono invece state testate. 

Secondo il rapporto, tutti e tre i principali fornitori di servizi cloud offrono opzioni simili a prezzi competitivi. Eseguendo oltre 3000 test su 56 diversi tipi di istanze e con 107 configurazioni differenti, la migliore qualità-prezzo è risultata dalle istanze AMD con processori Milan. L’esclusione dai test delle istanze ARM e di altre istanze recenti lascia dubbi per i casi d’uso in cui, ad esempio, le istanze AWS Graviton potrebbero risultare migliori.  Keith McClellan, director of partner solutions engineering at Cockroach Labs e autore del report, riconosce il problema:

ARM tornerà nel Cloud Report 2023 – sfortunatamente non avevamo ancora i binari ARM di CockroachDB per il report di quest’anno. 

Non tutte le analisi concordano sui vantaggi delle istanze AMD. Il benchmark “Economical Comparison of AWS CPUs for MySQL (ARM vs Intel vs AMD)” di Percona, conclude che Graviton è più economico nella maggior parte dei casi e di solito Intel ha prestazioni migliori di AMD, almeno su AWS.

Secondo Cockroach Labs, le istanze più piccole offrono in proporzione risultati migliori di quelle più grandi: per i test OLTP e CPU, il report mostra un vantaggio in termini di prestazioni per vCPU su istanze più piccole, indipendentemente dalla piattaforma CPU, dal cloud o dal tipo di istanza.

Processori e benchmark CPU non erano l’unico obiettivo degli autori. Il rapporto sottolinea l’importanza dei costi di storage e trasferimento dati che hanno un impatto significativo sul costo totale del deployment:

Anche per quantità relativamente piccole di storage, il costo totale di un carico di lavoro è molto più influenzato dal costo dello storage rispetto al costo dell’istanza.

Tranne rare eccezioni, il benchmark evidenzia che non valga la pena scegliere e pagare storage ad alte prestazioni, come ad esempio Provisioned IOPS. Per lo stesso processore, i fornitori di servizi cloud offrono classi di istanza diverse, con un rapporto vCPU/RAM diverso. Nel report, gli autori scrivono: 

I nostri test suggeriscono che, sebbene sia possibile risparmiare scegliendo istanze con un rapporto vCPU/RAM più basso, è probabile che si osservino prestazioni migliori con istanze con più memoria disponibile. (…) Nei nostri test, abbiamo riscontrato che il rapporto ideale di vCPU:RAM è pari a 1:4.

Rispetto all’edizione precedente, il report 2022 ha aggiunto test per tipi di istanze di dimensioni diverse, test di latenza tra regioni e test di salvataggio dati con fsync.

L’accesso al report completo è gratuito ma richiede la registrazione.

Vuoi leggere altre news su AWS?

AWS DataSync supporta il trasferimento dati tra AWS, Google Cloud e Azure