AWS Summit NL 2023

6 min read

03 June, 2023 | Meetups

Last week, I had the opportunity to attend the AWS Summit in Amsterdam. After a 3-year absence, this day was fully packed with thousands of attendees. This was the largest conference that I've attended in my career yet, and the content/quality of the presentations did not disappoint.

Empty breakout hall at AWS Summit NL 2023

SER302 - Build next-gen applications with event-driven architectures - Marcia Villalba & Luc Van Donkersgoed

Marcia Villalba

Marcia started off this talk giving a concise overview of EDA, benefits, and which AWS services you can use to achieve it. I can recommend her blog/videos if you are new to EDA and/or want to learn how to implement common patterns on AWS. She also discussed the tradeoffs between full state events and sparse state events, finding the balance between increased costs of sending large messages and the extra workload for the consumer needing to get more context around small event objects.

I haven't used waitForTaskToken in AWS StepFunctions previously, but it looks very handy for orchestrating with services that don't have a complete integration with StepFunctions, or services that will take longer to finish.

Luc Van Donkersgoed

PostNL develop their logistics software in-house, using EDA. The domain of logistics maps quite well to EDA, especially since it's all about sending and receiving! For their central integrations platform, they have used EventBridge with an event broker on the ingress and egress to validate that the event matches a schema, for authentication and telemetry.

A buffer queue is implemented for all events to be sent to the consumer, with an exponential back off strategy for retrying events from a dead letter queue. This is to avoid Lambda concurrency limits and protect the consumer from being flooded with messages (especially when replaying from the archive). There is also an automatic SES email sent to the consumer/customer when the retry limit is reached, due to a consumer being unavailable.

One of the key takeaways for EDA is that observability is extremely important, as it is not immediately clear how the system is performing and what might cause problems.

KEY101 - Keynote - Marielle Lindgren & Andy Warfield & Mert Öztekin & Jonas Rietbergen

This keynote outlined a number of goals that AWS wants to achieve, especially in sustainability and cloud upskilling. They discussed improvements they've made over the past in terms of data storage with S3, DynamoDB, and Aurora. They also focussed on the more recent improvements for using training data for ML models, as well as the foundational models that you can use for customizable off-the-shelf prediction and generative AI.

I still haven't dived into developing ML solutions yet, only interacting with the surface level apps utilizing it. Now might be a good time to learn the tradeoffs and abilities it brings, so that I can be aware of the new tool for any potential future projects.

Fully packed keynote. Brief history on moving to the cloud

SVS102 - Heavy lifting with AWS: Remote Cardiac Monitoring without skipping a beat - Tim Van Laer

The perspective was surprisingly refreshing in this talk. Tim works as a solo developer amongst a team of product engineers, data scientists and others. Because of this, he alone is responsibly for deciding the infrastructure to: serve the frontend, ingest data from the hardware, and how to route it to prediction algorithms.

The startup nature of the product means Tim focusses on delivering business value while avoiding overly-complex systems where a simple solution would suffice. He outlines issues that he has faced using various AWS services (Lambda cold start latency, CloudFormation SAM rigidity), and where he wants to improve the architecture to scale up when needed in the future.

ARC203 - What a modern mailman should know to deliver a message - Rob Van Pamel

Rob introduced this presentation with a suggestion that EDA can help design around the fallacies of distributed systems. Personally, I think a lot of these fallacies still apply and should be taken into account when architecting with events, just that the nature of the transport and the network is different in the cloud from traditional networks in 1997.

After this, he listed a number of microservice frameworks and technologies that can help achieve properties like idempotent and "exactly once" processing of events, or separating business logic from 'outbox' services.

Serverlesspresso booth showing EDA for a coffee ordering process.

MGR201 - The Migration & Modernization Journey at Rabobank: A Collaborative Approach - Ruurd Dam & Geert Jan & Nick Crouse

Rabobank collaborated closely with AWS and external developers to migrate their services, a portion at a time. They avoided lift and shift migration, as this doesn't take full advantage of modernization in the cloud. The IT Lead - Nick Crouse spent a lot of effort in upskilling developers for the cloud and boosting processes for software delivery through things like CICD, IaC and automated testing.

They place a lot of importance on collaborating with the right people to get relevant expertise, especially when moving into an area that your company is yet to explore, like the cloud. On top of this, they emphasize striving for momentum rather than perfection.

STP207 - Building a multi-tenant and open-source SaaS vector database - Byron Voorbach & Alessio Nobile

While the focus of this talk was the strategy used for multi-tenancy provisioning of SaaS, they also gave an overview of vector databases to help describe the company and services. After this, they outlined the different uses of Silo vs Pool tenancy for each customer. These strategies can describe the separation on a cluster level, namespace level (Kubernetes) or even AWS account level. These are all used for different customer needs (data privacy/security, increased workload) as well as the needs of the SaaS (avoiding limits on AWS accounts or allowing automation and self-registration).

You must strike a balance with tenancy separation, and like with EDA observability is important. Tenancy strategy should be adaptable as your SaaS business changes. Sales-led growth vs product-led growth can impact this.

DOP205 - CDK: Are we on the road to infrastructure Nirvana?! - Nico Krijnen

It is always a pleasure to listen to Nico talking about software principles like SOLID, XP and Agile, you can tell he has a passion for clean code and development culture. In this presentation, he proposes that we must apply these techniques to IaC, and that this is much more achievable through CDK.

He also proposes a future where we can utilize abstractions through CDK constructs, which we can use to simplify infrastructure creation to focus on providing value rather than spending time on the details of the underlying services.

A new acronym that he mentioned is CUPID, a set of properties for joyful coding, by Daniel Terhorst-North. Rather than principles which you must follow, these properties are guidelines to help write code that is a joy to work with. We aren't quite there with CDK yet. As the format is relatively new, we'll need new tools and techniques to have truly domain-based stacks and constructs, for example.