Accelerate Your Scheduling with Accelerated Web App
Authors: Gillian Leung and Godot Bian
Have you ever found yourself waiting for apps to load? While data travelling between servers is measured in milliseconds, in today’s fast-paced world, we find ourselves tapping our fingers as the loading circle makes turn after turn. Here at Celayix, we take extra care in both the front and back end to make sure our users are never left waiting longer than necessary.
As part of our web performance optimizations, we leverage cloud services in our new and improved infrastructure setup. One such service is Lambda, provided by Amazon Web Services.
Lambda utilizes containerization technology, which means AWS creates the running environment according to pre-specified configuration when the function is invoked. Setting up a container adds to the latency cost of the Lambda invocation. By anticipating multiple invocations in a single Lambda and avoiding the latency for frequent invocation, AWS can keep the container for warm for certain time after the first invocation.
At the Celayix development team, we try to minimize the latency from creating the container. In order to do that, we periodically make Lambda requests to keep it “warm.” In that case, when a user makes a request, they can always get data back from a warmed up container instantly, without waiting for container creation and environment setup processes.
Celayix also monitors the performance of services during development to ensure fast response. We do so by utilizing monitoring services provided by Amazon – AWS X-Ray and AWS CloudWatch. AWS X-Ray is a new service that helps developers analyze the performance of applications by tracing requests from beginning to end. It tracks the performance of the application and its underlying services (such as Amazon DynamoDB) so that developers can identify performance bottlenecks. AWS CloudWatch aggregates the logs and analytic metrics for each lambda function call, providing our team with valuable insight into performance issues.
At the Celayix development team, we go the extra mile to streamline user experience by optimizing API performance so our users are never left waiting. If you would like to learn more about our products, feel free to reach out to us!