An Affordable Alternative to Monitor Your AWS Serverless Application
Helios is an innovative tool that does the work for developers to organize their serverless application metrics and data to ease debugging.
What Does Serverless Mean?
“Serverless application” is becoming a phrase mentioned more and more often in the programming world. But what does that mean? How can an application be “serverless?” The truth is, they are not actually serverless. Instead, the server exists on the cloud, meaning developers no longer have to worry about maintaining a physical server. The most popular providers include the behemoths, AWS, Microsoft Azure, and Google Cloud, but more and more companies are joining the serverless side of cloud computing.
Pros of Going Serverless
Developers can then put their trust in these companies to maintain the servers and also set up auto-scaling. This allows for more time and ability to focus on the programming they want to focus on. They are also more cost efficient as the servers are not running continuously, but rather are only started when an event is triggered. As cloud computing becomes a more central part of development, programmers need to take note of how serverless applications work.
Cons of Going Serverless
With every great new feature in the developing world, there also comes the bugs that need to be worked out. One of the downsides to serverless applications is that it is unfamiliar territory to many and can be confusing to set up and then in turn, monitor. With the server located in the cloud, developers can no longer see their console.logs or if errors are popping up without having to navigate through the provider’s site or rely on paid third party monitoring solutions.
As AWS is the leading provider of Cloud computing and Serverless architecture, with their Lambda functions being the central aspect of this service, it becomes one of the first options that clients consider to deploy their applications in the cloud. However, with AWS’ numerous services and extensive docs, it becomes challenging to navigate and can be intimidating to attempt to track and monitor.
Helios is a free, open-source monitoring tool that users can connect their AWS account to and it alleviates the pressure on the developer to parse through AWS’ extensive console in order to debug. Instead, Helios can quickly display the most important metrics and logs for a developer to track as they build and monitor their application.
How Does It Work?
The sign up process for Helios is quick and easy. Helios connects via AWS CloudFormation to create a new “Role” inside users’ AWS accounts for Helios to assume. Helios can then read, process, and display data and metrics. Helios is not given permission to change or add anything on the client’s AWS account so they can be rest assured that their account remains secure.
What AWS Components Does Helios Track?
Helios is pre configured to track and display three key components of AWS serverless applications: Lambda Functions, Logs, and API Gateway.
After the set-up process, users are immediately taken to the dashboard page that displays the aggregated metrics for their Lambda functions, including Throttles, Invocations, and Errors. These metrics are separated by Lambda function in tabular format as well and the user has an option to further visualize metrics for specific functions.
On the Logs page, users can quickly view their logs and errors that might be occurring within their Lambda functions. All users have to do is click the Lambda function logs they wish to see and Helios will fetch and organize them. To compare, in AWS CloudWatch, if a user wanted to view a console.log that they had put in their Lambda function, their routing process would be:
Lambda -> CloudWatch -> Log Groups -> “/aws/lambda/LambdaFunctionName” -> [most recent Log stream]
Then, they would have to open each individual log event within that stream.
Helios’ goal was to make this process quick and easy for users so they can focus on the actual building of an application, rather than navigating AWS. Any errors that might be occurring are also separated into their own tab for quick identification.
On the API Gateway page, users can identify all the resources/paths and methods that exist on an API as well as their endpoints (if applicable). This will help bring clarity to understanding which route is driving to which Lambda function. If an API is clicked, users will also be able to view the metrics for that API, including API Latency (the time between when the API receives a request from a client and when it returns a response to the client), Count (the total number of requests to the API in a given time period), 5XX Errors (the number of server-side errors captured in a given time period), and 4XX Errors (the number of client-side errors captured in a given time period).
User Profile Settings
As the AWS services are region-specific, users can update their default region on the User Profile page. Here, they can also update the AWS account they have linked (by going through the StackFormation process again with a different AWS account and then providing Helios with the updated ARN), plus they can update their email and/or password, if they so wish.
Note: Once a user is logged in, Helios does not currently support live updates. However, after a refresh, users will be able to view their updated metrics and data.
You can download the Helios app at projecthelios.io and check out the GitHub here.
This is the beta version of Helios and the team has plans to expand the tool to cover more AWS services to provide a more well-rounded view.