paint-brush
Performance Best Practices Using Java and AWS Lambda: Initial Applicationby@escholar
131 reads

Performance Best Practices Using Java and AWS Lambda: Initial Application

tldt arrow

Too Long; Didn't Read

A 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.
featured image - Performance Best Practices Using Java and AWS Lambda: Initial Application
EScholar: Electronic Academic Papers for Scholars HackerNoon profile picture

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

Authors:

(1) Juan Mera Men´endez;

(2) Martin Bartlett.

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


Fig. 1. Initial application architecture


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.