Testing

Service dependencies can complicate testing and generally require a more formal effort describing the service communication interfaces.

It can be difficult to recreate environments in a consistent way when you have multiple services evolving at a different rate. Whatever we deploy in to a staging environment will not exactly reflect what’s in production. Setting up that many instances for the staging environment may not be worth the return. We can perform integration tests using mocks, service stubs, and consumer-driven contracts. A tool called Pact can be useful (https://github.com/realestate-com-au/pact).

A release should not end with the deployment of the service update. Testing in production is generally the way to go, and by placing more emphasis on monitoring we can detect anomalies and issues very quickly and roll back. Development teams should invest in automation and use strategies like blue-green deployments, canaries, dark canaries, A/B testing, and feature flags. This requires advanced DevOps; automation, and monitoring.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.233.43