Setting Microservices Up for Success: Real-World Advice
Aug 1, 2024
auto_awesome
Sarah Wells, a seasoned tech consultant with over 20 years of experience, shares her insights on microservices success. She details her time at the Financial Times, where they scaled from 12 to over 20,000 software releases by embracing automation and team autonomy. Wells emphasizes the need for effective communication and flexible architectural roles, advocating for 'engineering enablement' over rigid platform teams. Discover how organizational structures impact microservices adoption and the importance of fostering collaboration in tech teams.
The Financial Times improved its software release speed dramatically by consolidating IT organizations and embracing a continuous delivery model.
Engineering enablement teams significantly reduced cognitive load on developers, allowing them to focus more on feature delivery and innovation.
Deep dives
Organizational Transformation at the Financial Times
The Financial Times underwent significant organizational changes to enhance the pace of technological development. Initially, the company operated with two separate technology organizations, which were eventually consolidated to streamline processes. Recognizing the need for faster feature releases, the leadership shifted their focus towards enabling rapid experimentation and development. This was achieved by reducing the time required to provision servers from six months to a mere fifteen minutes, marking a pivotal step towards implementing continuous delivery.
Balancing Autonomy and Control
The rollout of autonomous, cross-functional teams at the Financial Times led to increased freedom in technology choices, allowing teams to select tools that best fit their needs. However, this autonomy also posed challenges, such as the complexity of managing diverse technologies and ensuring security. The leadership navigated these challenges by finding a balance between offering teams the freedom to innovate while maintaining some level of control and standardization. This approach ensured that teams could work efficiently while keeping the overall infrastructure secure and manageable.
Removing Process Bottlenecks for Continuous Deployment
The shift to a continuous delivery model involved eliminating bureaucratic processes that hindered timely software releases, such as change advisory boards. By fostering a culture that embraced quicker deployments, the Financial Times allowed smaller changes to be deployed frequently, limiting the risk associated with updates. Developers were encouraged to assess the impact of their changes and prioritize feature deployment based on the organization's news schedule. This resulted in a more agile environment where teams could respond rapidly to feedback and market demands.
Importance of Engineering Enablement Teams
Engineering enablement teams played a crucial role in supporting independent development teams by providing tools, services, and best practices. Their focus was on reducing cognitive load for engineering teams, enabling them to concentrate on delivering features rather than grappling with foundational infrastructure. These teams worked on creating standardized services and documenting essential practices to ensure consistency across the organization. By doing so, they managed to improve quality and security while empowering teams to innovate freely.
Maintaining and ensuring the success of a microservice-based system can be challenging. Sarah Wells, a seasoned tech consultant with over 20 years of experience, offers valuable insights in her book "Enabling Microservices Success" and a discussion on The New Stack Makers podcast. Drawing from her tenure at the Financial Times (FT), Wells illustrates how transitioning to microservices and adopting DevOps and SRE practices enabled FT to accelerate software releases from 12 annually to over 20,000.
This transformation required merging IT organizations, investing in automation, and fostering team autonomy. Wells emphasizes that successful microservices adoption depends not only on developer expertise but also on organizational structures. She highlights the importance of continuous delivery and proactive communication, especially during critical periods like major news events. Additionally, she discusses the evolving roles of senior engineers and the need for flexibility in defining architectural responsibilities. Wells advocates for "engineering enablement" over "platform teams" to better support effective service management and evolution.
Learn more from The New Stack about enabling successful outcomes of microservices: