クラウド同上

【Next’19 Tokyo レポート】Anthos/GKE On-Premで実現するハイブリッドクラウドアーキテクチャ

Author
tsk
Lv:6 Exp:1174

MLチームの新人エンジニアです

7/30~8/1に行われたGoogle Cloud Next ’19 Tokyoに参加してきました。
本イベントはGoogle Cloudに関する様々な発表、ハンズオンラボ、交流の場となっています。本記事は会場で数多く行われたセッションのレポート記事となります。

本記事で紹介するセッションは7/31に行われたNTT Communicationsさんの「Anthos/GKE On-Premで実現するハイブリッドクラウドアーキテクチャ」に関するレポートです。
少し気になっていたAnthosやハイブリッドクラウドというキーワードが気になり、拝聴してきました!

セッション情報

7/31 13:20~14:00@ザ・プリンスパークタワー東京
Speaker:篠原一徳(Google Cloud)、清水岳之(Google Cloud)、桑山純弥(NTT Communications)
発表動画→こちら

オンプレとクラウド移行

いままでのクラウドへの移行は既存アプリからクラウドへのリフトアップ(つまりまるまるの移行)がよくされていました。その一方で、アプリをよりクラウドに最適化したものとして活用するために、「オンプレのまま既存アプリをモダナイズしクラウドへ移行する」という流れが来ています。

Anthos

マルチクラウド環境のGoogle Kubernetes Engine(GKE)を管理するためにAnthosという管理プラットフォームをGoogleは提供しています。
image1

Anthosの特徴

  • 既存環境でのモダナイゼーション
  • ハイブリッド・マルチクラウド環境間の一貫性担保

Anthosの機能

  • クラスタ管理
  • サービス管理
  • ポリシー管理

をGCP, オンプレ, 他社クラウドそれぞれに提供しています。

クラウドとオンプレで一貫した開発、運用環境を提供する管理プラットフォームです。
そして本発表で重要なAnthosの管理対象となる、オンプレで動くGKE On-Premを紹介されました。

GKE On-prem

GKE On-premとはVMware環境上で直ちに稼働するプロダクショングレードのKubernetesであり、
– 最新のKubernetesへの用意なアップグレード
– GCPのコンテナエコシステムとの高い親和性(Cloud BuildやContainer Registryなど)

を可能とします。機密データなどをオンプレに残したまま、オンプレでGKE環境を使えるようになります。

Anthos Config Management

Anthos Config Managementはポリシーやセキュリティ設定をそれぞれのKubernetes環境に自動的に展開するAnthosの重要なコンポーネントです。
Policy as Code(PaC) (YMAL形式のファイル)を用いて、各種設定を定義します。

  • 設定をオンプレやクラウドのクラスタ間で同期
  • コンプライアンス・ポリシーを継続的に適用
  • セキュリティ・監査をPaCで

といった特徴を持っており、Kubernetesクラスタの集中一元管理を可能とします。

NTT communicationsでの事例

Speaker : 桑山純弥
ここでNTT comの桑山さんに事例紹介のバトンタッチがされました。
Kubernetesの導入からAnthos導入まで丁寧に発表が進みました。

Kubernetesの導入

マイクロサービスの採用

社内の開発サイクルを改善するために検討されていた事項として、
– サービスの継続
– 使う人が使いやすいようにライフサイクルを品質を担保しながらはやく回す

が挙げられました。
以上のようないわゆるDevOpsを導入するためマイクロサービスの導入を決定したようです。動作環境は自社のクラウドサービスだったようです。

しかし使うにつれて、マイクロサービス化による課題が浮上してきます。
各開発チームの差分や各プロセス間の利害調整がリリースライフサイクルの障害となり、いちいち開発担当や運用担当と会議しなければならないため、かなり面倒となりました。
image2

解決

  1. コンテナを中心とした共通基盤化
    GKEを中心としたコンピューティング基盤を使い、ソフトウェアエンジニアが共通して開発できる環境を導入しました。
    GCPマネージドサービスの積極的な利用も可能となります。
    開発・本番ごとの環境、namespaceによる分割がKubernetesを使う大きなメリットです。
  2. CI/CDを含むデプロイストラテジ
    テスト単体などではなく、CI/CD全体を通したデプロイパイプラインの構築し、人によるチェックの極小化を行いました。
    開発⇔テスト⇔デプロイ⇔オペレーションの一連のプロセスの自動化のことです。
    ここでCloud BuildやCloud Registryなどの出番となります。
  3. メトリクス管理による継続的な”可視化”
    インフラレベルでメトリクスを収集し、意思決定へ活かすことができます。
    これらはGCPのサービスの一つであるStackdriverを中心に行うことができます。

image3

クラウド化ができるワークロードと難しいワークロード

