Does any big software organization really know what’s happening in their software delivery processes? After 10 years of DevOps and automation we ship more changes than ever before. And we’re only going to ship more next year, and the year after that.
High volumes of change bring new challenges. On a day to day level it’s a pain for developers to find anything. Where’s my code? What broke my environment? For CTOs and managers compliance becomes a nightmare. Where’s my audit trail for the last gazillion changes?
Why is it still so hard to find what we need?
For all our tooling and clever infrastructure as code fixes, we still don’t really know how our environments and pipelines are actually changing. It’s a huge and growing problem when you want to deliver software at scale.
How do you find the source of incidents? How do you know if you’re in compliance? It’s like we’re back doing software without version control.
It’s hard to believe that in 2022 developers still spend hours in git blame, CI logs and cloud consoles. Meanwhile, managers have to go on a paper chase before they can approve a release.
So, today, we make Kosli freely available for you to solve the problem of change at scale. Kosli records every change to your environments, takes cryptographic proof of your build artifacts, and joins them together. Then, using simple Kosli commands, you can find out just about anything. Let’s take a closer look!
Record, Connect and Search
Find out what’s actually running
The first part of solving change at scale is to start with your environments. We need to keep track of what’s really running. So, how do we obtain a provable record of what’s actually changed?
Kosli does this with one line of code. We support k8s, ECS, Lambda, S3, and servers, but in this example we’ll show you how to get started with Kubernetes.
Find out what’s running in your cluster by installing our client.
$ helm install kosli-reporter . -f values.yaml
Whenever a change to the cluster is detected, a new snapshot is sent to Kosli. And as soon as changes start to happen you can start to do useful things from the command line.
For example, we might want to find out what’s just been deployed by diffing staging and production. Like this:
Or if you prefer the web view - like this!
It really is this simple. Ok, so now we know how our environments are changing. The second aspect of managing change at scale is to know how the changes got there.
Connect your pipelines
The next step is to connect what’s happening in your operations with the changes being made in the development world.
You can do this in Kosli by reporting artifact creation. With this command you can attest the sha of the build artifact, its source git commit and history, and any other CI build information.
$ kosli pipeline artifact report creation $IMAGE_NAME
Kosli will now record your builds and any other pipeline events that interest you. For example, you might want to gather supply chain evidence like SBOMs, commits, test results, or security scans.
You might like to keep track of pull requests, code coverage, deployments, or security steps. Whatever you decide to record, It all goes into a timeline that connects siloed and unsearchable DevOps tools.
Ok, so you now know what’s running in your environments. You also know how your software is being made. Next up is the really cool bit. With running artifacts connected to code changes you can extract all kinds of information about your process by using simple commands in Kosli.
For example, you can see all the commits in the last release, the last 10 deployments, the git diff between a service in two environments, and lots more besides.
Search your DevOps history
We’re still figuring out all of the neat things we can do with this connected record and we’re excited to see how new users query their changes. Kosli gives you powerful tools to diff, log and browse changes, from commit to production (and back again) and that opens a lot of doors.
What’s extra cool is that you can search from the browser, at the command line or via the API. So, looking to extract an audit trail? Maybe you’ll find the GUI is best for that. Just want to do a quick env diff to figure out why staging is up and production is down? Just open the CLI.
brew install kosli-dev/tap/kosli
With two lines of code you can record your environment changes, and connect everything from commit to production. Once you’ve done that you can make all of your DevOps data available to every stakeholder.
Get started with your existing tools
Still waiting for the catch? Maybe you have to lock everything in? Maybe Kosli only works for Kubernetes.
Nope! Freedom of choice is an essential element of Kosli which is why we support the runtimes and CI servers that you use. You don’t have to change anything about your existing setup - just add those lines of code and away you go!