Serverless Architecture: AWS Lambda

Cloud service providers have a huge range of products to make building and running your software as flexible as possible, including many types of virtual server. However, the infrastructure to host and execute code takes time and effort to manage. Traditionally you have needed to provision and scale servers, manage operating systems, take care of updates and security patches and monitor performance and availability. That’s a lot of work, and is generally something that only software developers are aware of.

We have moved, whenever possible, to using Serverless Architecture. In our case, AWS Lambda. We often get asked what Lambda is and why we use it, so this article will serve as a basic explanation.

What is Lambda

Lambda is a compute service, not a server, hence the “Serverless” name. It runs the back-end code for you, in response to events such as code bucket uploads, table updates, app activity and more. The service handles all the capacity, scaling, patching and administration of the server infrastructure, while giving feedback on performance in real-time.

Put simply, as developers it takes care of a lot of the time consuming elements, freeing us up to focus on functionality. This directly impacts and improves the user experience, which ultimately is the most important thing for any software application.

The best thing, in our opinion, is that you can use any pre-existing libraries, languages or frameworks to create Lambda Functions, including native ones. It is also incredibly well integrated with API Gateway, meaning the link between the user interface and data storage is seamless.

Benefits of Lambda

AWS Lambda also provides a cost benefit. It needs no upfront investment and you only get charged for the time your code is running, as well as per request during its use. This means that in the early stages of a launch the cost is lower as demand is lower, but the cost only increases when usage grows (and hopefully turnover with it).

There are so many powerful ways this microservice can be used and the more we have explored it, the more we have realised its capability. If you need to build an app, we would highly recommend considering Serverless Architecture, as it is cost effective, simpler to maintain and easier to scale. To learn more about how these concepts can be integrated into custom software for you, or how we can apply our AWS skills to augmenting your internal team, get in touch via our contact page.