In his best-selling book Patterns of Enterprise Application Architecture, Martin Fowler famously coined the first law of distributed computing—"Don’t distribute your objects"—implying that working with this style of architecture can be challenging. A few years ago, Barclays embarked on a journey to migrate its legacy services with the objective of achieving a high level of scale, resilience, and reliability, mainly employing an ecosystem of focused, distributed services. It’s fair to say that the company has discovered through firsthand experience that there’s quite a bit of truth to that statement.
Prem Chandrasekaran provides an insider scoop on Barclays’s journey deploying services to a private cloud-based infrastructure making use of foundational patterns such as domain-driven design, event-driven architecture (EDA), command query responsibility segregation (CQRS), and event sourcing, among others. Prem recounts some of the challenges faced during the transformation and sheds light on the things that worked well and those that didn’t.
- How to establish buy-in with senior stakeholders and management
- How to recruit, onboard, and train new team members
- How to establish the boundaries of your teams and services
- How to focus on the right amount and kinds of tests in your pipelines
- How to ensure database and API compatibility
- How to centralize and externalize secrets and configuration
- How to diagnose and pinpoint issues in unattended, asynchronous processes
- How to decide between blue-green and rolling deployments
- How to work with private and public cloud implementations
This session was recorded at the 2019 O'Reilly Software Architecture Conference in New York.
- Title: Distributed event-driven services: From the trenches
- Release date: October 2019
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 0636920337782
You might also like
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …
Distributed Systems in One Lesson
Simple tasks like running a program or storing and retrieving data become much more complicated when …
Dominated by streaming data and events, the next generation of software development optimizes not only how …