Developers often find themselves in a dilemma: how can they ensure their software runs well for the foreseeable future? The mantra "You Build It, You Run It" emerged as a natural answer. Having your development team manage the product throughout its lifecycle offers certain benefits, but it's not a one-size-fits-all solution. Fortunately, there are alternatives, such as Internal Developer Platforms, designed to reshape the way developers look at ownership. Are these two approaches in conflict, or are they part of a larger evolution in software development?
Popularized by Amazon, the "You Build It, You Run It" (YBIYRI) is an approach in which development teams take responsibility for the maintenance and operation of the software they build. YBIYRI aims to improve software quality, accelerate maintenance cycles, and enhance customer feedback loops.
The conventional approach was to divide responsibilities between developers and admins. Once developers finished coding, they would hand over the product to the admin team to run and maintain it.
With "You Build It, You Run It” approach gives development teams responsibility for the entire lifecycle of the software, including deployment and support. This eliminates the need for conventional handoff between development and operations teams.
YBIYRI is also closely aligned with DevOps principles, which improves efficiency and quality of the software by breaking down silos between development and operations. This leads to some benefits as well as tradeoffs.
Benefits of the “You Build It, You Run It” approach
Adopting the YBIYRI approach has a positive impact on the quality of software, incident resolution and on efficiency and on autonomy of your development team.
- Improved quality of software: Your development teams gain full visibility of the entire software. And since they are the ones who will run it, they will also be encouraged to build it in a way that is easy to maintain.
- Faster incident resolution and feedback: The team knows the ins and outs of their software and receives feedback from its users. With that knowledge, they are able to react to any problems faster and more efficiently.
- Autonomy: Thanks to the YBIYRI approach, development teams have more control over their work, which leads to more harmonized workflows and reduced friction between delivery and operations.
Tradeoffs of “You Build It, You Run It”
The biggest tradeoffs of the YBIYRI approach come from the need to create a cultural shift within your development teams and from challenging resource utilization.
- Cultural shift: This approach requires development teams to make changes in their mindset and workflow. They need to learn new skills, tooling and embrace new responsibilities, such as on-call support.
- Resource utilization: Maintenance tasks may involve using expensive engineering resources for, which can impact morale and motivation.
'You Build It, You Run It' and DevOps work in unison. DevOps aims to bridge the gap between development and operations by fostering collaboration and shared responsibility. "You Build It, You Run It" is a key principle in achieving this goal by ensuring that developers are invested in the entire lifecycle of the software, from development to operation.
An alternative to the YBIYRI approach is the Internal Developer Platform (IDP). It is an integrated set of tools and services that enable developers to manage the entire lifecycle of their product. IDPs help streamline development, deployment, and management processes, which in turn enhance productivity and innovation within your team.
IDPs incorporate elements of both YBIYRI and conventional approaches, as some responsibility for maintenance of the software returns to the admin team. An example of an IDP is Amazon Web Services (AWS): your developers build products and write code using the platform, while the platform itself is maintained by Amazon.
Benefits of using an Internal Developer Platform
When properly implemented, an IDP can improve efficiency, reduce time to market, and enhance the Developer Experience of your team.
- Improved efficiency and productivity: IDPs eliminate the need to build certain parts of the code, which simplifies the development process.
- Reduced time to market: With built-in automation and CI/CD pipelines, code changes can be implemented using consistent and reliable processes.
- Enhanced developer experience: IDPs bring together resources, documentation, APIs, and tools in a unified, self-service platform. This reduces context switching and improves developer satisfaction.
Benefits of transitioning from the YBIYRI approach to IDPs
In addition to the previously mentioned benefits, the transition from the YBIYRI to IDPs can improve the scalability of your software, as managing your projects under the "You Build It, You Run It" approach can become challenging as their complexity grows over time. IDPs address this increasing complexity by providing standardized tools and workflows, simplifying operations, and enabling efficient scaling.
Challenges of using an Internal Developer Platform
While Internal Developer Platforms offer significant benefits, they also come with notable challenges in terms of initial costs, integration within existing systems, security, and ongoing maintenance.
High complexity and initial investment: Building an IDP is a complex, resource-intensive effort. Developing a platform from scratch can take 18–24 months or more. The upfront costs—for infrastructure, engineering effort, and ongoing maintenance—can be substantial, even for large organizations.
Integration and adaptability: Integrating an IDP with your existing systems, especially legacy tools, can be difficult and expensive. The tools that lack modern APIs or are heavily customized can become the source of compatibility issues.
Governance and security: Implementing security policies, role-based access controls (RBAC), and network restrictions requires careful coordination. If not handled properly, these complexities can stall the project or compromise security.
Ongoing maintenance and ownership: An IDP requires ongoing investment. Without dedicated teams and clear ownership, platforms often suffer from a lack of updates, limited support, and declining developer engagement. Treating the IDP as a product is essential for long-term success.
Managed services is an engagement model in which the platform is custom-built and maintained by an external partner. While regular IDPs, like AWS, offer some degree of customization, platforms built within the managed services model are tailored specifically to each use case.
Benefits of transitioning to IDPs within a managed services model
At VirtusLab, as a part of our platform engineering services, we deliver custom internal development platforms along with the engineering teams responsible for running and maintaining them. In our experience, this approach offers additional benefits that enhance the efficiency, productivity, and scalability of your development processes.
Improved Developer Experience and productivity
The productivity and overall experience of your developers get a significant boost due to reduced cognitive load and enhanced autonomy.
- Reduced cognitive load: Your developers will be able to focus more on coding than on managing infrastructure, as your platform will be maintained by an external partner. This leads to a more streamlined development process.
- Enhanced autonomy: Self-service tools built into custom-designed IDPs allow developers to manage their infrastructure independently, reducing dependency on other teams and speeding up processes.
Increased efficiency and agility
Greater efficiency and agility are beneficial in the long run as they allow organizations to innovate and scale without being slowed down by operational challenges. Organizations are capable of building a more streamlined development cycle and speeding up their time to market.
- Streamlined development cycle: The introduction of automated processes and single-click provisioning saves time and resources, thus accelerating the build cycle.
- Faster time-to-market: By narrowing the area of their responsibility within the product, organizations can deliver new features and updates more rapidly.
- Efficiency: Your developers and engineers can focus their time on delivering value instead of learning new platform management tools or dealing with all aspects of platform security. Additionally, hiring an external partner to build and maintain your development platform removes the need to recruit dedicated specialists. It also eliminates the challenge of finding new projects for these specialists once the platform has been built.
Better collaboration and management
Custom-designed IDPs provide centralized tools, automation, and visibility which helps break down silos between different departments. This leads to better collaboration, stronger standardization, and better governance.
- Enhanced collaboration: Managed platforms facilitate better collaboration between developers, DevOps, and other teams by providing standardized environments and tools.
- Standardization and governance: Managed platforms enforce consistent security policies and governance models across all applications, ensuring compliance with regulatory requirements.
Scalability and reliability
Improved scalability and reliability allow businesses to run high-performance applications with minimal downtime and operational overhead.
- Improved scalability: Platforms can scale automatically based on demand, ensuring applications perform well under increased traffic.
- Enhanced reliability: Automated infrastructure management reduces downtime and improves overall system resilience.
By transitioning from "You Build It, You Run It" to IDPs, organizations can leverage the benefits of both worlds: maintaining high-quality software while optimizing operational efficiency and developer productivity.
However, the YBIYRI approach is a viable solution for smaller organizations with only a few developer teams that host software on production. For large and medium-sized businesses, we recommend transitioning to internal development platforms.
In some cases, we recommend a hybrid model, as only some of the responsibilities fall under a single platform. For example, if your application involves streaming services, your team may manage the streaming component with the YBIYRI approach while transitioning all the other aspects to the custom-designed IDP.
As a software consulting firm, we always assess the unique needs of our clients and determine the optimal solution for them. Depending on your specific case, we might recommend the YBIYRI approach, IDPs, or engaging in a managed service model.