Google は、世界中の何十億人ものユーザーと企業が最新の機能、セキュリティ アップデート、パフォーマンスの向上を享受できるように、毎月 Chrome の新しいバージョンをリリースしています。リリース サイクルが短縮されたことで、改善や問題の修正をこれまで以上に迅速に行えるようになりました。つまり、最新のアップデートをより頻繁に提供できるようになりました。
Chrome リリース チームのテクニカル プログラム マネージャーである Ben Henry、Krishna Govind、Harry Souders、Srinivas Sista、Brandon Heenan に、世界中の Google チームと連携して各リリースを円滑に進める方法について話を聞きました。
Q. チームでは Chrome の各リリースに向けてどのように準備していますか?
Ben: まず、チームは 2 つの主要な地域にまたがってフルタイムで働く 7 人で構成されています。リリースの準備は、電車の運行スケジュールのようなものです。Chrome のマイルストーン リリースの準備には、Canary、Dev、Beta、Stable の 4 つのリリース チャンネルを使用します。このプロセスが進むにつれて、各チャネルの Chrome ユーザー数は増加します。これにより、プロダクトの品質に関する問題をできるだけ早期に発見することを目的として、Chrome の安定性とパフォーマンスに関するフィードバックを得ることができます。Google は、ソーシャル メディア、報道記事、バグレポートでユーザーやデベロッパーが言及していることに細心の注意を払い、見落としがないようにしています。エンジニアとプロダクト マネージャーのチームは、このフィードバックを参考にして機能の改善を図ります。
その後、品質の問題を検出するために、複数回テストを行います。最初は継続的に実行される自動システムを使用し、次にバグを手動で検出するテストチームを使用します。
Q. 最良のバージョンをリリースするうえで役立った、外部デベロッパーからの最近のフィードバックの例を教えてください。
Srinivas: Google は、新しい API や iOS 版 Chrome の仕様変更など、機能のフィードバックと早期導入について、常にウェブ デベロッパーに頼っています。2 桁から 3 桁(99 から 100)への大きなマイルストーンは、ウェブ デベロッパーにガイドラインを共有し、実際の変更前にテストして、フィードバックを反映し、さらに重要なことに、サイトが機能しなくなることがないようにしました。これにより、M100 のロールアウトで大きな問題が発生することなく、変更を正常にロールアウトできました。
Q. Chrome アップデートのロールアウト中にバグやセキュリティの問題が見つかった場合はどうなりますか?
Krishna: Chrome の新しいリリースは、段階的にユーザーにリリースされます。新しいリリースは、すべてのユーザーにすぐにプッシュされるわけではありません。重大なバグが見つかった場合は、影響範囲を限定するために、該当するバージョンのロールアウトを停止します。その後、世界中の Chrome チームと連携して、できるだけ迅速かつ安全に修正を開発し、Chrome にパッチを適用します。この修正が確認されると、新しいバージョンの Chrome がビルドされ、ロールアウト プロセスが再開されます。結局のところ、ほとんどのユーザーはリリース前に問題が修正されるため、この問題に遭遇することはありません。セキュリティの問題については、Project Zero の開示に関するポリシーに沿って対応します。そのため、実際に脆弱性が悪用されている場合は、7 日以内に安定版チャネルのユーザーに修正をリリースすることを目標としています。
Q. Chrome のリリースが企業向けに適切なものになるように、追加の作業は行われますか?
Brandon: Google の最重要目標の 1 つは、Google を頼りにしている多くの企業にとって Chrome が引き続き安定した信頼できるプラットフォームであり続けることです。つまり、企業は従業員が利用することを望む最新の優れた機能にアクセスできる一方で、業務の中断を回避できます。ビジネスのニーズはそれぞれ異なり、ダウンタイムは企業に損害を与える可能性があるため、Chrome にはエンジニアリング チームとプロダクト チーム向けの具体的なガイダンスが設けられています。Google は、すべての Chrome リリースが「企業向け」であることを確認するために、各機能のリリースを審査しています。たとえば、Chrome Enterprise リリースノートで重要な変更について企業に事前にお知らせしています。さらに安心してご利用いただけるよう、IT 管理者はエンタープライズ ポリシーを使用して多くの変更を制御できます。そのため、内部テストを実施したり、新機能をオプトアウトしたりすることも可能です。予期しない問題を防ぐため、Google は企業環境をシミュレートするように設計された専用のテスト インフラストラクチャ(Active Directory ドメインに参加しているデバイスで Chrome を実行するなど)を用意し、すべての Chrome リリースのテストに使用しています。
Chrome には、学校や企業向けのさまざまな更新管理機能も用意されています。管理者は、Chrome の特定のバージョンを制御したり、古いバージョンにロールバックしたり、完全にサポートされているExtended Stable リリース チャンネルを利用したりできます。詳細については、こちらの技術ドキュメントをご覧ください。フリートの更新ステータスを完全に把握したい管理者は、Chrome ブラウザ クラウド管理に含まれるバージョン レポートを使用できます。
Q. 今後、チームで変更を検討している点はありますか?
Harry: Google では、ユーザーとデベロッパーのために Chrome を改善する方法を常に模索しています。特に、リリース サイクルの短縮に取り組んでいます。これにより、バグの修正が迅速になり、新機能がより安定した Chrome で提供されるようになります。また、エンジニアとプロダクト マネージャーは、機能開発の迅速化、イテレーション サイクルの短縮、コードの健全性の向上により、開発速度の向上を享受できます。プロダクト マネージャーがすべての Chrome ユーザーに機能をリリースしたいとします。機能が「完了」してから一般提供が開始されるまで、最長で 16 週間かかることがあります。リリース サイクルを数週間短縮するだけで、新機能のリリースまでのリードタイムを大幅に短縮できます。