AWS re:Invent 2023 is coming to a close. This year, Dr. Werner Vogels’ keynote did not disappoint as always. You’ll find out why in a moment. But before we get started, hold on a second. If you’re expecting some exciting new announcements, this is not the keynote for you.
Now, after the traditional “matrix” introduction and general topics, Werner goes deep into the topic of cost management! I highly recommend this keynote to any old school IT professional with software development or data center management experience. You’ll have a great time!
Okay, let’s take a closer look.
At this point, I didn’t know that the entire presentation would revolve around cost management in the cloud, but I was intrigued by a book he kept mentioning called “The Frugal Architect.” It’s a book about designing applications that use resources efficiently to save on compute power, memory, and ultimately operating costs. A quick search on Amazon showed that no such book exists. More on that later.
As it became clear that his entire presentation would revolve around this topic, everything started to fall into place. He started to emphasize specific points, and then expanded on them. Here’s a taste.
Tailor your costs to your business
I really liked this point. In the AWS world, you can get very excited about things like high availability, auto scaling, and serverless.
But if your company’s revenue depends on low-cost computing, it makes sense not to deploy horribly expensive 4xlarge EC2 instances when you can do the same work with a smaller group of Spot Instances.
It may not be obvious at first, but as your business grows, you don’t want to have any surprises when it comes to expenses that directly impact your company’s bottom line.
I’ve already done this because I work in software development. When you think about cost, and by ‘cost’ I mean everything from CPU cycles to storage to number of servers.
I agree with Werner that Amazon Web Services is an amazing service for all your computing needs, just be careful not to go with the defaults or waste resources that will result in a very high monthly bill.
Observability
One of the things he highlighted was that untracked and unmetered applications incur hidden or unexpected costs, which was a nice jumping off point for introducing CloudWatch Application Signals, a new feature that tracks application-level costs and usage.
language
At one point he was very specific about programming languages and their overall footprint and impact on code speed. Faster and more efficient languages lead to better code that gets the job done faster. He even said that we should code in Rust because of its efficiency and speed. I can disagree with that.
Of course, Python, Java, and .NET languages are quite heavy because of their basic support platforms. Therefore, they are meaningless for short-term transaction programs. However, he did not consider development costs, long-term maintenance, and release time. Finding Python and Java developers is very easy. Because they are popular languages all over the world. Finding Rust developers? I don’t know about that.
Of course, let’s return our focus back to his point: operating costs.
A Rust, C or C++ program that can run in 100 milliseconds will always outperform the same program written in Python, Java or C# due to the extremely long load times of the environment itself. So in terms of cost savings and sustainability, he is 100% right.
He also tried to say that we shouldn’t be afraid of new programming languages or technologies to do things in a much more efficient and sustainable way, by saying “But we’ve always done it this way…” I agree with this, but not every company can afford to turn a Senior Python developer into a Junior Rust developer and expect the same level of output from them, so your mileage may vary!
AI generation
When we got to this part of the conversation, I thought, “Wow, this is where it’s going!” and expected the conversation to go off on a tangent to language models, image generation, Amazon Q, etc. But no! It was the exact opposite of what I thought.
Instead, he showed examples of using existing AI (machine learning, SageMaker, vision) to solve real-world problems, such as interpreting radiological scan results, accurately identifying rice grains for germination, and analyzing image data to help find and help child abuse victims.
Speaking of the software that examines those X-ray images, Dr. Vogels had a background in the health care industry before moving into technology, so he wrote the initial code himself in Python before being commissioned. That code is now open source and much more feature-rich.
Even in this part of the conversation, he kept to a traditional stance instead of jumping on the Generative AI bandwagon. I love that!
But I won’t lie, I’m a huge proponent of using cloud development kits, and he mentioned that there are new components specific to GenAI that will allow us to quickly deploy solutions to our custom needs.
AI predicts, humans decide
He also stressed that “AI can make predictions, but ultimately it is humans who make the decisions,” and that while machines won’t take our jobs, replace our doctors or grow food for us, they can help us keep up with our ever-growing population.
In his closing argument, he recommended reading a short e-book, “The Frugal Architect,” to help you remember the main points of the conversation.
In short: It was great! It was definitely aimed at the veterans from the beginning. In fact, the first moment he looked at the screen and asked, “Is this a PERL script?” and I couldn’t help but laugh out loud at that.
Even after the deadline, it was still a funny line: “Hey Warner, can you scan your container builds for vulnerabilities in your CI/CD pipeline?” “You can scan them now!” – a great way to sneak in another new feature, and since I’m a DevOps guy, I’ll take a look right away.
Now, try to create something!
Useful resources for this presentation
He ended up throwing away this e-book he wrote, which summarizes the same points he made in his presentation. This information is great regardless of whether you are in the cloud or not. So check it out even if you are not in the cloud yet.
By the way, this article is really short, so I highly recommend you take a moment to read it right now!
CDK
Here’s a new set of components I mentioned. If you need to deploy a custom generative AI solution in a hurry, be sure to check out https://github.com/awslabs/generative-ai-cdk-constructs.