Google Cloud Anthos Day 参加レポート

こんにちは。サーバーサイドエンジニアの内村、岡本、阿部、佐藤です。

はじめに

今回のCREATORS BLOGでは、去る1月30日に開催されたGoogle Cloud Anthos Dayに参加した4人が、個々に印象に残ったセッションについてご紹介します。

Google Cloud Anthos Dayとは

Google Cloud Anthos Dayは、Kubetnetesやコンテナ、GKE、Anthosを活用している企業がその活用事例を紹介する、Google Cloud Japanが開催するカンファレンスです。今年はベルサール渋谷ファーストで開催されました。

inthecloud.withgoogle.com

弊社ではKubernetesを導入していますが、実際に活用している企業の事例を踏まえ、サービスの更なるブラッシュアップにつなげられたらと思い参加しました。

全体的な所感

全体的な所感としては、Kubernetesの導入事例にエコシステムの導入も含めた話が多く、コンテナ基盤の本番運用が増えてきていると実感させられました。

また、今回のテーマである『Anthos』についてはAnthos Config Managementの導入が先行している印象で、他のサービスについてはまだまだ導入事例は少ないように思えました。

今後マルチクラウド化の歩みと同時にAnthosの利用も拡大させて行こうというGoogleの気概を感じました。

個々に印象に残ったセッション

ここからは、参加した4人それぞれが印象に残ったセッションついてレポートします。

『マルチクラスタで GKE を最大限活用するドラゴンクエストウォーク事例』

再生基盤の開発を担当している内村です。 ドラゴンクエストウォークのセッションですが、40分とは思えないほど内容の濃い発表でした。その中でも印象的だったのは下記内容です。

  • Gitブランチを作成すると、自動的に新規Develop環境が作られるようになっていて、インフラエンジニアの手を介す必要がない。
  • マルチクラスタにすることによって、デプロイ時間が短縮できる。
  • Kubernetesのオートスケールでも、急激な負荷上昇では間に合わない。(発表では、ゲームイベント前などに手動でスケールアップしているそうです。)
  • モニタリングにVictoria Metricsを使用して、Prometheusのデータを集約

マルチクラスタの運用によるモニタリング・ネットワークの構成など注意点や苦労した点がよくわかる内容だったのでマルチクラスタを検討する際にはとても参考になる内容だと思います。

『Deep-dive into Anthos on GCP』

仙台オフィスの阿部です。主にMIRAILでサーバーサイドを担当しています。

今回の参加は、本発表を聞くことが主目的でした。
というのも、Google Cloud Next '19でAnthosが発表されてから、私の中では「Anthos=オンプレ向けのサービス」という位置づけであり、普段クラウド環境を利用する弊社にとってはどこか疎遠なサービスかなと感じていました。しかし、本発表のサマリからクラウド環境でもAnthosを利用できると知り、そのユースケースについて知りたいと思ったからでした。

まずはAnthosのコアコンポーネントについてです。


サーバーレス      Cloud Run for Anthos
サービスメッシュ    Anthos Service Mesh
ポリシー管理      Anthos Config Management
クラスタ管理      GKE Hub
コンテナ管理      Anthos GKE, Anthos GKE on VMWare, Anthos on (他社クラウド)


その中でも、普段はCloud FunctionsやGAEを利用していることから、同じサーバーレスであるCloud Run for Anthosに注目しました。 以下がフルマネージドとの違いです。

Cloud Run Cloud Run for Anthos
課金 Pay fo use Anthos license
変更可能な
マシンスペック
Memory Memory, CPU, GPU, networking
URLs and SSL Automatic HTTPS URL Manual SSL Certificate
サービスへの
アクセス制御
Invoker IAM Role External or Internal
VPCへのアクセス No Yes

マシンスペックが可変であることと、VPCアクセス可能になったことの恩恵が大きそうに感じます。しかしCloud Run for Anthosを利用するかどうかはライセンス料とのトレードオフになりそうです。 具体的なライセンス料については発表されず、現在はセールスチームへの問い合わせで詳細を知ることができます。

