pre:Invent 2023 Announcement Highlights

pre:Invent 2023 Announcement Highlights

I've rounded up some highlights of announcements made on the lead-up to AWS re:Invent 2023 that you may have missed.

Published Nov 30, 2023
Last Modified Jan 25, 2024
Here are some of the highlights of announcements made just before AWS re:Invent 2023 kicked off!
Previously, on the road to re:Invent 2023…

CodeWhisperer is breaking free from IDEs and now also supports CLIs through the CodeWhisperer Desktop app which for now is only available for macs. It comes with two features: autocompletion and natural language prompts.

Once you install the new CodeWhisperer app, you get to have autocomplete for CLI commands in your terminal! And not just AWS CLI mind you, hundreds of them like python, git, npm, Docker and MongoDB Atlas, and more! Pretty cool stuff.

This one is really interesting and very much within the gen ai trend: you can type cw ai in your terminal and it’ll bring up an interface where you can type a prompt in English and CodeWhisperer will translate it into a CLI command.
It’s definitely very interesting if not intriguing to see what kinds of things it generates and how much it can be relied upon when working fast. Though the general advice still remains like for anything else auto-generated by gen ai: always double check the output and give it that human stamp of approval before executing anything in a production environment.
If you’re interested in learning more about these new CodeWhisperer capabilities in detail then you can read more here on my other post where I show you how to install and use those features: https://bit.ly/codewhisperer-cli-tutorial

This exciting because this is something that a lot of Step Functions developers have been asking for a long time. You can now redrive your Step Function workflows resuming from any failed nodes instead of having to rerun the whole thing again from the start.
It only works with Standard Workflows for now, and this is a fantastic win from many different angles specially, of course, for cost savings since you are charged based on the number of state transitions when using Standard Workflows.
All you need to do is access the Step Functions console, find the workflow which has failed and choose the option to “Redrive from failure”. You can also redrive workflows programatically by using the new States.RedriveExecution API. The event sent to Amazon EventBridge for when a Step Function workflow failed also now includes new parameters which track the number of redrives already executed, the last redrive date, among other things.
Pretty simple, pretty powerful.

This is a really fun one. Party Rock is effectively a no-code playground to try out Amazon Bedrock making gen ai accessible for all.
It’s effectively an app used to build other apps with the purpose of challenging yourself to actually build something useful or just use it for learning. It’s free for now though the official blurb cautions that this may not be so forever as it states “For a limited time, AWS offers new PartyRock users a free trial without the need to provide a credit card.”
It’s exciting to think of what you could create, the only question will be whether it’s able to transcend from something fun and educational into potentially something really powerful that we can use to build real applications. I can’t wait to have some sit-down quality time with it to put this to the test.

For those using the FIFO pattern with SNS, there’s been three very cool upgrades to the service. Here they are:

Up until now, SNS would discard any events after they happened so if we wanted to add durability to those events we had to create a solution ourselves. Now, you can ask SNS to store those messages for you simply by setting an archive policy for the Topic and configuring the retention period for the messages. It’s so simple that makes you wonder what took so long, but so glad that to see this is finally available!

As an extension of the new archiving feature, you can also now allow subscribers of the SNS FIFO topic to replay events!
Subscribers can trigger a replay for archived messages by setting a replay policy which can include filters to narrow down to specific messages only.

You have more options now to filter messages on the Topic level which can help you simplify filtering logic for subscribers while also giving you more tools to help you improve your message-driven architecture and flow.
These are the three new capabilities:
Suffix matching: ability to match based on ending characters.
Case insensitive: ability to ignore case
“OR matching”: ability to apply an OR logic to multiple message properties matching them to the same filter if any of them are true.

There has been three significant improvements released for those who use Lambda a lot.

you can now configure your logs to be ingested as JSON, as opposed to plain text, without having to do anything. This will give you the indispensable abilities, if you ask me, to search and filter based on JSON properties making life a whole lot easier.

You can now also simply configure your Lambda to only create logs for given levels such as DEBUG, INFO, etc without having to change your code allowing to change the granularity of your logs at any time very easily.

Up until now, Lambda would automatically create a new CloudWatch log group for your function on creation. Now, you can take control and choose a specific log group that you want your function to send logs to.
This is so simple yet so incredibly powerful because not only you can finally centralize related function logs into one place easily which diminishes multiplicity of resources and overhead, but also, more importantly, you can now centralize your log security policies and manage governance and compliance for all logs generated for an app instead of having to remember to apply those to every individual Lambda used.

CloudFront now has a parameter in the ChangeSet API called ImportExistingResources which allows you to tell it to automatically import any existing resources from your AWS account when creating or updating stacks. It will match the existing resources based on the declared custom names making things very easy!

CloudFront has got two updates which are very simple in fact, but both are really powerful and pack a punch in terms of opening up new possibilities.

CloudFront gets its own key value database! You can use CloudFront KeyValue store to separate your code from your data when using CloudFront Functions and build more dynamic logic.
CloudFront KeyValue Store is available on all CloudFront edge locations giving you really low latency access to your data from anywhere enabling you to get more creative now with your solutions and do lookups to implement feature flags, A/B testing, or simply storing environment variables that you can change independently at any time without the need for code changes or redeployments.

A new runtime which, besides having support for the new CloudFront KeyValue Store as described above, adds many new ES6 capabilities with the most exciting one, in my opinion, being the ability to execute asynchronous code by supporting async and await operations! Exciting stuff.