Thursday starts with one of the most awaited keynote of the conference. The keynote Werner Vogels, CTO of Amazon.com. He started with a video inspired by the famous scene from Matrix when Neo has to choose between the blue pill and red pill. Neo takes the red pill and exit the simulation. Werner also took the pill. But he entered in a simulation and ended up in a world where everything is synchronous. All actions are happening only one at a time. It was quite funny to see fries cooked sequentially 😉
Event driven architectures
Werner spent quite some time in the introduction to explain why synchronous is not efficient. In his opinion the world is asynchronous by nature and the architectures should be asynchronous as well. As a consequence, the developers should think about building event-driven architectures.
Along the speech, Werner invited on stage 2 different AWS customers to speak about their event-driven architecture. First, Angela Timofte, Director, Engineering at Trustpilot who spoke about the migration they did from the original monolith application to the newer architecture. In a second customer highlight, Nathan Thomas, VP of Unreal Engine at Epic Game spoke about the different applications where they use AWS services.
Announces and new launches
Along his presentation, he announced several new services. You may have seen them already on social network. David Hueber and myself, we posted few photos Live from the conference. The new launches were all around the main topic about development and event-driven architectures. For instance, the AWS Application Composer will help you to build this kind of applications using a graphical interface.
In a second part of the keynote, he moved to the need for simulation. Indeed, it’s not always possible to experiment in real life. He came back on a previous new launch announced earlier this week, AWS SimSpace Weaver. He took an example from the Terraformation whose mission is to reforest to capture carbon. Trees need many years to grow, and in that case simulation helps to predict the growth of the forest and select the best species and location to plant them.
The keynote took one big part of my day. Because of travel times between the different locations, I did not follow a lot of breakout sessions. However I think you know me now, I found the time to attend a workshop. This one was about the cost optimization which is a important topic when running in the cloud. Here are the key principles to optimize your costs:
- Implement monitoring on costs and usage
- Decommission unused resources
It may seem obvious but monitoring and alerting is quite important. With AWS Cost Explorer, you can really drill down and spot which service or even instance is impacting your budget. I recommend that you prepare a budget and configure alerts to detect rapidly when the costs are not in the expected range.
The second point also seems obvious but it’s very easy in the cloud to forget about a resource. Using Infrastructure as Code or architecture based on Auto-scaling groups can really help to avoid letting some resources behind.
The third point is about considering the cost alongside with its business value and not only as a number. The resources have a cost but are also providing a service so you should create KPI’s to correlate the infrastructure cost with business value.
For example, using the number of transaction served. In the workshop we spent quite some time in Glue, Athena and Quicksight digging on the Cost and Usage data to build good visualisation. In the example bellow, the logs from the web application are used to extract the number of requests and the amount of bytes. We can derive an efficiency metric, where it’s easy to spot when the cost is not related anymore to the application load, i.e. at the end of the graph, the cost stays stable but there are not requests anymore.
Good news, the workshop we did today was in fact 4 different labs extracted from public labs. You can find them in the AWS Well-Architected labs, section Cost Optimization.