本セッションを拝聴し、Anthosについての知見を深められたと思います。機会があれば、是非利用してみたいと感じたセッションとなりました。

『Istio を利用したモダンなマイクロサービスシステムの実現』

岡本です。

Kubernetesは、マイクロサービスの運用で動的なオーケストレーションを実現していますが、マイクロサービス化が進むに連れ、サービスメッシュは増大し、複雑さが増したとも言えます。

実際、登壇者の方も「ブルーグリーンデプロイの複雑性」を課題に挙げられていました。

その問題を解決するのが、Istioです。Istioはマイクロサービスをセキュアにマネジメントする事ができ、デプロイとリリースのタイミングをスムーズに切り替えられる事が魅力です。また、マイクロサービスでは、ストレージが分散してしまうと言う課題がありますが、Istioの導入はそれを容易にします。

では、Istioが一体どういうものなのか簡単に説明します。以下の図がIstioのアーキテクチャです。

f:id:okamoto_taisuke:20200212114822p:plain

Istioを使用する環境では、サービス間で通信は行わず、Envoyと呼ばれるプロキシがマイクロサービス間の通信を仲介しています。Istioは、このEnvoyを操作する事で、

  • トラフィック制御
  • セキュリティ
  • テレメトリ/ポリシーの管理
  • Observability (可観測性)

と言った各種機能を提供します。

Envoyは、アプリケーション層レベルでのルーティングを行う為、メソッドやパスに応じてトラフィックの送信先を変更可能です。このEnvoyを管理するソフトウェアがIstioであり、コントロールプレーンと呼ばれています。今回の課題の場合、Istioを使用し柔軟なトラフィック制御を可能にする事でブルーグリーンデプロイの課題を解決できます。

発表ではIstio以外にも、Kialiを用いる事でKuberntesが抱えるObservablityの課題の解決や、KongでのAPIの統合で管理/実装コストの削減も大きな印象を受けました。

この発表を通じ、Istioの活用は今後のマイクロサービスを運用していく上で非常に有益であると感じました。マイクロサービスを運用していく上で、私は「Observability」が最も重要であると考えています。この観点にIstioは大きく貢献し、且つこの事から「サービスメッシュ」の重要性は明らかなのではないでしょうか。

私もまだまだ知見が不足していますが、これから理解を深めていこうと思います。

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

仙台オフィスの佐藤です。 私は「Kubernetes と推し進める モダンなソフトウェア開発 ライフサイクル」について感想を述べたいと思います。開発サイクルのアジリティ(敏捷性)やフレキシビリティ(柔軟性)はコンテナ化だけでは変わらないとし、

  1. 適した開発プロセス
  2. 全て自動化
  3. システムや組織のデカップリング
  4. 運用の改善

が必要であるとのことです。

特にデカップリングの話では、

コンウェイの法則=「システムを設計する組織は、その構造をそっくりまねた構造の設計を生み出してしまう」

という法則を例にあげ、逆コンウェイ=望ましいアーキテクチャ設計のように、組織を進化させることを推奨しており、頷かされました。

今回のAnthos Dayは具体的な開発・運用事例が多く実践的な話が聞けるとても貴重な機会でした カンファレンスを通してKubernetesを導入しているプロダクトが増えてきていると実感させられました

さいごに

先進的な技術の発表や他社事例を聞くことができ、たくさんの刺激を受けたと共に大変有意義な1日となりました。

基調講演においては、Kubernetes利用企業の変化として、

2018年・・・ゲーム、サービス事業者一部の先進的な企業
2019年・・・あらゆる業界の先進的な企業

と挙げており、

2020年・・・あらゆる業界のあらゆる企業

と予見していました。Kubernetesがサービス開発のスタンダードとしてより一層広まっていきそうです。