コンテンツへ移動

← すべてのプロジェクト

2022 → 2024 SRE & DevOps

Authlete — 日本の銀行向けOAuth/OIDCのSRE

Authleteのデプロイメントを3つのデリバリーモデル(オンプレミス、専有SaaS、共有SaaS)にわたって運用・産業化し、日本の銀行クライアントに提供しました。

  • GCP
  • Kubernetes
  • Helm
  • Terraform
  • GitLab-CI
  • Java
  • JUnit
  • Ruby
  • OAuth 2.0
  • OpenID Connect

背景

Authleteは主に日本の銀行向けにOAuth 2.0およびOpenID Connect認証を提供しています。3つのデリバリーモデルが共存:オンプレミス(クライアント側でホスト)、専有SaaS(クライアント専用インスタンス)、共有SaaS。それぞれのモデルにセキュリティ、ネットワーク、コンプライアンス上の制約があります。

課題は、これら3モデルを単一のテンプレート基盤で産業化すること、クライアントが必要とする限りレガシーバージョンをサポート可能に保つこと、そして毎リリースでOAuth / OIDC準拠の基準を維持することでした。

担当した役割

SRE & DevOpsとして、デプロイメントテンプレート、マルチバージョン対応のCI/CDパイプライン、GCP上のSaaS運用を所管しました。

構築したもの

  • GCP上のSaaSデプロイメントを日々運用
  • KubernetesテンプレートをHelm + Terraformで設計、クラウド非依存にすることで大きなコード分岐なしでオンプレミスクライアントにも提供可能に
  • GitLab-CIパイプライン:サービスの全レガシーバージョンを並列でビルド・テスト可能に。銀行クライアントに一夜での移行を求めることはできないため
  • JavaのJUnitテストスイート:ユニット + 統合
  • Rubyテストスイート:エンドツーエンド + 性能
  • OAuth 2.0 / OpenID Connect準拠テストをパイプラインに統合。仕様から逸脱した認証サービスはもはや認証サービスではないため
  • 「開発者が修正をプッシュしてから」「その修正がクライアント環境のSaaSで動くまで」の時間を大幅に短縮

最も難しかった点:マトリクス(デリバリーモデル × サポート対象バージョン × ターゲットクラウド)を、管理不能な構成負債に変えずに維持すること。

成果

開発生産性が大幅に向上:変更が手動QAサイクルを待つことなく、自動テストチェーンを通過するようになりました。同じテンプレートベースがSaaSとオンプレミス両方を支え、SREチームの認知負荷が下がりました。