今週の GCP 9/17

apstndb
google-cloud-jp
Published in
13 min readSep 25, 2018

訳者: @apstndb

この記事は Google Cloud の DevRel の @alexismp による TWiGCP — “TPUs meet GKE, Stackdriver workspaces, and some lifehacking” の日本語訳に各参照先の記事の説明となる訳注を加えたものです。実際に読む記事を選ぶ際の参考にお使いください。

この1週間の GCP ニュース記事です。

「Google とコミュニティからの Kubernetes のニュース」コーナー:

  • Cloud TPUs in Kubernetes Engine powering Minigo are now available in beta (Google blog). たった一つのクラスタ構築時のフラグ、 YAML でのリソース制約のワンライナー、それで TPU が GKE に出会います! (訳注: Kubernetes Engine の Cloud TPU サポートがベータになりました。 Pod にリソースとして割り当てる形で使うことができ、 Kubernetes のメリットを生かすことができます。 AlphaGo Zero の OSS 実装である Minigo の強化学習には 115 PFLOPS にも及ぶ 640 Cloud TPU を GKE から使っており、秒間20–30の対戦から学習をしているとのことです。)
  • Automating Canary Analysis on Google Kubernetes Engine with Spinnaker(Google documentation) (訳注: このソリューションでは Spinnaker を使って Kubernetes Engine のカナリーデプロイをする方法について解説しています。前半では Stackdriver のメトリクスを見ながら手動でロールアウトの判断をする設定、後半ではカナリー解析の OSS である Kayenta を使って自動的に判断する設定を解説しています。)
  • KubeRBS for automatic Kubernetes rollbacks so you can sleep better at night! (blog.doit-intl.com) (訳注: DoiT International が OSS として公開している、 Kubernetes の Deployment を自動ロールバックする KubeRBS について解説しています。特定の Deployment ごとにエラーレートなどのユーザ定義のメトリクスが閾値を超えた際に自動的にロールバックを行うような設定を CRD として定義することができます。)
  • Kubernetes: ConfigMaps and Secrets (With Firebase) (medium.com) (訳注: Kubernetes で Pod に設定を注入するための ConfigMap と Secret について解説し、 Firebase へのアクセスのためのサービスアカウントを Secret で設定することを例にしています。)
  • Skaffold 0.14 (github.com). New `skaffold init` feature (訳注: Skaffold 0.14 では Skaffold の最低限の初期設定を生成する init サブコマンドの他、 dev サブコマンドで自動的に port forward を行うことができるようになっています。)

「Firebase のオフラインと新しい App Engine ランタイムの利用」コーナー:

  • Multi-Tab Offline Support in Cloud Firestore! (Google blog). Cloud Firestore Web SDK 5.5.0 では Chrome, Safari, Firefox のための実験的な複数タブの同期機能を有効にできます。 (訳注: 今まで Cloud Firestore の Web SDK では最初に開いた1タブ以外はオフラインモードをサポートしていませんでしたが、複数タブのサポートが実験的にはじまりました。ネットワーク接続がなくても複数タブで共有された状態を更新・保持することができます。)
  • Developing an App Engine service with Python and Cloud Firestore(medium.com) (訳注: 第二世代の App Engine ではマルチスレッドその他の制約がなくなったことにより Cloud Firestore クライアントライブラリを使用することができます。この記事では App Engine Python 3.7 を使って単純な CRUD 操作をするアプリケーションを実装しています。)

Using Stackdriver Workspaces to help manage your hybrid and multicloud environment (Google blog). ワークスペースをチーム機能、組織、環境によって整理しましょう。 (訳注: Stackdriver アカウントが Stackdriver ワークスペースに改名されました。Stackdriver ワークスペースはもはや課金設定の単位ではないので、複数の GCP プロジェクトと AWS アカウントの Stackdriver Monitoring をチームごと、組織ごと、環境ごとなどの用途ベースで整理して管理することができます。)

「透明性による信用」コーナー:

  • Access Transparency logs now generally available for six GCP services(Google blog) (訳注: Google からの顧客リソースへのアクセスの監査ログを提供する Access Transparency で Cloud Storage, Compute Engine, App Engine, Persistent Disk, Cloud IAM, Cloud KMS の6つサービスに対するログが GA になりました。 Access Transparency はゴールドサポート相当以上の顧客に対して提供されており、今後更に透明性を向上させていきます。)
  • Deleting your data in Google Cloud Platform (Google blog) (訳注: GCP でデータの削除のリクエストに対してどのようなステップで実際の削除が行われるかについて解説するホワイトペーパーが公開されました。この記事ではその要約として、削除リクエストの後にリカバリ可能な論理削除、システム及びバックアップからの暗号学的削除、更には物理メディアの完全な無効化のステップについて解説しています。)

