Keeping an eye on your cloud resources becomes increasingly difficult as their number grows. However, the tools below offer effective solutions for monitoring resources and controlling costs.
Komiser
Komiser is an open-source platform loved by cloud experts and developers. Connect your cloud accounts to get detailed insights into your cloud infrastructure.
It provides a nice dashboard to see your cloud assets inventory, understand their resource dependencies, and uncover idle, underutilized, and untagged resources. Komiser aims to bring transparency to cloud management. I see it as a useful tool for creating an inventory of your cloud resources. It can be connected to AWS, GCP, Azure, Digital Ocean, and more. It is interesting to see what resources are abstracted from when using a library like AWS CDK or AWS SAM.
Steampipe
Steampipe is a tool for querying cloud APIs and other data sources using SQL in a zero-ETL manner.
Some key capabilities include:
- Dynamically query APIs, code repositories, logs, and other data sources using SQL for unified access.
- Combining data from different sources creates new insights through relationships and attributes across entities.
- It operates without needing to set up traditional databases through its 'Zero-ETL' approach of querying data directly at the source.
- Providing metadata about available data tables and fields to help with the discovery and understanding of cloud resources and attributes.
I think Steampipe's dashboards (Mods) make Steampipe more powerful. They offer a variety of them, such as AWS Well-Architected, AWS Compliance, and many more.
If you look for an inventory, you can check how to build your dashboard.
StackQL
Like Steampipe's revolutionary approach, StackQL harnesses the power of SQL to query your resources seamlessly. Moreover, it empowers you to utilize SQL syntax for querying and creating resources.
INSERT INTO aws.s3.buckets (bucket, region)
SELECT 'stackql-demo',
'eu-central-1'
It is versatile and usable. Even though it is written in Go, they provide a Python package, which means you can use it with Jupyter Notebooks. I also like their guide on using it with Superset.
In comparison to Steampipe, you can query all AWS services, whereas Steampipe is missing some. However, Steampipe offers autocompletion, which StackQL not have.
I used this instruction to create the inventory of my AWS account.
ChatWithCloud
Thanks to a generative AI model, ChatWithCloud allows users to interact with and manage their AWS cloud infrastructure using natural language commands in their terminal. Some key capabilities mentioned include:
- Performing cost analysis to find out spending and optimize costs
- Conducting security analysis by reviewing IAM policies and resources
- Troubleshooting infrastructure issues to understand problems and how to fix them
- Having the ability to fix infrastructure issues directly through commands
- There is no need for AWS knowledge or API keys to use most basic functions
So, in summary, ChatWithCloud provides a natural language interface for viewing, analyzing, and troubleshooting AWS resources with the help of an AI assistant.
You must buy a license and use your OpenAI key or subscribe to it.
Conclusion
All these tools provide a comprehensive overview of your AWS resources. Komiser also displays costs, while ChatWithCloud provides answers by entering prompts. Steampipe and StackQL use SQL to interact with the cloud. Additionally, you can connect these to dashboards to visualize them, similar to any data analytics process.
Bonus: Create Inventory with AWS Console 1
The tools above offer dynamic monitoring of your AWS resources. But what if you need inventory just once or less frequently? The following steps allow you to create a CSV of all the resources within your account:
- Use the
Resource Group & Tag Editor
. - Choose the regions from which you want to fetch. The more regions you select, the longer it will take.
- Then download them.
Top comments (2)
Nice resources!
Thank you, Jason :)