Steampipe
Steampipe lets IT teams query live cloud resources, APIs and other supported data sources using SQL, without building separate data pipelines.
Why it caught my attention
Cloud platforms hold enormous amounts of useful operational information, but answering a straightforward question can mean navigating several consoles or writing API scripts. Steampipe makes that information accessible through familiar SQL queries, opening up practical ways to investigate infrastructure, permissions and resource usage across services.
What problem does this actually solve?
Steampipe could be worth considering if you recognise any of these challenges.
Information scattered across cloud services
Cloud resources and settings sit in different consoles. Steampipe provides a common way to query supported services.
Too many one-off API scripts
Answering operational questions often requires custom integrations. SQL queries can replace some scripts and make investigations repeatable.
Difficult to spot configuration risks
Exposed resources and permissive settings can be overlooked. Queries help identify potential issues across supported cloud accounts.
Cloud information becomes outdated quickly
Exported inventories can become stale. Steampipe retrieves information through APIs when queries run, subject to caching.
Is this a good fit for you?
A quick way to see if Steampipe is relevant for your situation.
- You manage resources across AWS, Azure, Google Cloud or other supported services.
- You regularly investigate cloud configurations, permissions or resource inventories.
- Your team is comfortable using SQL for operational questions.
- You want repeatable infrastructure checks without maintaining separate API scripts.
- You need to combine information from multiple supported services.
- You primarily need a graphical monitoring platform with continuous alerting.
- You need a historical analytics warehouse rather than live API queries.
How does it work?
In practice, the workflow looks something like this:
Install the Steampipe CLI, then add a plugin for a service such as AWS, Azure, GitHub or Kubernetes.
Set up the plugin connection using suitable credentials and permissions so Steampipe can retrieve the information you need.
Inspect the plugin's tables and columns to discover which resources, settings and other information can be queried.
Write SQL to filter, compare or join information. Steampipe translates supported queries into API requests and returns structured results.
Save useful SQL queries and run them again manually or through scripts and CI/CD pipelines as operational needs change.
What else should I know?
A few important things to be aware of before you investigate further.
Plugin coverage determines available data
Each plugin exposes particular tables and fields. Check whether the resources and attributes you need are supported.
API permissions and service limits
Queries require suitable credentials and remain subject to provider permissions, rate limits and API availability.
Live queries have performance trade-offs
Complex queries may trigger numerous API requests. Response times and results depend on service behaviour and caching.
Separate tools extend its capabilities
Steampipe focuses on querying data. Dashboards, benchmarks and workflow automation are handled by related tools such as Powerpipe and Flowpipe.
Think Steampipe could fit your environment?
Visit the Steampipe website to find out more, request a demo or speak to their team.
Something you'd like to know about Steampipe?
Is there something I haven't covered in my research? Send me your question and I'll look into it and reply personally by email.