About the Presentation
Resilience testing in modernization projects
Session Speech
Based on my experience, when companies are migrating their existing architecture into microservice one, from testing point of view functional requirements are usually there and from non-functional side focus is mostly on performance metrics defined for an old architecture. If we’re lucky we also have some new performance metrics defined with other non-functional aspect usually ignored.
Resilience requirements are often left to be dealt just before going live, by a separate team or a few experienced individuals with little to no time left for improvement if something suspicious is noticed.
In this presentation, I would like to share our experience with tackling some of the challenges, while working with a large corporation (payment domain, where stable environment is crucial to business success as even a small error can lead to great penalties), that selected our company as a partner in modernization.
I will present concepts and questions that each delivery team needs to ask as early as possible, preferably in design phase, to be able to have resilient service from a get go:
- How to test service discovery (on-prem vs cloud)
- How to test logs (coverage and usefulness)
- How to test service and business flow resilience aspects:
- Retry and timeout logic
- Failover and grace period logic
- Connection pool config
- What specific scenarios should be included:
- Dropped connection, Garbled response
- Random data, Empty responses, Unexpected or missing fields
- Large payloads, Special characters…
- How to learn quickly about an unknown complex system:
- Mocks and proxies
- Service Mesh