John Burns - Grubhub: From Platform to Portal, Enhancing DevEx
Jul 31, 2024
auto_awesome
Join John Burns as he shares insights on transforming Grubhub’s platform from monolithic systems to a microservices architecture. Discover the creation of an internal developer portal designed to enhance developer autonomy and streamline operations. Explore the significance of aligning organizational culture with technology choices, the evolution of tech communities, and the balance between compliance and innovation. Plus, dive into the impact of AI and automation on development processes, emphasizing the importance of adaptability in team dynamics.
59:04
AI Summary
AI Chapters
Episode notes
auto_awesome
Podcast summary created with Snipd AI
Quick takeaways
John Burns discusses Grubhub's transition from outdated monoliths to a scalable microservices platform driven by cloud technology.
The establishment of an internal developer portal at Grubhub, serving as a 'single pane of glass,' streamlines access to essential tools and resources.
Community involvement and feedback from developers are critical for creating platforms that enhance autonomy and adaptability in development workflows.
Deep dives
The Evolution of Platform Engineering at Grubhub
Platform engineering at Grubhub evolved significantly over the years, starting from a merger that necessitated modernization efforts driven by cloud technology and microservices. Initially operating with outdated monoliths, the team recognized the need for a scalable microservices platform to facilitate efficient service management. Early challenges included building custom tools to support their infrastructure, as popular open-source options like Docker were still emerging at the time. This approach laid the groundwork for creating a robust platform capable of supporting over 200 microservices while prioritizing a seamless developer experience.
Prioritizing Developer Experience through Community Engagement
John Burns emphasizes the importance of understanding developers' needs through active involvement in tech communities and open-source projects. His work as a co-organizer of the Chicago Kotlin User Group has provided insights into best practices and diverse perspectives from other developers. This commitment to community has influenced Grubhub's approach to platform engineering, ensuring that the platform accommodates the preferences and workflows of its users. By designing tools that prioritize developer autonomy, they can foster a collaborative environment that ultimately enhances productivity.
Balancing Standardization and Flexibility
Creating a microservices platform involves a delicate balance between standardization and flexibility to accommodate diverse developer needs. Grubhub's platform team adopted the concept of a 'golden path,' establishing a preferred workflow while allowing teams the freedom to diverge when necessary. This mentality ensures that while there is a clear direction for using the platform, developers are not restricted by overly rigid rules. Moreover, it reinforces the idea that the platform must evolve to address the changing demands of its developers without encapsulating them in a 'walled garden.'
Building a Comprehensive Internal Developer Portal
The team recognized the need for a centralized hub, called an internal developer portal (IDP), which consolidates various platform tools and resources. This step was taken after years of successfully building foundational components like API gateways and CI/CD pipelines. The IDP's primary role is to create a 'single pane of glass' for developers, enabling them to access services without being overwhelmed by numerous tools. Important features include automated compliance tracking and a dynamic scorecard system, which enhance visibility into developers' progress toward modernization goals while promoting accountability.
Challenges in Platform Adoption and Continuous Improvement
As the developer landscape evolves, Burn's team continually seeks strategies to enhance productivity while addressing the challenges faced by developers in adapting to new tools and practices. Efforts to improve compliance, performance, and technology compatibility are crucial as they allow developers to spend less time managing technical debt. Tools like Open Rewrite have emerged as effective solutions to simplify time-intensive processes, enabling developers to meet modernization goals without significant overhead. Ongoing renegotiation of expectations and timelines ensures that platform enhancements remain relevant and beneficial to development teams.
In this episode, we’re meeting with John Burns, Sr Staff Software Engineer at Grubhub and Co-organizer of the Chicago Kotlin User Group. With extensive experience in building scaled enterprise and eCommerce platforms, John specializes in microservice platform engineering and is a passionate advocate for superior developer experiences. In this episode, we'll explore John's journey from constructing robust platforms to developing an essential tool for developers: the internal developer portal.
This session is a deep dive into the creation of platforms as a service that are both scalable and generic, followed by the strategic development of an internal developer portal, conceptualized as a "single pane of glass" to simplify and enhance the developer experience. We will discuss the importance of these tools and practices within large enterprises, focusing on how they facilitate better service management, developer autonomy, and streamlined operations.
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.