4 Side notes JAX London 2016
11th Oct – 11:30 to 12:20 Architectural Resiliency
-
Jeremy Deane has quite a lot of content on line about this subject.
-
Accumulating innovation debt:
“Innovation debt is the cost that companies incur when they don’t invest in their developers”
- Architecture & design ideas for resilience:
- Model for threads and failure. “What will we do if … ?”
- Monitor and measure the results to track what is the actual improvement or deterioration.
- Meantime to Failure MTTF
- Meantime to Recovery MTTR
- Meantime to Deploy MTTD
- Meantime between failures MTBF
- Measures do not need to be exact numbers. We are looking for reference points or tendencies.
- Model stateless & asynchronous micro-services
- Do not use distributed transactions
- Implement with CWhatontinuous Delivery
- Have owners for each micro-service.
- Do not blame but motivate people to be accountable for each micro-service.
- Keep the service up to date with continuous improvement. Apply Kanban principles.
- Keep all logging of all services and applications with the same standard format. It reduces time to analyse failures.
- Define recoverability behaviour for:
- Circuit breaker
- Throttle
- Negative testing scenarios
- Penetration testing
- Chaos testing: Simian Army
- Document system external dependencies
- Practice disaster recovery scenarios (get in shape)
- Implement test harnesses like
- The thing to do more:
- For the security features follow the Open Web Application Security Project OWASP.
- It is paramount to “Validate inputs and standardized outputs”
- Micro-services with event sourcing and Command Query Responsibility Segregation CQRS is a much more resilience system.
- Follow the 12-factor method to build software-as-a-service apps.
- If you are in the middle of taking a big decision about going or not to implement micro-service architecture, it would help to read this good article. Manage opportunity costs instead of risks
- Overall, to succeed working in a micro-services architecture it is required a Blameless culture in the terms of Etsy’s Winning Secret: Don’t Play The Blame Game!
That was all for this session. I hope it helps, please leave a comment if you would like to add something.
Posted by Marc Andreu Fernandez