Serverless computing is actually a misnomer because a physical server still exists in the system. But since the servers are completely managed by cloud providers, developers get the feeling that a server doesn’t exist at all. Hence the name, serverless. That said, the experience is nothing short of pampering, and the terms “serverless” is an apt description of what it’s like to run applications on these platforms. Serverless computing is growing faster than any other cloud service with a growth rate of 75 percent. Its ability to make software development efficient (in terms of effort, time, and cost) has been one of the biggest reasons for its popularity.
Serverless computing has led to a significant increase in the number of Function as a Service (FaaS) and Backend as a Service (BaaS) providers. Some of the most popular ones are:
Though the development process is simplified by FaaS and BaaS, a few tools and platforms have been developed to simplify it even more. These tools reduce the effort developers need to put in to configure infrastructure. This means developers can get more time to focus on writing code. Here is a list of seven such tools (or platforms) to use when working with serverless computing:
LambCI is a package that can be uploaded to AWS Lambda to bring CI to serverless. It is triggered whenever you push new code or existing requests on GitHub. With LambCI, developers can easily launch and keep things up-to-date as a Cloud Formation Stack. They can even create different resources themselves. With conventional systems like Travis and CircleCI developers had to pay a lot. They still had options for reducing costs by using systems like Jenkins, Strider, etc. but, configuration and server management took a lot of time.
Michael Hart, the developer of LambCI, said in a Medium post that he began building the tool to find a way to overcome these limitations of conventional systems.
One of its coolest features is its ability to integrate with Slack and update developers on the statuses in GitHub.
But, there are some downsides to this tool such as no root access, and its support is limited to Linux. Also, the build time and memory are limited to a maximum of five minutes and 1.5GB, respectively.
But developers can work around many of these limitations by configuring LambCI tool to send tasks to an ECS cluster.
Clay is a registry for microservices (little pieces of reusable code). It can be used to instantly create an HTTPS function. Developers can either start from scratch or fork an existing code and customize it.
Clay has not become very popular perhaps due to its limited support (only Node 6.10), less disk space (500MB) or time limit (30 sec/service call). However, developers can extend the time limit by making another HTTP call.
Having said all that, a few developers still prefer Python perhaps because of the ease of use it renders.
Gordon is an open source platform. Gordon can help you to create, wire and deploy AWS Lambda functions using CloudFormation.
To understand how Gordon can help developers, one should first understand what it takes to run functions on AWS Lambda. Here is a list of things that you should do to get your function ready to run on Lambda:
But this is a bit too much to do every time when you have to deploy a new change. This is where Gordan comes into play. With just two commands, “build” and “apply,” you will be able to easily deploy your changes as many times as you want.
Kappa is an open source project that helps developers deploy, update, and test functions for Amazon Lambda. Kappa is a command line tool.
Kappa basically assists with some of the steps involved in developing Lambda functions. Here are a few things that Kappa can do:
The Lambda-uploader package was specifically written to help in packaging and uploading Python AWS Lambda functions.
Lambda-uploader helps with Lambda package creation by handling the following:
Since Lambda uploader takes care of all these time-consuming tasks, developers can focus more on writing better functions.
OpenLambda is an open source serverless computing platform. It is an Apache-licensed project. OpenLambda is written in Go and is based on Linux containers.
The primary objective of Open Lambda is to enhance the exploration of new approaches to serverless technology. Serverless computing introduces many challenges in the areas of sandboxing, session management, load balancing, and databases. Open Lambda facilitates these areas.
Thundra.io is basically a monitoring tool. It is a one-stop solution for monitoring needs such as metrics, logs, traces etc.
IOPipe, Stackery, and Dashbird are the other popular tools used for serverless monitoring.
Besides saving time, serverless architecture also saves money. This is because you pay only for what you use. This is much more efficient compared to the conventional method of buying units of capacity and leaving most of them unused. With the efficiency delivered by serverless architecture and the convenience provided by the tools mentioned, the future of serverless computing looks promising.
Featured image: Shutterstock
Stalkerware has been on the rise for a while, but MonitorMinor threatens to take this…
No single tool acts as a silver bullet to slay all open-source vulnerabilities, but using…
A vulnerability affecting Apple iOS VPN connections could allow outsiders to see things you don’t…
Deploying a VPN leveraging Azure MFA provides extra security and helps ensure that remote users…
What’s it like being an IT consultant when your clients quickly need to transition their…