レートリミット アーキテクチャ ワーキンググループ

レートリミット アーキテクチャ ワーキンググループの属性、目標、役割と責任について詳しくはこちら。

属性

プロパティ
作成日2022-04-27
目標終了日2022-12-09
Slack#wg_rate_limit_architecture(社内からのみアクセス可能)
Google Docアジェンダ(https://docs.google.com/document/d/1nv8hDLqZS16yTa4M3FtdMQNOFM4dt4OXBGCPvp-FHbM/edit#)(社内からのみアクセス可能)

概要

レートリミット アーキテクチャ WG は 2022年4月〜12月に活動しました。FY23-Q1 に、さまざまな機能にレートリミットが欠如していることに起因するサイトインシデントが定期的に発生しました。私たちは DevOps プラットフォーム全体でのレートリミット に対してエンジニアリングアロケーションを開始し、各 DevOps ステージのレートリミット監査を実施しました。また、より明確なレートリミット関連のガイダンスを提供するために開発ドキュメントとガイドラインを更新し、70 以上のレートリミット Issue をクローズしました。これにより信頼性が向上し、レートリミット関連のサイトインシデント件数が大幅に減少しました。

エンジニアリングアロケーションに続いて、レートリミットの将来に向けたビジョンを確立するためにこのワーキンググループを発足しました。グループはこのビジョンを記録した レートリミット アーキテクチャ ブループリント を開発しました。グループはまた、この機能を長期的に誰の GitLab ステージグループが所有するかを特定するために協力しました。これは アプリケーションパフォーマンス グループへのレートリミット フレームワークの追加によって文書化されました。このブループリントは、アーキテクチャ進化ワークフロープロセスの一環として定期的に継続してレビューされます。

ワーキンググループが完了基準を達成したため、グループを解散することを決定しました。

背景

FY23-Q1 には、レートおよびアプリケーション制限を通じたサービス拒否(DoS)ベクターの特定と対処に焦点を当てた DevOps プラットフォーム全体でのレートリミット のエンジニアリングアロケーションを優先しました。その取り組みはこれまでのところ 70 以上の DoS 関連 Issue に対処することに成功しています。

高可用性を確保するための DoS ベクター対処に加えて、以下の目標があります:

  • 制限に関する一貫した監視とアラート
  • 制限の一貫した包括的なドキュメント
  • GitLab.com の制限設定と GitLab のデフォルト制限の同期

現在、GitLab アプリケーション制限開発ドキュメント には複数のレートリミット実装アプローチが文書化されています。

完了基準

このワーキンググループは以下の目標を掲げています:

  1. GitLab 内でアプリケーションレートリミットを実装するための推奨手法を開発する
  2. この推奨事項を アーキテクチャ進化ブループリント で GitLab 開発者向けに文書化する
  3. 短期、中期、長期のレートリミット改善のためのイテレーティブなプロジェクト計画を文書化する
  4. この作業への資金提供の組織的アプローチを決定する(例: 新規チーム、借受、SIG、ファンアウトなど)

役割と責任

ワーキンググループの役割担当者役職
エグゼクティブスポンサーChristopher LefelhoczVP of Development
ファシリテーターSam GoldsteinDirector Engineering, Ops
メンバーGrzegorz BizonPrincipal Engineer, Verify
メンバーFabio PitinoStaff Backend Engineer, Verify
メンバーMarshall CottrellStrategy and Operations (Technical)
メンバーHayley SwimelarSenior Backend Engineer, Container Registry
メンバーQuang-Minh NguyenSenior Backend Engineer, Scalability
メンバーLiam McAndrewEngineering Manager, Scalability
メンバーMarkus KollerSenior Backend Engineer, Integrations
メンバーGrant HickmanSr Product Manager, Integrations
アーキテクチャ進化コーチAndrew NewdigateDistinguished Engineer, Infrastructure