ワークロードの特性上、クラウド化できないアプリケーションが存在します。
物理的な設備、それの関連システムや、設備に紐づくリソースのログ収集や自社サービスに閉じて利用する顧客管理機能などはクラウド化が難しいとのことです。

一方で、インターネット経由でユーザからアクセスされる部分は積極的にクラウド化を行うべきだと述べていました。

以上の2点を踏まえてアーキテクチャを考案すると、
– クラウド上はGKEとGCPのマネージドサービス
– データセンタのワークロードの一部をGKE On-Premに
– 全体をAnthosで管理

という構成が取れたとのことです。

Anthos(GKE/GKE On-Prem)導入へ向けた課題

  1. Kubernetes導入ハードル
    学習コストが非常に高い。
    あくまでツールであるので、どう使うか組織レベルでマネジメントする必要がある。
    1から構築するのは非常にハードだとおっしゃられていました。
  2. 組織間の理解
    ステークホルダーへの説明責任や、組織間で使える仕組みを如何にして担保するかが、組織レベルで必要なことのようです。
  3. 既存資産との連続性
    リファクタリングへのコストと既存の資産を天秤にかけたときの評価と、それに基づいたクラウド移行の判断が非常に重要になってきます。

Anthosをどう動かせるか

インフラ観点からのGKE On-Prem

GKE On-Premは現状vSphere環境上で動作し、ロードバランサとしてF5をサポートしています。コンテナ&KubernetesはGKE On-Premで用意され、それ以外の物理サーバやロードバランサなどは自身で準備する必要があります。
ネットワークに関してNTT communicationsの得意分野を生かすことができたそうです。

image4

Kubernetesクラスタの管理

クラスタの管理そのものをYAML形式で外部ファイルで定義しており、これがAnthos Config Managementのことだと思われます。

Stackdriverとの統合

Generally Available(GA)版からネイティブでStackdriverとの統合がサポートされ、クラスタ管理に必要最低限なメトリクスが自動収集されます。

導入のまとめ

GKE On-Premは一部GKEと比較してソフトウェアそのものが成長中という印象ですが、オンプレミスのKubernetesのマネージドサービスの選択肢の有効な一つとして利用できます。
StackdriverなどのGCPリソースをうまく利用することでより使いやすい環境になるのを感じたそうです。
一方でvSphereの環境やネットワークなど周辺環境をある程度自分で準備する必要があることがハードルとなると述べていました。

ユースケース

GKE On-Premを使いたい(=AnthosでKubernetes全体の管理)場合に重視する点として、
– Kubernetesを中心としたDevOpsのライフサイクルを実現したい
– セキュリティ上データを特定の設備から出せない
– データ通信において、クラウドとのネットワークレイテンシが問題
– 経済的な観点からクラウドへの転送が困難

といった場合に適用することを考えられるとおっしゃられました。
クラウドではなくオンプレで運用したいお客様が感じている上記ケースは多いのではないかと思います。

実際の導入事例

ここから実際の開発環境導入の事例について紹介されました。

image5

ビジネスライフサイクルをいかに高速化するかが課題であった「リハビリデータの活用による品質向上プロジェクト」についての事例でした。
– 臨床データの収集基盤は存在しているため、トライ&エラーでデータの活用を考えたい
– リハビリ現場の意見とシステムの開発・実装を相互にフィードバックする必要がある

といった要望のもと導入を進めたようです。

AnthosとGKE On-Premの活用により、センシティブデータをオンプレに残しつつ、開発ライフサイクル(データ収集、データ加工、データ分析、データ利用)の効率化を実現することができたようです。この事例では、1からすべてを準備するのではなくて、コンテナをベースとしたデータ分析環境を準備する基盤として、試験的にGKE On-Premを利用しています。

データ分析環境がテンプレート化されたことで、データ分析のライブラリなど世の中の技術をストレスなく導入することに成功しています。

AnthosやGKE On-Premのような選択肢によって新技術へのアクセシビリティが拡大したと言えるでしょう。

今後について

NTTのAnthosへの期待でまとめられました。
1. コンテナのマーケットプレイスへの期待
Kubernetesを中心としたアプリケーション・ミドルウェアの成熟
2. エッジまで想定された軽量化など多様なユースケースへの対応
2019/7/31時点ではvSphereのクラスタ利用が必須です。

感想

Anthosの詳しい使い方にフォーカスしているのではなく、どのような場合、ユースケースにAnthosやGKE On-Premが活用できるかに論点を置いた非常に良い発表だと感じました。現場の開発者のためにCI/CD環境をしっかり整えてあげれば、効率よく開発サイクルが周り、さらに良いビジネスサイクルを回すことができるでしょう。

次の記事を読み込んでいます
次の記事を読み込んでいます