The Resource Groups in Dashbird is a unique feature that allows you to view the distributed components of your serverless systems as a single unit. Resource groups allow you to organize different parts of your system and segregate them based on the business or system logic. This allows you to achieve decentralization and implement the microservices design philosophy at the system architecture level while allowing you close supervision and visibility at a snapshot over the entire stack.
Consider a serverless system having a decentralized system logic consisting of a collection of Lambda functions that serve different parts of the system logic. In case of an error, troubleshooting Lambda functions individually is much harder than debugging them as a single unit that serves one part of the system logic.
☝️ You can create as many Resource Groups, each containing as many resources as you would like. The same resource can be assigned to multiple Groups as well.
Dashbird will provide a custom metrics dashboard, as well as a central repository of errors and alerts particular for each Group.
For instance, consider the following use case consisting of multiple Lambdas taking care of processing customer orders in an e-commerce system:
- Lambda 1: receives and validates the order
- Lambda 2: checks for inventory or delivery conflicts
- Lambda 3: payment processing
- Lambda 4: sends notifications by email to the logistics team and the customer
- Lambda 5: takes care of order fulfillment
Resource groups in Dashbird has been designed keeping such use cases in mind. Since the system logic is decentralized (at the application level, not infrastructure), it may be harder to debug issues.
When something goes wrong with the order processing, system-wise, it would more sense to debug all five resources as a unit, and that is precisely what a Resource Groups delivers in Dashbird.
☝️ When searching for errors by keyword, for example, it is possible to narrow down results by Group, making it easier to debug issues related to a specific project. Developers can configure policies or error alerting specific to a Group. Issues can be tracked and resolved in the context of a Group.
In summary: with Dashbird Resource Groups, developers can benefit from decentralization and a microservices approach at the software architecture-level, while retaining close supervision and visibility at a snapshot over the entire stack.
Creating a Resource Group
Creating a resource group is easy. The main screen in Resource groups displays all the resource groups we have associated with the delegated AWS account.
Clicking on “Create resource group” on the top right allows you to create new resource groups. Provide a suitable name and description for the resource group and select the resources to be included in that resource group.
Once the resource group is created you can see the metrics for all the resources in the resource group as a single unit. Clicking on a resource group provides us with all the details of all the errors, warnings, or insights associated with that resource group which can be further explored individually in the Events service. We also get metrics such as total invocations, total error count, billed duration, and the total cost incurred for that resource group.
Resource Groups Detailed View
Can’t find what you’re looking for? We’d love to help. Send us a message through the chat bubble or email us.