How would you implement chaos engineering principles to validate the resilience of a critical microservice?