Focus on the Code, Not the Preview Workarounds
Before: Lowered Developer Productivity
Sluggish inner dev loops or separate, low-fidelity, high-maintenance environments for developers to use.
After: Rapid Work in a Shared Environment
Fine-grained Layer 7 routing to preview changes to your services locally while sharing a single development cluster.
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
Duplicating your microservice on your local machine introduces new issues.
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
Duplicating development clusters for each developer has its downsides.
Each developer must maintain their own cluster or namespace
Requires more cloud resources
Microservices are not synchronized with up-to-date versions
CASE STUDY: PTC’s Vuforia team accelerated its development workflow with Ambassador Edge Stack’s Service Preview functionality.
What is Service Preview? How Does It work?
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.
Isolated Coding Loops
Preview your changes and how they impact your cluster without affecting others.
High Fidelity Dev Environment
Test your code changes against a realistic, up-to-date version of your staging environment.
Eliminate the need to create and maintain duplicated environments for each developer.
Slash costs associated with the additional local and cloud resources needed to host duplicated environments.
No need to limit or adjust your inner dev cycles as your application grows and becomes more complex.