How does ReleaseHub work when you're working with a lot of microservices? I find the challenge isn't necessarily with monoliths, but our microservice-happy architecture design puts a lot of strain on devops, environment reliability, development, etc.
Hi, I built out our microservices solution and you read more about it in the Microservices Architecture documentation [1]. There is also a walk through of setting up two applications with this approach in the documentation [2].
At a high level, the way ReleaseHub solves this issue is through a feature we call App Imports. Each App would be microservice and there would be one application that imports all the others. For the sake of simplicity let's have two microservices, Frontend and Backend. Frontend would import Backend and when a deployment goes out, ReleaseHub would deploy Backend first, followed by Frontend. Both deployments end up in the same Kubernetes namespace so the pods can talk to each other directly.
This setup allows for creating the dependencies needed to run the services. If you wanted to set up Backend to only deploy itself and say run integration tests against it, you don't have to connect it to any other services. But Frontend may be useless without Backend, so hooking them together is a requirement.
True. You can't remove the complexity, you just move it to another layer. This is great... until the thing isn't working, then you have to debug on a whole different layer, in a completely different kind of way.
"Always remember to write down the steps taken to get the container working."
Hahaha, I want to highlight this, underscore it, and blow it up. Seriously. Writing down your debugging steps is crucial but it's not the first thing you think to do and you kick yourself later for not doing it.
I've noticed a push to "delete staging." The idea is to push everything to prod and QA there with Feature Flags. It's a rat-nest of a solution to the problem of managing environments. Feature flags are perfect for some problems, but other times it's just shoving a square peg into a round hole. Like sure, we can walk to the store, it's cheap and easy. But in the long run, you probably should invest in a car.