Microservices promise rapid evolution, operational independence, and technological freedom but come with imperceptible drag factors. Left unchecked, this drag leads to distributed balls of mud – hard to operate, evolve and maintain.
Teams develop all manner of tools and practices to try to circumnavigate these issues, but maybe the problem is more fundamental. Perhaps microservices and agile are colluding to remove the bigger picture thinking and design work necessary for systems to grow stably and continue to drive business value. To avoid falling foul of Lehman’s Laws of Software Evolution we need to be deliberate in designing the bits between services.
This talk looks at coupling, how it affects distributed systems and organisation design and the techniques and technology that can help make your microservices architecture effective. We’ll cover topics such as Domain Driven Design, data contracts, interaction patterns (focusing on orchestration and choreography), and how serverless services can support us in our ambition to deliver autonomy, operational stability, innovation and increased velocity for teams.
VP, Web Architecture @GenesisGlobalX
Ian's background is in Computer Science with a detour into UX and design. He has worked in client services businesses and in-house across various software engineering, architecture and strategy roles. He currently works as a technology leader for Genesis Global, a low-code platform that enables financial market organisations to innovate at speed. Before Genesis, Ian spent 8 years working for Sky Bet and PokerStars as part of the Flutter family of online gaming brands. He has been involved in many high-profile product launches, most recently the re-platforming of PokerStars Sports, which included a completely new, multi-channel customer experience.
Ian is interested in combining technology with user experience design, focusing on languages, platforms and tools to build products that customers interact with directly. However, Ian is also a big fan of reactive, event-driven systems and spent 18 months building a trading data ingestion pipeline using Kotlin, Kafka Streams and Kubernetes for PokerStars Sports.