Advertisment

Yahoo Open Sources Screwdriver to Enable Continuous Delivery

Yahoo has announced the open sourcing of Screwdriver.cd, a new streamlined build system designed to enable continuous delivery (CD) to production at scale for dynamic infrastructure, improving product quality and engineering agility.

author-image
Rajkumar Maurya
New Update
screwdriver

Yahoo has announced the open sourcing of Screwdriver.cd, a new streamlined build system designed to enable continuous delivery (CD) to production at scale for dynamic infrastructure, improving product quality and engineering agility.

Advertisment

Continuous Delivery enables software development teams to move faster and adapt to users’ needs quicker by reducing the inherent friction associated with releasing software changes. Yahoo’s engineering has modernized as it has embraced Continuous Delivery as a strategy for improving product quality and engineering agility. All our active products deliver from commit to production with full automation and this has greatly improved Yahoo’s ability to deliver products.

Part of what enabled Yahoo to make Continuous Delivery at scale a reality was our improved build and release tooling. Now, we are open sourcing an adaptation of our code as Screwdriver.cd. Some of the key design features of Screwdriver have helped Yahoo achieve Continuous Delivery at scale. At a high level these are:

  • Making deployment pipelines easy
  • Optimizing for trunk development
  • Making rolling back easy
Advertisment

 Easy deployment pipelines: Deployment pipelines that continuously test, integrate, and deploy code to production greatly reduce the risk of errors and reduce the time to get feedback to developers. The challenge for many groups had been that pipelines were cumbersome to setup and maintain. We designed a solution that made pipelines easy to configure and completely self-service for any developer. By managing the pipeline configuration in the code repository Screwdriver allows developers to configure pipelines in a manner familiar to them, and as a bonus, to easily code review pipeline changes too.

Trunk development: It use a modified GitHub flow for their workflows. Pull Requests (PRs) are the entry point for running tests and ensuring code that entered the repository has been sufficiently tested. Insisting on formal PRs also improves the quality of our code reviews.

Easy rollbacks: To allow for easy code rollbacks, it allow phases of the pipeline to be re-run at a previously-saved state. The successful growth of Screwdriver over the past 5 years at Yahoo has today led to Screwdriver being synonymous with Continuous Delivery within the company. Screwdriver handles over 25,000+ builds per day and 12,000+ daily git commits as a single shared entrypoint for Yahoo. It supports multiple languages and handles both virtual machine and container-based builds and deployment.

yahoo screwdriver
Advertisment

Stay connected with us through our social media channels for the latest updates and news!

Follow us: