kashinoki38 blog

something like tech blog

Google Anthos Dayにいってきた 2020-01-30

これも超絶今更なのだが、Google Anthos Dayに2020-01-30に行ってきたのでメモ。
inthecloud.withgoogle.com

なぜ、今クラウドネイティブな開発アプローチが必要なのか?

株式会社JR東日本情報システム 那珂 真広 氏、湯川 博道 氏

  • 開発、構築を最適化したい+スケーラブルにしたい→コンテナ化
  • パブリックとオンプレミスのハイブリッド運用を目指したい→Anthos採用
  • 可用性→GCPやオンプレのHAで可用性を高める
  • スケーラブル→GKE
  • 開発パイプライン最適化→GitLabをオンプレ上に構築、GCRで配布
  • 構築最適化→各クラスターの設定値をコード化しGitLabに保管し、各クラスターの構成をAnthosConfigManagement(ACM)で集中管理

Google Cloud 北瀬 公彦、佐藤 聖規

  • Anthosのもたらす価値
    • 新しいサービスを迅速にリリースするための
      • 高速なリリースサイクル
      • 容易な変更
    • ビジネスの拡大のために
      • 優れた拡張性
      • 容易なメンテナンス
      • 高い可用性
  • 特徴
    • Modernize anywhere: オンプレでもクラウドでもモダナイゼーション
    • ポータビリティとロックイン回避
    • 一貫したDeveloperEx
    • セキュリティガードレール
    • ??

『Deep-dive into Anthos on GCP

Google Cloud 篠原 一徳

  • Anthosとは?
    • OSSをベースにしたアプリケーションのモダナイゼーションのためのプラットフォーム
      • GKEをGCPに加え、オンプレ、他社クラウドでも利用できる他、サービスメッシュ、サーバレスなどモダナイゼーションに有用な機能が提供される
    • Anrhosのコアコンポーネント
      • サーバレス:Cloud Run for Anthos
        • Knativeをベースにしたサーバレスコンポーネント
          • シンプルにコンテナを使える(Kubeのymlをがんばって書くのが大変な場合向け)
          • 構成単位
            • Service
            • Revision
            • Container Instance
      • サービスメッシュ:ASM
        • Istio互換だが、Data PlaneとControl Planeは分離され、Google管理となる
      • ポリシー管理:ACM
        • クラスタにはConfig Management Operatorがいる。
        • 運用者はポリシーをGit repoにコミットするだけで、Config Management Operatorが定期的に確認し、変更があった場合、当該変更をクラスタに反映する。
        • Gitで管理すべきコードは3種類。全て別のGitレポジトリで管理することが推奨。
          • アプリケーションコード → e.g. Cloud Build → ContainerRegistry
          • k8sのワークロードのマニフェスト → e.g. argo (Anthos GKEの構成部品、OSSのCDツール、自動sync) → ( deployment | service )
          • k8sクラスタ自体のマニフェスト → e.g. ACM ( Namespace | rolebinding | quota )
      • クラスタ管理:GKE Hub
      • コンテナ管理:GKE
    • 価値
      • App Modenization
      • Operation Consistency
    • ライセンスモデル(サブスクではなく買い切り)
      • Anthos Hybrid
      • Anthos on GCP

Kubernetes と推し進める、モダンなソフトウェア開発ライフサイクル』

Google Cloud 塚越 啓介、頼兼 孝幸

  • なぜモダナイズするのか
    • Time to Market改善
      • コンテナ化だけではアジリティ/フレキシビリティは大きく変わらない
  • 改善4つ

    • アジャイルやフレキシビリティに適した開発サイクル
      • 計測することが重要
    • 自動化
    • 組織とアーキテクチャのデカップリング
      • アーキだけじゃなく組織を分割していく必要がある
        • コンウェイの法則
          • システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう
        • コンウェイ戦略
      • Stragler Pattern
        • 徐々にレガシーからマイクロを切り出していく
      • Anti-corruption layer Patter
        • 腐敗防止層
        • レガシー依存を回避するためにレガシーとマイクロの間に層を挟む
    • 運用の改善
      • エラーバジェットが大事
        • 100% - <可用性の目標>
        • エラーバジェットを使い継続的な改善を行う
  • 開発ライフサイクル

    • 設計
      • GCP活用し、管理コストを削減
        • マネージドコンテナ基盤
          • GKE、Cloud Run、Cloud Run for Anthos