We've seen so many teams struggle with maintaining their development and testing environments because of having to manage not only their own needs, but any dependencies of their downstreams.
Your API backend started using a new queue, or calling a new backend? Good luck keeping up with all those changes. Most teams give up.
Encapsulation tackles this dependency spaghetti problem at the root. With Namespace, dependencies are self-contained: they declare how they are built, deployed, and initialized, and what other dependencies they require.
From this whole system definition, Namespace is then capable of orchestrating any environment, whether it's a development environment, a testing environment or production.
Have existing dependencies that can't follow this model? No worries: moving to the encapsulation world can be done incrementally.
Check out our guide for a deep-dive on Namespace resources.