Skip to main content

· 3 min read

Hello everyone, here's an update for July!


In June, we released Resoto 2.3.2. The key update that we shipped is a feature that a lot of users have asked for—support for Kubernetes! 😎

Configuration UI

Last month we introduced our new config system, with the ability to edit your Resoto configuration on the fly via Resoto Shell. Not everyone is comfortable working with the shell though, and so we added a new web-based UI.

Kubernetes Support

So far, Resoto has worked out-of-the-box for the "native" cloud providers AWS, GCP, and DigitalOcean. But our users have been telling us that they're not just running "bare metal" on these clouds. No surprise—most of them use Kubernetes for orchestration. You can now point Resoto to your kubeconfig file, with which Resoto will collect all available contexts.


Resoto's unified data model still applies. Common Resoto types like resource, instance, and volume are still relevant with Kubernetes. We went "deep" on Kubernetes from day one, meaning we support the entire set of 100+ Kubernetes properties. Full-text search, piping commands, and performing jobs (like tag and cleanup) also work for Kubernetes.

We think you will be delighted to use Resoto with Kubernetes. For more details, check out Matthias' blog post.

Nested Properties

To add Kubernetes support, we first had to build new capabilities into our data model. Nested properties is one such capability.

The first version of Resoto supported simple structures—think "a resource with a property." This simple structure unfortunately doesn't work well with the nested structures commonplace in Kubernetes. For example, one Kubernetes pod can contain multiple containers. Within each of those containers, you then have a long list of possible properties (from the 100+ mentioned above). Each of those nested properties can be accessed and used for filtering or information retrieval.

Resoto now supports arbitrary complex models with nested properties. We also made sure autocomplete in Resoto Shell works with complex models. You can (literally) navigate through nested properties as you type.

Multi-Cloud Graph Edges

Another fundamental capability we launched with Kubernetes support is support for graph edges between different clouds.

Data collection and definition of resource dependencies within Resoto happens with cloud-specific collectors. Since collectors are cloud-specific, so far Resoto has only supported dependencies within a cloud, not between clouds.

Kubernetes resources are abstracted away from the underlying cloud provider. The Kubernetes collector knows nothing about AWS or EC2 instances, while the AWS collector only knows AWS services like EC2 and EKS. With multi-cloud edge support, Resoto can now track relationships between the two, creating the complete call graph for a view of the entire stack from ingress, via pod, deployment, k8s node, or compute instance down to the hardware.

This new feature provides insights across multi-cloud infrastructure. Since we see a lot of multi-cloud deployments in the enterprise, we will continue to extend our collectors to provide additional insights into relationships across clouds.

Read more about nested properties and multi-cloud graph edges in the release notes.

· 13 min read
Lukas Lösche

Understanding what's running in your cloud infrastructure is important for a number of reasons—for example, security, compliance, and cost.

But sometimes, the cloud feels more like a black box that you're feeding with cash, and in turn it performs the work that makes your business run.

Sheep looking inside a black box

Even those spinning up cloud resources might only be aware of their small slice of the pie. With hundreds of thousands of interconnected resources, it is really hard to know what's going on!

Cloud inventory has become a new type of technical debt, where organizations lose track of their infrastructure and how it relates to the business. Resoto helps to break open the aforementioned black box and eliminate inventory debt.

· 2 min read
Nikita Melkozerov

We recently released Resoto Notebook, a library that allows for the visualization and exploration of the Resoto graph interactively using Jupyter Notebook.

Resoto Notebook is similar to Resoto Shell in the sense that you execute queries, but the results are returned in a pandas DataFrame structure. This gives you more flexibility in filtering, aggregation, visualization, etc.

· 6 min read
Matthias Veit

Resoto uses a directed graph to represent your infrastructure resources as nodes and relationships between them as edges. A load balancer for example is represented as node with edges pointing to all target compute instances. The compute instance might have a volume attached, where we would see an edge between the instance node and the volume node.

The nodes represent the actual resources. The edges define the relationship between the nodes. It is possible and highly likely, that one resource has multiple relationships to other resources.

Sheep Jumping on a Graph

· 2 min read
Matthias Veit

Resoto has a command-line interface accessible via Resoto Shell. Commands are not executed locally, but interpreted on the server. As such, only Resoto Shell is required client-side.

Resoto offers commands like echo, tail, and jq—old friends to veteran shell users—but these commands only account for a small fraction of the possibilities in Resoto's command-line interface.

Version 2.X of Resoto Shell introduces tab completion, making the command-line interface easier to use than ever before! Press the tab key, and Resoto Shell will present you with a list of available commands:

List of commands

· 4 min read
Matthias Veit

Retrieving information about resources you have deployed in your Amazon Web Services (AWS) infrastructure means tediously navigating the AWS Management Console or using the AWS Command Line Interface. This approach works well in a single account setup, but best practice is to set up a multi-account environment. And as the number of accounts grows, navigating your infrastructure and finding resources via the Console or the CLI becomes increasingly difficult.

Furthermore, the relationships between your resources are also relevant: an EBS volume is mounted to an EC2 instance running in a VPC and reachable via an ALB load balancer, for example. Developers create resources using tools such as Terraform, CDK, or CloudFormation… or sometimes even the console or CLI. How can you see everything that is running in your cloud?

Left: Sheep Spinning Up Cloud Resources; Right: Confused Sheep with Abacus

· 3 min read
Doris Houng

This past month has been quite the roller coaster for us at Some Engineering. 🎢

Right before Christmas, we decided to part ways with the name "Cloudkeeper." There were many reasons behind this decision, one of which was that we did not feel the product we were developing should be limited to cloud infrastructure. We were building a product that did much more than just "housekeeping for your clouds."

Resoto Logo Graffiti