「Google の BigQuery, Dataproc, Dataflow を使う理由があれば」コーナー:

  • Ethereum in BigQuery: how we built this dataset (Google blog). 人気のあるブログ記事への補足と、 BigQuery の機能が全ての Etheream のスマートコントラクトを数秒でディスアセンブルする方法について。 (訳注: 先日公開された Ethereum データセットがどのように構築されているかを解説した記事です。 Ethereum ETL で Cloud Storage に export した Ethereum のブロックチェーンを BigQuery にロードするところまでが Cloud Composer で実現されており、そこで使われている Airflow DAG についても提示しています。また、 BigQuery UDF を使って Etheream のスマートコントラクトのバイトコードを解析する方法も解説しています。)
  • A flexible way to deploy Apache Hive on Cloud Dataproc (Google blog). Preemptible VM の一時的なクラスタはより安いソリューションを意味します。 (訳注: Apache Hive を Cloud Dataproc 上で動かすチュートリアルが書かれたことについての記事です。)
  • How Distributed Shuffle improves scalability and performance in Cloud Dataflow pipelines (Google blog). 状態のストレージをコンピュートを分離して保持し、分散シャッフルレイヤーで接続します。 (訳注: Cloud Dataflow でワーカーを超えてデータを集約や JOIN する際には Shuffle という操作が行われます。Shuffle は従来ワーカーにアタッチされた PD に保存したデータをネットワークでやりとりすることで行われていましたが、 GA となったバッチ用の Shuffle Service およびベータとなったストリーミング用の Streaming Engine を使うとマネージドサービス上で Shuffle を処理するようになり、必要なワーカーリソースの減少とオートスケール性能の改善などのメリットが得られます。これもコンピュートとストレージの分離による効果の1つです。)
  • Moving to BigQuery (blog.hike.in) (訳注: データへのクエリを極めて高速にすること、全てを自動化かつ自己完結可能にすること、可能な限りコストを下げることを目的に、1日4TB にも及ぶデータの処理機盤を Cloud Storage と Cloud Dataproc 上の Apache Hive と HUE の組み合わせから BigQuery に移行した事例について書いています。90日前よりも過去のデータは BQ に取り込まずに federated query を使うことにしたこと、clustered table を使って最適化したこと、require_partition_filter を必須にしたことなどの工夫が書かれており、50%少ないコストでクエリによって最大50倍の高速化のメリットが得られたとのことです。)

「AI/ML ツール、挑戦、そして GCP の Deep Learning イメージ」コーナー:

  • Introducing the Unrestricted Adversarial Examples Challenge (Google blog) (訳注: 機械学習では、人にとっては些細なノイズであっても意図的に変更を加えることで機械学習モデルに誤った判断をさせることができる Adversarial Examples という問題があります。今回行う Unrestricted Adversarial Examples Challenge は攻撃側と防衛側に分かれた競技形式でこの問題への理解を深めていきます。防衛側は明らかに人にとって鳥か自転車どちらかに見える画像を逆に判断しないようなモデルを構築することを追求し、攻撃側はモデルに対して逆に判断させるような画像を生成することを追求していきます。)
  • The What-If Tool: Code-Free Probing of Machine Learning Models (Google blog) (訳注: 機械学習において、用意したデータと異なる入力の時にどういう結果となるかの「もしも」を確かめるのは容易ではありませんでした。今回 TensorBoard の新機能として追加された What-If Tool を使うことで「もしも」を見て分かりやすい形で調査することができます。例として、選択したデータポイントの特徴量を手で変更して推測結果がどのように変化するかを確認したり、特定の特徴量の変化がどのように結果に影響を与えるかをプロットすること、データポイントに値が一番近いけれど判断が分かれている “Counterfactual” を見つけて判断に影響を与えていると思われる特徴量を強調することができます。)
  • GCP deep learning images with preconfigured Tensorflow, PyTorch, Jupyter, Cuda and CuDNN (twitter.com) (訳注: GCP の Deep Learning Image に含まれる Jupyter Notebook を SSH ポートフォワーディングでアクセスするワンライナーについてツイートしており、リプライツリーで詳細な手順について説明しています。)

「ライフハッカー」コーナー:

  • The Google Cloud Developer Cheat Sheet (medium.com) (訳注: DevRel の Greg Wilson より Google Cloud 関連プロダクトおよびオンラインリソースを一覧可能なチートシートが公開されています。)
  • Get your kid ETA from school using Google Home, Cloud Functions, Datastore, Maps Directions API… (blog.doit-intl.com) (訳注: 著者が Google Cloud 及び Google Home を使って構築した子供の帰宅予定時刻を推定するアプリケーションについて解説しています。地理情報の扱いについては Find My iPhone API を元に Google Maps Direction API で到着予定時刻を取得する仕組みになっています。)

「ベータ、 GA、それとも?」コーナー:

  • [GA] Cloud SDK 216.0.0
  • [GA] VPC internal DNS service (訳注: Compute Engine の VPC 内部の DNS が GA になりました。インスタンスの存在するゾーンを含む完全修飾名が設定されるため、ゾーンを区別した柔軟なアクセスが可能です。)
  • [GA] Dataflow Shuffle (us-central1 and europe-west1) (訳注: Cloud Dataflow のバッチパイプラインを高速化するマネージドな Shuffle Service が GA になりました。)
  • [Beta] Dataflow Streaming Engine (us-central1 and europe-west1) (訳注: Cloud Dataflow のストリーミングパイプラインを高速化するマネージドな Streamin Engine がベータになりました。)
  • [Beta] Cloud TPUs in GKE (訳注: GKE からの Cloud TPU の利用がベータとなりました。)
  • [Beta] BigQuery Geospatial (訳注: 地理データ形式および JOIN にも利用可能な地理関係の関数をサポートする BigQuery GIS がベータになりました。)
  • [Beta] Scheduling Queries (訳注: BigQuery Data Transfer Service の一部としてクエリの定期実行がベータリリースされました。実行された日時がクエリパラメータとして取得可能な他、テーブル名の日時からの生成もサポートしています。)

「全てのマルチメディア」コーナー:

今週の画像は updated (Google Cloud) Developer Cheat Sheet からです:

これで今週は終わり!
-Alexis (原著者)

--

--