Table of Contents
# Observability-Driven Development (ODD)
There has been a lot of talk around Observability-Driven Development (ODD) over the past couple of years. I would encourage you to read Charity Majors’ work, including ‘[Observability: A Manifesto](https://www.honeycomb.io/blog/observability-a-manifesto/)’. Adherents to observability-driven development focus on ensuring that the code produced is observable and instrumented. Charity Majors includes a paragraph in the manifesto that highlights this:
**Do you bake observability right into your code as you’re writing it? The best engineers do a form of “observability-driven-development” — they understand their software as they write it, include instrumentation when they ship it, then check it regularly to make sure it looks as expected. You can’t just tack this on after the fact, “when it’s done”.**
We know of no better way to do observability-driven development than to utilize Trace-Based Testing as a core part of your development process. Basing the tests you write on the observability signals you incorporate into your code ensures an observable system.
While trace-based testing is at the core of Tracetest, we believe that the entire workflow around building an observable microservice-based architecture is not being solved by current tools. Trace-based Testing relies on an observable system; so, our tool, Tracetest, would only be doing part of the job if we focus just on testing and not on increasing the observability of the code.
# Develop and Test Your Distributed System with OpenTelemetry
Tracetest is excited to announce the version 0.7 release of Tracetest. The planning for this release occurred while having a [team meeting in Cartagena](https://kubeshop.io/blog/tracetest-roadmap-planning-in-person-in-cartagena) in early August, and we have been busy designing, coding, and adding tests since returning to our respective homes. This release is being driven by our new ‘tagline’ or ‘mission statement’ for the tool that we decided on during the onsite gathering and was alluded to above: *Develop and test your distributed system with OpenTelemetry.*
So… we mixed a lot of buzz words into the first few paragraphs of this post. Interestingly, ‘Observability’,‘Observability-Driven Development’ and ‘OpenTelemetry’ are all in [Gartner’s list of 25 emerging technologies](https://www.gartner.com/en/newsroom/press-releases/2022-08-10-gartner-identifies-key-emerging-technologies-expanding-immersive-experiences-accelerating-ai-automation-and-optimizing-technologist-delivery) to watch published just last month in August of 2022. This release is focused on making the buzz and hype a reality. We want Tracetest to empower Observability-Driven Development (ODD).
# Version 0.7 - Enabling Observability-Driven Development and Improving Installation
We focused this release around two major areas: workflow and ease of installation.
Our first focus was enabling the workflow of an engineer building or adding to a new microservice with observability baked in. We divided this process into three steps, which we are calling internally the “Triple T” - Trigger, Trace, and Test. First, an engineer needs a way to trigger his code to take an action and needs to see the response from that trigger. Second, the engineer needs to see observability signals emitted from his code, i.e., the OpenTelemetry trace, and be able to inspect the spans and attributes contained within it as they are developing. Finally, the engineer needs to be able to construct tests to verify proper operation and prevent future regressions. We added a toolbar across the top that changes the view to support each of these three activities: Trigger, Trace, and Test, and optimized each screen to support the given task.
For the second major focus of the 0.7 release, we want Tracetest to be an easy tool to install. There are quite a few permutations for a Tracetest install. Docker or Kubernetes? Bring your own OTel datastore (which one?), or use ours. Use the OpenTelemetry Collector, or not. And, would you like a demo microservice app installed? We want Tracetest to be an easy and convenient tool for a developer to ‘grab’ when they need Observability-based Development, and we do not want the deployment choices to overwhelm you or require advanced knowledge in OpenTelemetry, networking, Docker, and Kubernetes. This is why we invested time and energy in making our Tracetest command line tool perform the installation process for us. It guides the user through the process, asking questions to help set up the environment exactly how you specify. For Linux and Mac users, the install process is just two lines:
`curl -L https://raw.githubusercontent.com/kubeshop/tracetest/main/install-cli.sh | bash`
`tracetest server install`
We will be working over the next couple weeks to improve the installation process for Windows users.
# How You Can Help!
This release makes Tracetest much easier to install and use in your daily life. We believe we are well on the way to our goal of helping you *develop and test your distributed system with OpenTelemetry*. We need your feedback to complete the goal. Try our [easy download](https://tracetest.io/), then create some tests. Any issues can [be raised in Github](https://github.com/kubeshop/tracetest/issues), and you can communicate directly with the team in [Discord](https://discord.com/channels/884464549347074049/963470167327772703). Open source projects such as Tracetest depend on the input and support of the community and we need YOUR involvement! If you like our direction and what you are seeing from Tracetest - give us a star on [Github](https://github.com/kubeshop/tracetest).
p.s. We will be in Detroit at Kubecon (Oct 24th-28th) - stop by our booth if you are there! We have a few extra tickets for virtual attendance that we are giving away. All we would ask for in trade is a bit of time… we would like to have you try Tracetest, get on a call, and let us hear your experience. Reach out to me at [email@example.com](mailto:firstname.lastname@example.org) if you are interested!