In our “Engineering Energizers” Q&A series, we highlight the engineering minds driving innovation across Salesforce. Today, we feature Jillian Wilmarth, Director of the Heroku Platform Engineering Organization. Jillian led her team in a groundbreaking effort to rebuild the entire platform infrastructure on Kubernetes, a significant move for the company that pioneered Platform-as-a-Service.
Discover how her team tackled the daunting task of maintaining three different runtime generations at once, navigated the intricate technical challenges of transitioning from proprietary technologies to open source standards, and addressed the operational complexities introduced by legacy systems.
What is your team’s mission building the next generation of Heroku on Kubernetes, and how does this represent the evolution from Heroku’s original pioneering architecture?
Our team is driven by a core mission to eliminate infrastructure complexity for our customers, enabling them to focus entirely on their applications rather than the underlying systems. We achieve this by delivering a fully managed and highly available platform that abstracts away the operational overhead, ensuring a seamless and efficient development experience.
The next generation of Heroku represents a fundamental architectural transformation. While Heroku pioneered Platform-as-a-Service and initially relied on custom technologies and bespoke interfaces, the landscape has evolved significantly since its inception. An entire ecosystem of cloud-native technologies, such as Kubernetes, has emerged, offering opportunities that were previously out of reach with our closed-source approach. By embracing these modern frameworks, we can provide our customers with much greater flexibility and benefit from the continuous innovation driven by the community.
This strategic shift not only positions Heroku to stand the test of time but also ensures that the platform can evolve alongside the broader ecosystem of technologies. This long-term vision guarantees the platform’s viability and competitive edge, allowing us to deliver cutting-edge capabilities that meet the ever-changing needs of our customers.

A sample Heroku developer workflow on Fir.
What legacy infrastructure constraints and architectural bottlenecks forced Heroku to rebuild their platform on Kubernetes?
The original Heroku architecture imposed significant limitations when implementing modern networking capabilities that our customers required. Introducing technologies like IPv6 into networks that traditionally used IPv4 presented substantial risks, as we couldn’t predict how customers relied on existing networking assumptions in their code and workflows. Rather than retrofitting these capabilities into legacy systems, we made a strategic decision to implement them natively in the next generation platform.
This approach ensures customers can access key capabilities:
- IPv6 Networking Support: Enabling broader connectivity and future-proofing applications.
- ARM Processors: Delivering better price-to-performance ratios for more cost-effective and efficient computing.
- Expanded Dyno Sizing Options: Offering greater flexibility to scale applications according to specific needs.
- AWS Transit Gateway Integration: Facilitating seamless and secure network connectivity across multiple AWS accounts and VPCs.
The architectural bottlenecks went beyond networking. The bespoke interfaces and custom technologies that initially drove Heroku’s innovation became barriers to integrating with third-party vendors and modern protocols. Customers needed their applications to work seamlessly with external services, but the closed-source approach made these integrations complex and limited. The next generation platform addresses these constraints by adopting industry standards like OCI specifications, OpenTelemetry, and cloud-native buildpacks, ensuring natural integration with the broader technology ecosystem. This allows our customers to leverage the latest tools and services without the limitations of proprietary systems.
Jillian shares what keeps her at Salesforce.
What technical trade-offs and control compromises did migrating from proprietary infrastructure to Kubernetes require?
One of the most significant trade-offs in our transition was giving up the complete control that our custom technology provided. With bespoke solutions, we had the freedom to shape every aspect of the platform’s behavior, implementing our vision without external limitations. However, adopting Kubernetes meant ceding some of this control to the established ecosystem. This shift required a new approach to platform functions and demanded creative problem-solving to align industry standards with Heroku’s unique requirements, rather than building custom solutions for each technical challenge.
We realized that building a platform for the long term meant embracing these conventions instead of constantly reinventing the wheel. By adopting established standards, we tap into the continuous improvements and innovations from the broader Cloud Native Community. This not only accelerates feature development but also delivers more robust solutions. Our engineers can now focus on adding platform-specific value rather than rebuilding fundamental infrastructure components, leading to a more efficient and forward-looking platform.
Jillian highlights the power of AI coding tools.
What was the most complex technical challenge developing the next generation while maintaining three different runtime generations simultaneously?
Managing three entirely different runtime architectures simultaneously introduced unprecedented operational complexity. The operational burden was particularly challenging because each runtime generation required unique procedures and specialized knowledge. Tasks that worked for one generation often couldn’t be applied to the others, creating a vast surface area of platform-specific expertise that engineers had to maintain. This complexity led to significant bottlenecks when addressing issues or implementing new features, as solutions often needed to be developed multiple times for different runtime environments.
To streamline operations and enhance efficiency, we made the strategic decision to consolidate onto the Kubernetes-based platform as the single optimal runtime. This consolidation will eliminate the need for engineers to understand and manage three different operational models, troubleshooting approaches, and deployment procedures. By providing a unified foundation, the next generation platform will support all future development efforts, reducing complexity and allowing our team to focus on delivering innovative and robust solutions.
What technical challenges did transitioning from building custom solutions to leveraging industry-standard technologies and open source communities present?
The transition required a fundamental shift in our engineering approach to platform development and problem-solving. Moving from complete custom control to community-standard technologies meant adapting to external conventions and established patterns, rather than creating bespoke solutions for every requirement. This shift demanded significant changes in our technical decision-making processes. Instead of building custom interfaces and implementations, we had to find creative ways to align industry standards with Heroku’s specific platform needs. This often meant compromising on perfect solutions in favor of approaches that leverage community innovations and best practices.
However, the transition revealed substantial benefits that justified the adaptation challenges:
- Better third-party vendor integration capabilities
- Modern protocol support
- Access to continuous open source innovations
The community aspect proved particularly valuable for accelerating development velocity. Rather than reinventing fundamental capabilities, we can now leverage the innovations and improvements developed by the broader open source ecosystem. This approach allows us to focus our engineering resources on adding platform-specific value, rather than rebuilding infrastructure components that the community maintains more effectively.

Fir was built upon the developer experience that our customers know and love, while adopting modern infrastructure and open standards.
Learn more
- Stay connected — join our Talent Community!
- Check out our Technology and Product teams to learn how you can get involved.