A huge sense of accomplishment
I was able to guarantee that our service (which is at the bottom of the attack of our infrastructure) doesn’t take upper of the stack dependencies.
Everything in our company infrastructure requires our service to operate. It means that our service cannot depend on anything else. We didn’t have a practical way to tell whether it’s true.
Given its importance, I decided to find a way. I teamed up with another team in our company that was working on a framework to test service dependencies. The idea behind the framework — create an environment where only an allowed list of dependencies is available. Start a service under test and check that it’s operable in these conditions.
It was a perfect framework to test my service requirements. The allowed list is empty in our case. I created a relationship with this team, learned about the framework, helped the team to integrate the framework into our continuous delivery pipeline, wrote tests using the framework to check the operability of all of our APIs, identified several dependencies that should be removed and leveraged one of our engineers to make it happen.
After finishing all this work, we enabled the tests in our continuous delivery pipeline.
Now, we won’t ship a build to production which will affect the stability of our infrastructure. We will know about any regression so we can perform fixes proactively.