At ThoughtWorks we pride ourselves in learning from our mistakes. To make this easier, we’ve made some big ones!
This talk will tell the stories of 3 different real projects which have transformed not only the way we work, but large portions of our industry as well.
In the first story, we learned the hard way about the importance of deploying to a production like environment as often as possible. We were proud of our development practices, but had not learned yet about the importance of the “last mile”. The learnings from this project (and others) became the book “Continuous Delivery”.
In the second story, we learned a lot from a project which was widely considered a success. In this project we were able to regularly release to production, but not as efficiently as we would have liked. The software was a fairly large monolith and could only be deployed as a single large package. This project taught us a lot about loosely coupled architectures and led to much of our work in Microservices and related technologies.
The third story isn’t over yet, and will be most of the talk. We’re building a highly distributed application handling 10 million transactions a day. To do this we’ve had to take a hard look at everything from how services communicate, to how we test such a complicated application, to the design of the pipeline itself.
At the end of the talk people should have a much better understanding of the real world issues that led to Continuous Delivery and DevOps, as well as the importance of learning from both failure and success. They will also see real world examples of how their own distributed applications can be deployed and tested.