Performance Best Practices Using Java and AWS Lambda: Initial Application

Written by escholar | Published 2024/04/17
Tech Story Tags: java | aws-lambda | java-optimization | performance-testing | aws-sdk | java-best-practices | software-engineering | cloud-computing

TLDRA common use case for AWS Lambda is to integrate with DynamoDB, allowing functions to perform operations on data stored in DynamoDB. An initial solution has been built to measure its initial performance and demonstrate the performance improvements. The system consists of a simple e-commerce solution, compound of three services with functionality which translates in one function for each service.via the TL;DR App

This paper is available on arxiv under CC BY-SA 4.0 DEED license.

Authors:

(1) Juan Mera Men´endez;

(2) Martin Bartlett.

Table of Links

Abstract and Introduction

Initial Application

Performance Tests

Best Practices and Techniques

Combinations

Discussion

Related Work

Conclusion and References

II. INITIAL APPLICATION

A common use case for AWS Lambda is to integrate with DynamoDB, allowing functions to perform operations on data stored in DynamoDB. Following this approach, an initial solution has been built to measure its initial performance and demonstrate the performance

improvements generated as a result of the proposed best practices.

The mentioned system consists of a simple e-commerce solution, compound of three services with functionality which translates in one function for each service. All the services are self-contained and individual, offering an API through of which the services send messages (using AWS API Gateway). The three services are the following:

• Catalog service: It manages the operations related with the products.

• Customer service: It manages everything related with customers.

• Order service: It involves all in relation to orders.

The scheme of the system will be better explained in the Figure 1. The performance of this initial solution can be seen in Table I with an average latency of 512 ms when lambdas are warmed and over 16307 ms on cold starts. It is important to highlight that the test lambda functions are mainly based on interaction with DynamoDB and are not computationally intensive.


Written by escholar | We publish the best academic work (that's too often lost to peer reviews & the TA's desk) to the global tech community
Published by HackerNoon on 2024/04/17