Moving from a monolith to a distributed monolith - a cautionary tale on adopting microservices
YOW! CTO Summit 2018 Melbourne
This talk is a case study of our architectural evolution over the last 2 years.
Our start-up had licensed a customised warehouse management system in order to demonstrate our innovative new business model. The WMS had a traditional 3-tier architecture based on Java and SQL server, and was lightning fast with most of the business logic encapuslated in stored procedures.
Out our start-up we needed to be able to "test and learn" - ie rapidly develop and deploy new features and test them in the market with our customers. Based on the feedback we would identify tweaks to the business model, and fine-tune the functionality that our customers wanted.
We had a launch date 5 months in future, a need to scale rapidly, growing the team from 2 devs to 20 within 8 weeks. And we needed to be able to work in parallel on multiple features. Whilst ensuring that the application was secure, performant, and reliable.
The answer, according to a bunch of experts, was to adopt microservices.
Three years later, we have a suite of secure, scalable, and resilient applications running in AWS. We deploy to Production multiple times a day, and our MTTR is less than 30 minutes.
And we have Services. Some of them are "micro".
But reflecting on what we learned in that period, there are a lot of things that we wished we had done differently.
In this talk I'll walk you through the evolution of our architecture, explain some of the choices, and highlight what we learned, and discuss what we would do differently if faced with the same decisions today.
This case study talks about the last 9 months of our start-up where we went from “no team, and limited functionality” – to launching a successful and thriving business backed by completely custom trading platform and fulfilment engine.
Director of Engineering
I am Director of Engineering at REA Group with over 20 years experience working in IT, having worked in several start-ups and consultancies before long stints at MYOB, SEEK and exchange.
I am passionate about building high performing teams in order to deliver great business outcomes. Having experienced several "death march" mega-projects, I was convinced that there had to be a better way of delivering software, based on valuing team members as individuals. Agile and Lean were a natural fit, and I have spent the last 15 years driving Agile transformations within companies.
I have been fortunate to have worked with a range of experts from across the Agile, Lean, and Kanban communities, and love the challenge of adapting what I have learned to each new business situation.