Day 3
Keynote with Dr. Swami Sivasubramanian
After the heavy focus on Generative AI in Adam Selipsky’s keynote the morning before, I was kind of feeling a bit sorry for the Vice President of Data and AI. Dr Swami began by talking about the human/AI relationship being a mutually beneficial symbiosis. Still not quite sure how I feel about that analogy. He then went on to talk about Ada Lovelace, and credited her with predicting the emergence of generative AI.
Eventually he did manage to find some left-over AI announcements to keep the crowds happy. New Foundation models, claude 2.1 from anthropic, and Lama 2 70B added to Bedrock. Next he announced Amazon Titan image generator. This enters a fairly crowded market place with a significant number of competitors. In line with their focus on responsible AI, Amazon Titan images will by default come with an invisible watermark to ensure images generated are tracked appropriately. He also announced the GA of the Titan text models, Text Lite and Text Express. A key focus was on being able to privately augment models with your own data so that you can get business context without exposing your intelectual property. This is achieved with a new service called Knowledge Bases for Amazon Bedrock.
One thing that really jumped out to me was the focus on “model optionality”. It’s seems to me as though AWS are in the unusual and uncomfortable position of playing catch-up. No one would mention Open AI or co-pilot directly, but it was clear that a lot of their rhetoric was designed to combat the dominance that Microsoft already has in this space.
The announcements kept coming with Amazon Sagemaker HyperPod for easy and fast training of Large Language Models (LLMs). This was followed by a number of SageMaker innovations in inference, training and MLOps. Next was a slew of Vector engine announcements:
- Vector engine for Open Search Serverless
- Vector search capabilities for DocumentDB
- Vector search capabilities for DynamoDB
- Vector search capabilities for MemoryDB for Redis
Moving away from AI for a moment, he announced Neptune Analytics, and analytics engine for their managed graph database. Then expanding on their Zero-ETL offerings, we now have zero-ETL integration with S3 for Open Search.
Back to ML, AWS Clean Rooms tries to solve the challenging problem of out-sourcing your model creation to experts while keeping your sensitive data private. Dr Swami finally got to mention Q, but only in as much as it will be integrated into Amazon Redshift to help developers write SQL statements.
He also talked a little about Party Rock, which got me inspired to go create my first Party Rock application. As you can see, I had mixed results.
This keynote is now available on Youtube
Demtsifying idempotency with Powertools for AWS Lambda
This chalk talk session can be summarised fairly simply:
- Idempotency is important in serverless applications
- Powertools for AWS Lambda implements high-level abstractions in various languages that allow you to easily and safely guarantee idempotency around a section of your code.
- here’s how to do it in python.
from aws_lambda_powertools.utilities.idempotency import (
DynamoDBPersistenceLayer,
idempotent,
...
persistence_layer = DynamoDBPersistenceLayer(table_name="IdempotencyTable")
...
@idempotent(persistence_store=persistence_layer)
def lambda_handler(...)
...
)
To ensure they consumed an entire hour, the presenters first started to try and implement idempotency themsleves inside the lambda coding it a piece at a time. While it was very effective in demonstrating that this is a complex problem, they could have simply had all the code they wrote already to go, and still explain that even their solution was missing a significant amount. I would have preferred to see the extra time used for potentially seeing examples in other languages supported by the AWS Lambda Powertools, or perhaps looking at some of the other features of the Powertools suite.
Building for the future with AWS Serverless Services
This session was primarily a fairly standard pitch for using serverless to build applications. There was an interesting fireside chat with Grant Lammi from the Nationwide Children’s hospital that dived into some of the challenges they’ve successfully solved by using AWS Serverless architectures. Then a few announcements:
- New integration with App Composer and Step Functions
- Lambda can now scale up to 1000 concurrent executions in 10 seconds
Deep Dive into Amazon Aurora and its innovations
This session started out covering some of the fairly well known architecture of Amazon Aurora. Such things as:
- It’s a purpose built cloud native database for MySQL and PostGreSQL
- Aurora stores its data across 3 different AZs
- It writes to 6 different locations (2 in each AZ), and requires a quorum of 4 writes before it ackknowledges the write.
- Repair and correction done automatically
- Read replicas are attached to the shared storage
- Can have up to 15 Read replicas, and each can be different instance types (Graviton, Intel, serverless)
- Storage grows and shrinks as required, and you only pay for what you use
- Can fail over to a Read Replica
Then the session moved on to some of the more recent features that have been added. For instance, standard fail over to a read replica may take up to 30 seconds, but a new JDBC driver can decrease this by up to 66%.
Aurora Global databases spin up another aurora volume in a different region as well as automatically provisioning repliction servers an agents. It is possible to provision up to 5 regions for a global database. It is also possible to fail over to another region, but this can take up to 2 minutes.
A feature called Global write forwarding, allow you to use a readonly global endpoint to also service writes, by forwarding them on to the appropriate write cluster. MySQL also support local write forwarding.
Fast clones work by copying pointers to the underlying storage, and then using a copy on write algorithm when updates occur to either the clone or source.
Blue/Green deployments can be used to perform database version upgrades, or schema changes.
A new storage type has been created called Aurora I/O optimized specifically for Write heavy workloads which can yield up to 50% performance improvement.
Optimized Reads is available for specific instance sizes that uses NVMe storage to optimize for Temporary Objects, and create a Tiered Cache. This means you may be able to choose a smaller instance size to support the same workload, thereby saving costs.
Of Course Aurora Limitless Database was touched on briefly. This automatically handles the re-sharding and provisioning of database instances, as well as mainaining consistency across transacions using a very precise synchronized clock.
This session is now available here on Youtube
A deep dive into Aurora Limitless Database can be found here