embracing the imposter
TRANSCRIPT
- 1. Embracing the Imposter
- 2. [email protected]
- 3. Over 60M active users
- 4. Over 60M active usersOver 30M songs
- 5. Over 60M active usersOver 30M songs 58 markets
- 6. SAD STORY TO START WITH
- 7. WE ARE DOING MICROSERVICES FOR YEARS
- 8. Microservices 101
- 9. Monolith
- 10. MicroservicesMonolith
- 11. Multiple datacenters Thousands of servers Hundreds of services
- 12. Distributed System
- 13. Distributed System AKA complicated
- 14. Distributed System No reproducibility
- 15. Distributed System No failure cases for tests
- 16. LEGACY x2 FUN
- 17. HARDWARE x10 FUN at scale FAILURES
- 18. Actually
- 19. Test Double
- 20. IMPOSTER
- 21. Imposter
- 22. Imposter Fail miserably
- 23. Imposter Fail miserably Here you go!
- 24. Imposter Here you go! Fail in 10 seconds
- 25. Imposter Cat videos Here you go!
- 26. Actually
- 27. Send A, B and C At rate X For Y time
- 28. Send A, B and C At rate X For Y time
- 29. Send A, B and C At rate X For Y time Load Injector
- 30. Send A, B and C At rate X For Y time Load Injector
- 31. Some More Steps
- 32. Add functions like: Drop packets Add hooks to service discovery
- 33. Add functions like: Drop packets Add pseudo-random delays
- 34. Add functions like: Drop packets Add pseudo-random payload
- 35. Add functions like: Drop packets [your function here]
- 36. Ways to use
- 37. Legacy dependency!
- 38. Look Ma! No legacy!
- 39. Fault injection
- 40. Crazy neighbour
- 41. Crazy neighbour Broken hardware
- 42. Crazy neighbour Broken hardware Cat on a keyboard
- 43. Crazy neighbour Broken hardware Cat on a keyboard nuke your DC
- 44. future plans
- 45. SUT Production
- 46. SUT ProductionImposter
- 47. Configuration Madness
- 48. Imposter, but for client side
- 49. distributed systems are complicated extremely
- 50. its still possible to improve testability
- 51. takes effort to do it
- 52. [email protected]