米Yahoo!、自社で利用している継続的デリバリのためのツール「Screwdriver」をオープンソースで公開。大規模インフラに対応
米Yahooは、同社の社内で開発され利用されてきた継続的デリバリのためのツール「Screwdriver」をオープンソースで公開しました。
継続的デリバリとは、おおまかに言えばプログラマがコードを変更すると自動的にビルドされ、テストが実行され、問題がなければ本番環境へのデプロイが行われることで、つねに最新のリリースを迅速にユーザーへデリバリできるというものです。いわゆるDevOpsを実現する代表的な手法です。
これを実現するためには、ソースコード管理システムでソースコードがコミットされると自動的にビルドシステムが走り、ビルドの結果を自動テストにかけて、テスト結果によりデプロイが行われるなど、一連のツールが自動的に連係して動作するシステムが必要となります。
今回公開された「Screwdriver」は、この一連の自動化を実現するためのツールです。GitHubやBitbucketなどのソースコード管理ツールに対応し、しかもYahoo!が持つ大規模かつダイナミックなインフラへのデプロイに対応しています。
Screwdriverの主な特徴は、ツールを連携させる一連のパイプラインの作成が容易で、ブランチを切って開発するトランク開発(Trunk development)に適しており、デプロイのロールバックが容易だという点です。
Yahoo!社内では1日に2万5000以上のビルドを処理
Screwdriverは米Yahoo!の継続的デリバリを担う存在であり、大規模なコミットやビルドを日々処理していると、次のように説明されています。
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.
これまで5年以上、ScrewdriverはYahooにおいて順調に成長を続けてきており、現在の社内ではScrewdriverは継続的デリバリの同義語になっています。
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.
Screwdriverは1日に2万500以上のビルドを処理し、Yahooにおける単一の共有エンドポイントとして毎日1万2000回ものGitコミットを行っています。複数の言語をサポートし、仮想マシンとコンテナベースのどちらでもビルドとデプロイを実現します。
今後数カ月で、オープンソース版のScrewdriverをYahoo!社内版の機能に合わせるべく、再利用のためのビルドデータの保存、メトリクスの収集機能、迅速な立ち上げのためのテンプレートの提供、ログ分析機能などを追加していくとのことです。
あわせて読みたい
Google、Twitterのモバイル開発プラットフォーム「Fabric」を買収、モバイルバックエンドサービスの「Firebase」に統合。Firebaseのクラッシュ解析機能など強化へ
≪前の記事
オラクルがSPARC/Solarisのロードマップをひっそりとアップデート。今年、SPARC nextとSolaris 11.nextが登場か