The Shift to Microservices Alters the Inner Dev Loop
Inner Development Loop noun/ˈinər dəˈveləpmənt lo͞op/
The iterative process of writing, building and debugging code that a single developer performs before sharing the code, either publically or with their team.
Microservices enable developer autonomy and faster OUTER dev loops. Containers, which are used to implement microservice architectures, do the opposite for INNER loops. Containers
- Add Tax to Inner Dev Loop - The need to build and deploy a container wastes minutes each cycle, resulting in substantial reductions in developer productivity.
- Limit Coding Isolation - Multiple changes in multiple microservices by multiple developers cause chaos in a shared development environment.
Running Local Only Development Environments is Not Ideal
Time needed to build and maintain emulators for adjacent services
Requires developers to "each have a 64-core machines"
Difficult to maintain as applications grow in size and complexity
Replicating Cloud Environments is Expensive
Each developer must maintain their own cluster or namespace
Requires more cloud resources
Microservices are not synchronized with up-to-date versions
Learn how Voiceflow, the collaborative platform for building chat and voice assistants, sped up the development and debugging of microservices with Telepresence
Service Preview allows developers to test changes locally as if they are in the shared dev cluster without affecting the work of their peers and without lengthening the inner dev loop with container deployments.
How Service Preview Works
Service Preview routes traffic intelligently through a cluster allowing developers to route test traffic to their local machine for testing purposes. From the diagram above:
- Developers send individually identifiable traffic through the edge to a specific service
- Traffic routes live through the system before entering the microservice being developed (MS2)
- Instead of running the service in a remote cluster, traffic is routed through a proxy to the code on a local computer (MS2 Code)
- Traffic is routed back through live system
- Traffic egress at the edge
Developers can modify code, debug, and view results through any IDE and/or toolchain of their choice.
Advantages of Service Preview
Faster Inner Dev Loops
- Eliminate the need to deploy containers with each cycle.
- High Fidelity Dev Environment
Test your code changes against a realistic, up-to-date version of your staging environment.
- Lower Costs
Slash costs associated with the additional local and cloud resources needed to host duplicated environments.
Preview of changes
- Isolated Coding Loops
Preview your changes and how they impact your cluster without affecting others.
- Lower Maintenance
Eliminate the need to create and maintain duplicated environments for each developer.
No need to limit or adjust your inner dev cycles as your application grows and becomes more complex.
Take The Next Step
Book a call with a Kubernetes expert, request a demo, or schedule a call with our sales team