AWS Digest – 2021-10-17

Time for a new AWS Updates cherry picks updates:

Lambda:

I missed this announcement, but it’s a big feature: AWS Lambda now supports ARM/Graviton 2 processor.

Until then lambda ran on x86 processor, that is great, and a standard, but it’s now possible to opt for the use of ARM processor: the most important feature of ARM are the low power consumption, that allows AWS to offer the compute time at 20% lower cost on these architecture.

Is ARM better than x86?

Well, the answer is not that simple, as explained in this article, ARM performance can be show faster execution time, reducing the the billed time of an application. But it comes at the cost of more memory being required. You can find an overview of the differences between the 2 architecture in this article. This is a very interesting topic.

To choose the most cost efficient solution, I would refer to these question:

  • If your lambda is mostly using external services (calling and API, connecting to a database, etc…) -> ARM cheaper, because your runtime do not depend on the lambda but on the external services
  • If your lambda uses interpreted languages (such as python, or JS) and you don’t use python compiled library -> good chance that ARM will be cheaper
  • If your lambda does complex branched calculation on unpredictable sets -> Good chance that ARM will be cheaper, because of the wrong prediction cost.
  • If you lambda does complex branched calculation on predicable sets -> x86 might be a better solution, to benefit from the larger CPU instruction base (if you are using compiled libraries to do the heavy lifting)

The most use of x86 might ends on providing a container with compiled libraries well optimized to get the best value out of it.

TLDR: In most of the case, ARM might be cheaper

GLUE:

This one is truly a major feature, until now, to update your glue catalogs with a crawler, you had to schedule refresh time with the risk of the data being delayed and the crawler running without the new data set. Or running the crawler manually.

This ended with inefficient runs for daily delivered data. That’s an issue I encounter a lot in my work, with crawler scheduled multiple time a day to ensure that the data are loaded even if they are late.

Now Glue Crawlers can be triggered by S3 Event (even if they are sent through SQS/SNS).

That’s a feature I’ve been waiting for a long time, and I will definitely ensure that we get to make a good use of these triggers in my team.

Distributed Load Testing

One new feature I will really need to dive into: AWS launched their solution for load testing, it should help identify performance issues. I took quick look at the documentation that’s a topic that will require some time to really dive into it, but that’s super interesting.

0 Replies to “AWS Digest – 2021-10-17”

Leave a Reply

Your email address will not be published. Required fields are marked *