Our motto is “Observability for all!”.
This has multiple meanings. We provide observability products for all the phases of the software development life cycle from development to post production. And we believe that observability is a basic need so we provide our products and services forever for free up to a pretty generous level of usage.
New year’s time is one of the best opportunities for us to sit back and chat with each other about how the year passed by, how well we achieved our goals, what we missed, and what we can do to be better in the upcoming year.
Being a young startup, we jumped out of our comfort zone and gave a start to 2021 with a pivot in our plans. We have added 2 completely new products then our flagship product - APM - during this year.
At the beginning of 2021, we only had our APM product and today we proudly offer 3 products to our customers and to the esteemed developer community.
Let’s take a brief look at all three products and take a closer look at all the new features, improvements, and milestones in Thundra’s life in 2021!
1. Thundra APM
When Thundra spun off from OpsGenie in September 2018, our one and only product was the one which we named “APM” now and named Thundra at that time.
Thundra APM is an application performance monitoring tool for serverless and containerized applications that helps to understand your distributed applications' behavior end-to-end, ensure application health, performance, and cost-effectiveness.
This year, one of the useful use cases of Thundra APM for the community was the ease of migration it brings.
Thundra APM A large amount of the serverless community used Thundra APM to migrate their Spring Boot applications to AWS Lambda. Since it might be a stressful, time-consuming, and daunting process we presented a solution in our article for that for the community.
Moreover, one of our customers wrote their own story of migration with the help of Thundra as a guest blog post.
1.1. AWS Lambda Debugger
Thundra’s “AWS Lambda Debugger'' is a debugger specific for Lambda functions. It makes it possible to put breakpoints in your IDE to your Lambda functions and debug them just like in your local environment.
This year, AWS Lambda Debugger has made a tremendous impact in the developer communities. It has a self-hosted version that attracts developers with high security concerns.
For more information, we explain the step-by-step integration of Thundra AWS Lambda Debugger for VSCode in this blog post.
2. Thundra Sidekick
In 2021, we created a groundbreaking tool that provides debugging applications running on remote serverless like AWS, GCP, Azure, etc. without even stopping the application. You can put breakpoints that do not stop the application execution. We call them tracepoints because they capture the trace of your application at that point in time.
Let's take a look at how it works:
- Instrument your applications
To gather information during execution, you need to install Thundra Sidekick to your application.
- Import your source code
The next step is to bring your source code to Thundra Sidekick so that you can set tracepoints. Thundra Sidekick is integrated with GitHub, and GitLab to retrieve your code in any branch or any commit.
- Set tracepoints
For those of you unfamiliar with Thundra, we use the term “tracepoint” to refer to a non-breaking breakpoint integrated with Thundra's distributed tracing technology.
- Take the snapshot
When the code execution hits the tracepoint, Thundra Sidekick takes a snapshot of variables and the call stack without stopping the code execution.
Log management and aggregation, distributed tracing, monitoring, or debugging tools help, but they are not enough on their own to track down and solve many of the most difficult problems. Thundra Sidekick combines auto instrumentation, auto distributed tracing, remote debugging, and hotfix resolution, giving software teams the ability to collaborate while developing and debugging remote microservice applications.
In this webinar, we explained what remote debugging is, why it is necessary, how it can be done right, and how Sidekick helps to collaborate with your colleagues during troubleshooting an application.
3. Thundra Foresight
In simplest words, Foresight is a CI monitoring and test debugging tool. This means Foresight has 2 major capabilities. And in direct relation to that, it has 2 ways of integration to your stack.
We created Foresight with the feedback and requests that we got from our customers. We’ve been asked by many developers from many companies at every scale about monitoring support for CI workflows, jobs, builds, and tests.
CI Monitoring module
You can monitor all of your CI workflows in one dashboard at the same time. This is pretty handy for our customers.
Thundra Foresight’s “CI Workflow monitoring” module is platform-agnostic! You can monitor your CI pipelines in any runtime or any framework. It doesn't require any configurations. All you have to do is authorize Foresight to your CI/CD account. You can watch this 2-minute video and read more about it in this article.
Test Monitoring module
After you start monitoring your CI workflows, you would want to dive a little deeper into the details of test failures in your pipelines. We’ve come up with the “Test monitoring” module for this need.
Foresight’s “Test Monitoring'' module instruments your tests in your desired pipeline. Auto integration requires just a small update in your YAML file.
You can read more about the Test Monitoring module from this article.
Why Foresight is Extraordinary
Some of the humongous vendors provide -only some- part of what Foresight is capable of doing for troubleshooting and debugging your tests. But we are pretty confident that no other product in the market provides this deep level of observability for your tests. Below are the two technologies that enable you to understand your test error route causes or test latency root causes to the tiniest detail.
Distributed tracing for tests:
If you are dealing with errors in complex microservices end-to-end or integration tests, then you should have a bird’ eye view to see the root cause. Foresight combines all the test requests with the rich distributed tracing so that you can see requests with all the other actions that your application does end-to-end.
Time-travel debugging for tests:
When you see a failed test and you don’t know why it might have failed, what is your first thought or emotion? You either have a guess about it or you want to skip it or ignore it.
Foresight gives you a superpower that makes it possible to travel back in time to previous states of your application when testing by getting a snapshot of when each line is executed. You can step over each line of the code and track the values of the variables at each test run.
During this year, we prepared a lot of plugins and integrations with many well-known CI/CD platforms for Thundra Foresight. We collaborate with the market leaders, innovate with them, and support joint customers along with the developer community.
We started supporting open source projects with the inception of Foresight. While talking to open source project owners, we noticed the need for a badge that our users would showcase their confidence in how well their project is tested in their GitHub repositories.
So we created 3 types of badges. The first badge is the Tests Badge which displays the results of your latest test run in your build.
The second badge is the Test Utilization Score Badge. It strips your test performance from before-all, before-each, after-each, and after-all durations from the total test run duration, and calculates how your test code performs.
The third badge is the Successful Tests Badge. This badge can be so-called to impress and convince your contributors.
This year, most of our customers wanted to cover their test monitoring from UI to the backend without leaving Foresight. Their pain was having to reproduce the change/error/etc in their code in the UI to be able to make sure of the effects of the change.
We created the screenshots feature to enable our customers to save time from manually reproducing the unexpected state of the code and checking the current state of the UI again and again. Instead of that Foresight takes the UI screenshots and brings them to the users’ dashboard.
You can read more about the screenshot feature from this article.
Local Test Debugging
We heard this a lot this year: “It’s such a pain relief to develop local test environments. But on the other hand, there is still a need for debugging failed tests without getting lost within the logs of our complex architectures.”
Therefore, we made a partnership with LocalStack and started serving developers who are accustomed to developing and debugging in local.
Foresight allows you to debug on your local development machine or in your Continuous Integration (CI) pipeline. It helps to understand the root causes of failing & long-running tests easily and quickly. It gives rich insights about the passed, failed, aborted tests of the test runs of the test suites.
Some Other Updates
We sponsored a great virtual event this year called TestJS Summit 2021. We’ve given a lightning talk and we made a workshop about live debugging for an end-to-end test.
It was so thrilling to see a huge interest from the QA engineers and developers after the workshop!
Open Source Support
After creating Foresight to complete the observability gap for pre-production environments, we decided to give full support for open-source projects. Foresight is and will continue to be forever FREE for open-source projects.
We added Foresight into several open-source projects to showcase how it works as a demo or playground environment. You can go ahead and explore the build process and the tests run for these open source projects.
Being an AWS advanced technology partner, we didn’t break our tradition and continued to be a launch partner of new AWS Lambda feature launches such as the latest AWS Lambda Extensions and Graviton Based Lambda Functions.
Top Reads by Thundra
In 2021, we created tons of fresh content such as tutorials, use cases, best practices, and feature updates. Here are the top 5 posts from our blog:
- Debugging Microservice Applications with Thundra
- Be prepared for the worst with Chaos Testing Through Foresight
- How To Debug AWS Lambda Python Functions
- Remote Debugging and What It Means for Java Applications
- Migrating Spring Boot Applications to AWS Lambda with No Code Change
GET YOUR FREE ACCOUNT TODAY
Unlock visibility into the CI pipeline by spotting test failures in no time.Sign Up
Leaving behind a year full of progress and success, we are completely confident about what 2022 will bring. We’ll sail our ship to bigger successes with much more happy customers.
Before closing, we should heartily thank all of our teammates for their tireless efforts to take Thundra to the next level.
Lastly, if you still haven’t taken a step into the Thundra world yet, you can start your journey here.