Presentation: Chaos: The Last Stand Against Our Robot Overlords
Abstract
As the complexity and criticality of our software systems is rapidly increasing; our ability and available methodologies to ensure their determinism and correctness are often nascent or sometimes even non-existent. We see the effects of this paradox as we advance the role and responsibility of software in society. Often the evidence is observed in service outages, security breaches, financial market "flash crashes", and now the ever shortening length of time between the development and eventual production of autonomous vehicles.
The pursuit of automating aspects of our lives is often stifled simply by chaos: i.e. our best laid plans coming in contact with the unexpected. An essential element of working with the chaos present in every system is to first be able to effectively characterize it. Chaos Engineering and chaos experiments on the complex data, interfaces, and algorithms used in autonomous vehicles should be a minimum requirement in validating operational safety. Taking it a step further, Chaos Engineering could be the beginning of bringing to Software Engineering the kind of determinism, predictability, and assurance we often take for granted everyday from disciplines like Structural, Mechanical, and Electrical Engineering. We need to begin to shift towards working with chaos instead of against it, in order to build safe, reliable, and increasingly deterministic complex systems. The change in how we engineer software for large-scale consumption is shifting from, "It might work, but I wouldn't bet my life on it." to, "I know this will work, I'd bet my life on it."
Similar Talks
Building Confidence in Healthcare Systems Through Chaos Engineering
Principal Engineer @Cerner