CircleCI is a CI/CD platform that lets teams build and deliver software quickly and at scale. They make delivering great software simple in both the cloud and on your own infrastructure.
New integrations can be added to CircleCI via orbs, which are fundamentally small libraries one can use to create complex CircleCI workflows with ease. Instana has released the Instana Pipeline Feedback Orb that allows you to create a Pipeline Feedback release in just two lines of YAML.
Instana Pipeline Feedback
The most critical times for your production are related to changing conditions, like spikes in load or deploying entirely new software or new versions of software already in production. Pipeline Feedback eliminates one of the biggest sources of deployment anxiety: the fear of dealing with unexpected problems after an application or service deployment. It does this by providing end-to-end visibility of each release and the impact on application health. For example, without the context of when a release happened, it’s hard to understand if a latency spike is an underlying problem or an effect from a deployment process.
Let’s make this concrete using the figure below with a single Release Marker (the rocket ship) in the Releases swim lane. A release is the moment in time of when a change occurred to the application or services. A Release Marker is the named chart indicator for when the change completed and becomes available to their users. Because the time window is wide in time there are two overlapping release markers on the chart that occurred five minutes apart: release-A#848 and releases-B-#848. As you see, the release marker makes a visual comparison of release to release behavior easy. With Pipeline Feedback, users of Instana can easily visualize, identify and correlate issues that may occur due to releases.
Pipeline Feedback is used by a lot of customers who asked for a way to scope the markers so it is easy to find the markers they are interested in. Pipeline Feedback Scoping is a recent enhancement so markers are scoped to appear on the most interesting dashboard(s). The first and simplest approach is a global scope where the marker is spread across all the monitored dashboards. A service scope is an alternative where a release marker is shown on one or more specified service dashboards. The last approach is an application scope where a marker applies to an entire collection of services that make up the microservice application defined by an Application Perspective. You can find the scoping details in the blog post “Increased Agility with Pipeline Feedback Scoping.” Another blog post shows how to use applications scoping for: cross cutting services, communicating platform updates within an organization, or managing a multi-geography or zone release deployment.
The Instana Pipeline Feedback Orb
According to CircleCI :
“[An orb is] a reusable package of YAML configuration that condenses repeated pieces of config into a single line of code.”
When you find an Orb that does what you need, and there are really tons of them readily available from both CircleCI as well as 3rd parties like Instana, integration tasks like creating a GitHub release or indeed creating a release for Instana Pipeline Feedback is a breeze. For example, the following sample CircleCI workflow shows a mocked workflow that will build software and, before starting deploying it on the infrastructure, will reach out to Instana to create a release:
A sample CircleCI workflow that creates an Instana Pipeline Feedback release before starting the deployment of a new release on the infrastructure. In green you see the snippets that are actually related to the Instana Pipeline Feedback orb.
That is, creating a release via the Pipeline Feedback orb is as easy as:
- Configure the INSTANA_ENDPOINT_URL and INSTANA_API_TOKEN environment variables in your CircleCI project, either setting them on the project or in a context when you want to use the Instana Pipeline Feedback orb across multiple CircleCI projects
- Import the instana/pipeline-feedback orb in your workflow
- Execute the pipeline-feedback/create_release step in a job
And that’s it! Every time the workflow runs, a new release will be created in Instana. And, of course, all options that are available for scoping releases to your Application Perspectives and to Services in Instana are readily available via the Pipeline Feedback orb.
Behind the scenes of creating a CircleCI Orb
By the very nature of the Observability trade, having the best data must be paired with making something useful with it. At Instana, we invest a lot of resources in integrating with someone else’s software. And of all the Software Development Kits and their Developer User Experiences, we find CircleCI’s Orb Development Kit to be one of the very best we have had the pleasure to work with. One of our product managers went with the Pipeline Feedback Orb from zero to feature-complete, including documentation and build automation, which comes almost entirely out of the box, in just under two hours.
One of the most impressive things, that we started to port to builds of other artifacts at Instana, is the notion of Semantic Versioning Tags in Git commit messages: by adding [semver:major] before your Git commit subject (i.e., the first line of your commit message), the build process coming out-of-the-box with Orb Development Kit will automatically process to publish a new release in the Orb Marketplace. And since the publication is contingent on integration tests passing, you can fire-and-forget new Orb releases by making a git push. It’s awesome!
With the Instana Pipeline Feedback Orb, Instana will automatically detect issues and identify the root cause of problems in your applications. Because Instana understands the relationships of every dependency and marks every change coming from CircleCI pipelines, users can quickly see the impact, both positive and negative, of every deployment.
To get started optimizing your CircleCI CI/CD pipelines today, sign up for a free trial of Instana and follow the brief configuration steps highlighted above.