Go Serverless with Nimbus: An Open-Source Tool for AWS Lambda Developers

Arthur Su
nimbus OS
Published in
6 min readJan 12, 2023

Nimbus allows you to monitor and visualize your AWS Lambda functions and APIs with ease.

written by Arthur Su, George Maroun, Zhaowei Sun, Madeline Doctor, & Arturo Kim — Jan 12, 2022

Introducing Nimbus

Attention cloud enthusiasts: Nimbus is now available!

Nimbus gives you information (metrics, logs, costs, and API relationships) about the health, performance, and architecture of your serverless applications. This helps you optimize and diagnose your applications as they grow in complexity.

Nimbus isn’t just about reactive problem-solving. We also identify patterns and trends in how your functions are used. This gives you the information you need to make the best use of your resources and improve efficiency.

What is AWS Lambda?

Serverless architecture has become very popular in the field of software engineering, and Amazon’s launch of AWS Lambda in 2014 has been a big part of its growth. AWS Lambda is a serverless computing service that lets users run code in response to events like changes to a DynamoDB table, an API call to API Gateway, or the addition of a file to an S3 bucket. As a function-as-a-service (FaaS) offering, AWS Lambda allows developers to focus on the business logic of their applications by abstracting away the underlying server infrastructure, such as maintenance, capacity planning, and scaling. AWS Lambda is a powerful and innovative service that lets developers build and run applications and services without having to worry about managing infrastructure. This saves both time and money. It also automatically scales in response to requests, which makes applications run faster and more available. Overall, AWS Lambda is essential for any developer who wants to build and run cloud-based apps.

How can Nimbus enhance your AWS experience?

AWS Lambda is a well-known service for serverless computing that lets users run code when certain events happen. But it can be hard to keep track of how well your Lambda functions are working and how they are being used, especially if you have a lot of functions and triggers or are running complex workloads.

This is where Nimbus comes in. Nimbus is a desktop app that aims to solve this problem by making it easy to connect to your AWS account and keep an eye on the metrics of your Lambda functions. With Nimbus, you can see information about how your functions are being used and how well they are working in real-time. This includes the number of function calls, how long each call took, and any errors or throttles that happened. Nimbus also gives you an estimate of how much your function calls will cost, so you can keep track of how much you’re spending. In short, Nimbus is a valuable tool that simplifies the process of monitoring your AWS Lambda functions.

Nimbus is a tool for monitoring, but it also has a number of features that make your AWS experience better. For example, Nimbus lets you look at and analyze the logs that your lambda functions create. This can help you solve problems and find ways to improve your code. Nimbus also allows you to monitor resources within your AWS API Gateway. It shows important API metrics like the number of calls, 4xx errors, 5xx errors, and latency. It also shows the lambda function that is connected to each endpoint. This makes it easy to see everything about your serverless app.

In a nutshell, Nimbus is a must-have tool for everyone who works with AWS Lambda. Nimbus provides something for everyone, whether you’re a seasoned cloud developer or just getting started. So, why wait? Try Nimbus today and learn how it can help you make the most of your AWS Lambda functions.

Demo / User manual

Create an account by entering your information and linking it to your AWS account, following the instructions provided on the Register page

Register your account

If you already have an account, simply log in. On the home page, you’ll find a lot of information about the health of your AWS application, especially as it relates to lambda functions. This includes important metrics like the number of calls, errors, throttles, costs, and runtimes.

Login to navigate to your homepage

Head over to the Functions tab to see metrics broken down by individual functions, including invocations, errors, throttles, and durations.

Navigate to the functions page

The Logs tab is where you can find all your lambda function logs and filter them by time period, reports only, errors only, or any keyword.

navigate to the logs page

The APIs tab lets you view common API metrics, endpoints, and the lambda functions they’re connected to.

navigate to the APIs page

In the Settings tab, you can update your personal information (including AWS Cloudformation Stack ARN and region) or change your login details.

Navigate to the settings page. You can change your profile credentials here

How to Contribute

Nimbus is an open-source product supported by the tech accelerator OS Labs. We welcome and appreciate contributions from the community. If you are interested in contributing to the development of our AWS serverless component monitoring and visualization tool, here are a few ways to get started:

  1. Fork the repository: Go to the main repository on GitHub and click the “Fork” button to create a copy of the code under your own account. This will allow you to make changes to the code without affecting the original repository.
  2. Set up your development environment: Follow the instructions in the README file to set up your local development environment. This will typically involve installing dependencies, setting up a local development server, and configuring any necessary secrets or API keys.
  3. Choose an issue to work on: Browse the open issues in the repository and pick one that interests you. Alternatively, you can also propose your own changes by opening a new issue and describing the feature or improvement you would like to see.
  4. Create a branch: Once you have chosen an issue to work on, create a new branch in your fork of the repository. Name the branch something descriptive, such as “add-feature-x” or “fix-bug-y”. This will allow you to work on your changes without affecting the main branch of the repository.
  5. Make your changes: Make the necessary changes to the code in your branch. Be sure to follow the repository’s style guidelines and best practices, and make sure to test your changes thoroughly before submitting them.
  6. Commit and push your changes: Once you are satisfied with your changes, commit them to your branch and push them to your fork of the repository.
  7. Open a pull request: Go to the main repository on GitHub and click the “Compare & pull request” button. Describe the changes you have made and why they are necessary. Then, submit the pull request for review.

A member of the repository’s maintainer team will review your pull request and either merge it into the codebase or provide feedback for changes that need to be made. Thank you for considering contributing to our project!

Connect with the Nimbus Team

Arthur Su LinkedIn | GitHub
George Maroun LinkedIn | GitHub
Zhaowei Sun LinkedIn | GitHub
Madeline Doctor LinkedIn | GitHub
Arturo Kim LinkedIn | GitHub

--

--