今週の GCP 8/27

apstndb
google-cloud-jp
Published in
31 min readSep 10, 2018

訳者: @apstndb

この記事は Google Cloud の DevRel の @alexismp による TWiGCP — “Serverless delivers, trust your binaries, and better Cloud Firestore” の日本語訳に各参照先の記事の説明となる訳注を加えたものです。実際に読む記事を選ぶ際の参考にお使いください。

前回書かれていた通り原著者が夏季休暇の間の1ヶ月分くらいのニュースがまとまっており分量が多くなっています。

私は帰ってきた!

最初に、私達は統合され改善された Google Cloud のブログを得ました。 improved home for Google Cloud blog posts. tl;dr: cloud.google.com/blog (訳注: 複数に分かれていた Google Cloud 関係プロダクトのブログが集約されています。 feed の更新などお忘れなく!)

次に、 Cloud Next ’18 カンファレンスの要約がここにあります。(medium.com)

「Next ’18 でのサーバーレスの約束を果たす」コーナー:

  • Cloud Functions serverless platform is generally available (Google blog) (訳注: Cloud Functions が GA になりました。その他にも Node 8, Python 3.7 ランタイムのベータや Firebase との連携の強化、ヘッドレス Chrome のサポート、環境変数の設定や Cloud SQL への直接接続が既に使えるようになっています。また、最大インスタンス数の制限や GCE VPC へのアクセス、 IAM による呼び出し元の権限制御、任意の Docker イメージのデプロイを可能にする Serverless Containers のテスト申込みが始まっています。)
  • Introducing App Engine Second Generation runtimes and Python 3.7(Google blog) #Django2 (訳注: App Engine の Python 3.7 ランタイムがベータリリースされました。gVisor をサンドボックスとして使った第二世代ランタイムなので移植性のある Python アプリケーションをデプロイすることができます。)
  • Introducing PHP 7.2 runtime on the App Engine standard environment(Google blog) #WordPress #Laravel #Symfony #Slim (訳注: App Engine の PHP 7.2 ランタイムがベータリリースされました。こちらも gVisor をサンドボックスとして使った第二世代ランタイムなので WordPress をはじめとする移植性のある PHP アプリケーションをデプロイすることができます。)
  • Introducing headless Chrome support in Cloud Functions and App Engine(Google blog) #Puppeteer (訳注: App Engine Node.js 8 ランタイムだけでなく Cloud Functions Node.js 8 ランタイムでもヘッドレス Chrome が使えるようになりました。スクリーンショットやサーバサイドレンダリング、 PDF 化やクローラの実装、パフォーマンステストや UI テストをユースケースとし、 Node.js ライブラリの Puppeteer を使った制御について解説されています。)
  • How we brought the latest version of Python to App Engine and Cloud Functions (Google blog) #gVisor (訳注: App Engine と Cloud Functions の Python 3.7 ランタイムは OSS の gVisor とコンテナイメージビルダーの FTL に支えられていることの記事です。)
  • What’s new in App Engine with Steren Giannini and Stewart Reichling(gcppodcast.com) (訳注: この回の GCP Podcast では App Engine の PM をゲストに招いています。)

「全てのレイヤでのセキュリティ」コーナー:

  • Deploy only what you trust: introducing Binary Authorization for Google Kubernetes Engine (Google blog) (訳注: CI/CD パイプラインでデプロイ対象の品質を担保する時、 CI/CD パイプラインを迂回したものがデプロイ可能では意味が無くなってしまいます。 OSS の Kritis をベースとした Binary Authorization は OSS の Grafeas ベースの Container Analysis API と組み合わせることで、 Kubernetes Engine にデプロイする対象のイメージに対して CI/CD の各ステージで署名されていることを要求し、検証結果によって失敗させたり Cloud Audit Logging の監査ログに出力することができます。)
  • Using your existing identity management system with Google Cloud Platform (Google blog) (訳注: Cloud Identity でユーザを管理すると G Suite を使っていない組織でも GCP の Organization を使ったリソースのアクセス管理を行うことができます。この記事では、既存の ID 管理システムと Cloud Identity の ID を同期し、 SAML SSO を設定する方法についても解説しています。)
  • Protecting against the new “L1TF” speculative vulnerabilities (Google blog) (訳注: 新しく発見された CPU 脆弱性である L1TF に Google Cloud がどのように対応したかについて解説しています。)

「Firebase + GCP」コーナー:

  • Expanding the Cloud Firestore beta to more users (Google blog) (訳注: サーバーレス NoSQL ドキュメントデータベースである Cloud Firestore のアップデートを紹介しています。 従来の Cloud Firestore は Native モードと呼ばれるようになり GCP コンソールからもアクセス可能になり、単一プロパティインデックスの除外やインポート・エクスポート、配列への操作がサポートされるようになりました。また、 API 互換性とより高い SLA, 従来の制約の撤廃を提供する次世代 Cloud Datastore である Datastore モードは現在ベータですが、 GA になった後に従来の Cloud Datastore がライブマイグレーションされることが予定されています。)
  • Migrating from Datastore to Firestore (youtube.com). 8 must-watch minutes! (訳注: Cloud Datastore から Cloud Firestore Datastore モードへの移行の解説動画です。互換性があるためコードの変更が必要なく、ダウンタイムはないこと、制限なく強い整合性やアトミックなバッチ操作が行えること、 Cloud Firestore Native モードとの違いなどが解説されています。)
  • Better Arrays in Cloud Firestore! (Google blog) (訳注: Cloud Firestore で配列へのクエリや配列を集合として操作することができるようになったことで従来のベストプラクティスが変わったことや、配列をセキュリティルールで使うことによる簡易的なドキュメントの閲覧権限制御の実装を解説しています。)
  • One project, multiple sites! Plus a boost in upload speed! (Google blog) (訳注: 単一プロジェクトの Firebase Hosting で複数のドメインのサイトを提供することができるようになりました。これにより Cloud Firestore や RTDB 等のリソースを共有するサイトを提供することができます。)

「ビッグデータの OSS, DevUX, そして備え付けのクラウドサービス」コーナー

  • Simple backup and replay of streaming events using Cloud Pub/Sub, Cloud Storage, and Cloud Dataflow (Google blog) (訳注: Cloud Dataflow テンプレートを使って Cloud Pub/Sub から GCS へメッセージを記録し、 GCS から Cloud Pub/Sub へメッセージを再送することで、イベントのバックアップと再生を行えることを解説しています。)
  • Managing Java dependencies for Apache Spark applications on Cloud Dataproc (Google blog) (訳注: Cloud Dataproc で任意のパッケージを使うことは Spark や Hadoop のランタイムと衝突して難しいことがあります。この記事では Maven shard プラグインを使ってパッケージ名をリネームした fat jar を自動生成する方法について解説しています。)
  • A review of input streaming connectors (beam.apache.org) (訳注: Cloud Dataflow の SDK である Apache Beam でデータソースとして使えるインプットコネクタのサポート状況を言語ごとに Apache Spark と対比して解説しています。)

私のお気に入りの「Google の顧客とパートナーが話す GCP の良いところ」コーナー

  • King collaborates with Google Cloud for next-generation analytics and machine learning (medium.com) (訳注: Candy Crush シリーズをはじめとする世界的に有名なゲームを提供する King 社がデータ周り及び AI/ML のプラットフォームを Google Cloud に移行することを決めたことを発表しています。)
  • How Niantic labs migrated hundreds of millions of Pokémon GO user accounts from Google Datastore to Google Spanner (youtube.com) (訳注: この GCP Next のセッションでは Niantic がポケモン Go のデータベースを Cloud Datastore から Cloud Spanner への段階的移行のうちユーザアカウントシステムで得られた知見について話しています。主に移行の意思決定や手順、実際に25%のレイテンシ改善と50%のコスト削減のメリットが得られたことについて取り上げています。)
  • Don’t get the Google Cloud Bill Shock! (blog.doit-intl.com) (訳注: 単純なクラウドの利用料金予測について、 BigQuery ML を使って解説しています。)
  • Lessons Learned: Switching from CircleCI to Google Cloud Build(medium.com) (訳注: ToDo 管理自動化サービスの Focuster が Kubernetes Engine の採用を機に長い間使っていた CircleCI から Cloud Build への移行をして分かった比較した際の長所・短所に書いています。Cloud Build の長所としては主に価格と標準で提供される並行実行等、短所としては標準で提供されるステップやキャッシュ手法、デバッグ方法の不足などがあげられています。)
  • Sidecars and DaemonSets: Battle of containerization patterns(wecode.wepay.com) (訳注: 決済サービスの WePay のエンジニアによる、 Kubernetes においてマイクロサービスと同じ Pod の中に同居させるサイドカーとノードごとに立ち上げる DaemonSet の両パターンについての考察です。多くのマイクロサービスが多数のレプリカを持つ場合、サイドカーモデルではノード内に同じエージェントが多数起動するような場合があり、リソースの効率化のためにバランスを取ることやそれぞれのライフタイムへの考え方について書いています。)
  • How we deliver with GCP at the BBC (medium.com) (訳注: BBC のウェブサイトの9年間の歩みを経て 10ヶ月前に GCP に移行したことについて書かれている記事です。現在は Kubernetes Engine, Cloud Build, Spinnaker などを使ったマイクロサービスアーキテクチャになっており、ステージングとプロダクションの両方を1つのクラスタ上で運用していると書かれています。)
  • Descartes Labs launches its geospatial analysis platform (techcrunch.com) (訳注: 地理情報解析のスタートアップである Descartes Labs が圧縮された状態でも 11 PB を超えるデータを GCP で処理していると紹介しています。)
  • Google Cloud Next: Geotab at the Forefront of AI for Smart Cities(geotab.com) (訳注: Geotab 社はスマートシティの実現のために100万のネットワーク接続された自動車の情報を扱うために大量のデータを即時に処理する必要があります。 GCP Next で発表された BigQuery ML および BigQuery GIS には Geotab も協力しており、実際のユースケースを交えて紹介しています。)
  • Distributed optimization with Cloud Dataflow (ml2grow.com) (訳注: Cloud Dataflow の Python SDK を使って最適化問題を分散処理する方法を温室と作物の割り当てでのコスト最適化という題材で解説しています。)

「Cloud Next ’18 からの帰還」コーナー:

「Java 開発者がシェアする Google Cloud の愛」コーナー

「BigQuery 専用のセクションがない月間の要約って何?」コーナー:

  • What’s happening in BigQuery: integrated machine learning, maps, and more (Google blog) (訳注: Cloud Next ’18 の BigQuery 関係まとめとして、学習、推論を BigQuery 内で行う BigQuery ML, 地理情報を扱う BigQuery GIS, スキャンするデータ量を最適化するクラスタリング, Data Transfer Service の拡充, 新しい UI と GA になった DDL について紹介しています。)
  • Performing large-scale mutations in BigQuery (Google blog) (訳注: BigQuery は更新に制限があるため OLTP 的には使えませんが、クオータが緩和された DML ではテーブル全体に対する変更操作が行えるためいくつかのユースケースが解説されています。この記事ではデイリーなどのバッチ更新、相関クエリを使った削除条件、ストリーミングインサートされたデータでもう有効でないデータの削除などのユースケースが解説されています。)
  • How to do online prediction with BigQuery ML (towardsdatascience.com) (訳注: BigQuery ML で学習したモデルの BigQuery 上での実行はバッチ的な推論には向いていますが、リアルタイムの推論には十分なレイテンシではありません。この記事では BigQuery ML の学習済モデルから取得可能なパラメータで回帰モデルを設定することで、 BigQuery ML 以外でも同一の推論を可能にする方法を解説しています。)
  • Optimizing BigQuery: Cluster your tables (medium.com) (訳注: 特定のカラムの値でストレージを局所化する BigQuery の Cluster Tables についての解説をしています。この記事では Cluster Tables がどのような場合に効果があるかについて解説しています。LIMIT にも効く場合がある他、 WHERE によるフィルタ、 LIKE や正規表現による前方一致でのスキャンするデータ量の削減効果が得られます。更に JOIN や GROUP BY ではシャッフルの量が減るため高速化の効果があります。)
  • Tips for using BigQuery in the enterprise (medium.com) (訳注: エンタープライズで BigQuery を使う際に理解しておくべき事項について列挙し、それぞれを解説する記事への参照をしています。)

「Istio が 1.0 マイルストーンに到達」コーナー:

  • Istio reaches 1.0: ready for prod (Google blog) (訳注: Google が開発に参加している OSS のサービスメッシュである Istio が 1.0 となりました。 Istio は Cloud Services Platform の中核としてサービス間の認証や可観測性を提供する他、リトライやサーキットブレイカーなどのマイクロサービスに共通して必要な機能を提供します。Managed Istio も Cloud Next で発表されています。)
  • Announcing Istio 1.0 (istio.io) (訳注: Istio 1.0 のリリースについて Istio のブログでもアナウンスされています。この記事ではより具体的に採用事例やエコシステムの発展、0.8 からの進化や今後の展望について書かれています。)
  • Updated codelab for Istio 1.0.0 (codelabs.developers.google.com) (訳注: Istio の Codelab が 1.0 ベースに更新されています。)
  • Istio’s Networking API Explained (blog.sebastian-daschner.com) (訳注: Istio で L7 のルーティングやトラフィック分割、負荷分散などを提供する Network API の全体像および細部について誤解されやすいことも合わせて解説しています。)
  • Battle Testing Istio 1.0 (medium.com) (訳注: この記事では Istio の全体像からインストール方法を説明した後に、著者がプロダクションで考慮する必要があったことなどについて解説しています。)

「TensorFlow, AutoML, Cloud ML Engine」コーナー:

  • Hyperparameter tuning using TPUs in Cloud ML Engine (Google blog) (訳注: Cloud ML Engine ではハイパーパラメーターチューニングをサポートしており、この記事では Cloud TPU と組み合わせて使う方法を解説しています。)
  • How to do serverless machine learning with scikit-learn on Google Cloud ML Engine (towardsdatascience.com) (訳注: Cloud ML Engine は TensorFlow だけでなく scikit-learn や XGBoost もサポートしています。この記事では Cloud ML Engine を使って scikit-learn で書かれたモデルを学習、ハイパーパラメータチューニング、デプロイする方法について解説しています。)
  • Deep Learning Images For Google Cloud Engine, The Definitive Guide(blog.kovalevskyi.com) (訳注: この記事では Compute Engine に提供されている Deep Learning Image の選択方法や注意事項、使い方について解説しています。)
  • Developing Data and Machine Learning Apps with C#(google.qwiklabs.com) (訳注: この講座では言語処理や画像解析などの Cloud ML API を使ったアプリケーションを C# で構築する方法について学びます。)
  • Get Started with Google Cloud AutoML Vision for Image Classification(thenewstack.io) (訳注: この記事では Cloud AutoML Vision を使って犬の画像から犬種の分類をします。)
  • 9 Things You Should Know About TensorFlow (hackernoon.com) (訳注: TensorFlow で知っておくべき9つのこととして、強力は機械学習フレームワークであること、Eager Execution の追加により従来の奇妙な定義方法は唯一の選択肢ではなくなったこと、 Keras により簡単にニューラルネットを構築できること、 Python だけではなく多くの言語で使えること、 TensorFlow.js により学習とモデルの実行をブラウザ上から行えること、 TensorFlow Lite はモバイルデバイスでも動作可能なこと、 Cloud TPU のような特化したハードウェアでより良い性能が得られること、 tf.data によるパイプラインはより表現力がよく効率的なこと、 TensorFlow Hub によりゼロから始める必要がないことが上げられています。)
  • TensorFlow 2.0 is coming (groups.google.com) (訳注: TensorFlow の Google Groups 上で TensorFlow 2.0 の現在予定している設計上の決断について説明している投稿です。)
  • TensorFlow For Poets (codelabs.developers.google.com) (訳注: この codelabs では MobileNet CNN を ImageNet データセットで学習することで、花の画像の分類を行います。続編では TensorFlow Lite を使って iOS や Android への対応も行っているようです。)
  • Moving Beyond Translation with the Universal Transformer (Google blog) (訳注: Google が機械翻訳のために発明した機械翻訳に Transformer モデルを拡張した Universal Transformer はチューリング完全であり、より難易度の高い問題に対して良いスコアを達成したとのことです。)

「機械から機械への引き継ぎ」コーナー:

  • Google’s Use of AI to Manage Data Centers Enters a New Phase(datacenterknowledge.com) (訳注: Google のデータセンターは以前から冷却システムの設定を機械学習で補助していましたが、深層学習で人の手の介入も必要なくなり年間30%の冷却コストの削減に成功したとの記事です。)

「全てのものを観測する」コーナー:

  • Drilling down into Stackdriver Service Monitoring (Google blog) (訳注: GCP Next で発表された Stackdriver Service Monitoring は SLO やトポロジを可視化することでインフラレベルではなくサービスレベルのオブザーバビリティを提供するサービスです。この記事ではサービスの紹介だけでなく末尾でアーリーアクセスの募集も行っています。)
  • Tracing Google Cloud (medium.com) (訳注: OpenCensus は Stackdriver Trace だけではなく他の分散トレースサービスにもスパンを送ることができるトレース情報収集フレームワークです。 Google Cloud クライアントライブラリの使用時に自動的に RPC のトレースを取得できる他、直接カスタムスパンを送信することもできます。この記事では使い方の他、 Stackdriver Trace で今予定している変更の紹介と UX のフィードバックの募集などをしています。)
  • OpenMetrics project accepted into CNCF Sandbox (Google blog) (訳注: Google の監視システムである Borgmon を元にした OSS である Prometheus のメトリクスフォーマットを元に標準化を行う OpenMatrics プロジェクトが CNCF Sandbox として採択され、各社との協調の下進められています。Google との関係としては OpenMetrics は Google 社内の Monarch 監視システムにおけるフォーマットの利点も活かされており、 OpenCensus ライブラリでの対応も進んでいます。)
  • Infrastructure Monitoring with Mark Carter(softwareengineeringdaily.com) (訳注: インフラ監視に関する Stackdriver 周辺のグループプロダクトマネージャである Mark Carter へのインタビューの Pod Cast です。)

「クラウドネイティブニュース」コーナー:

「ハウツー」コーナー:

新しい Google Cloud のソリューション:

  • Building a Hybrid Render Farm (訳注: このソリューション記事は既にオンプレミスで動画をレンダリングするレンダーファームを持っていることを前提に、ハイブリッドレンダーファームを構築する方法について述べています。 Compute Engine や GCP のストレージ系のサービスだけでなく、パートナーが提供するサービスまで広く述べた記事となっています。)
  • Best Practices for Operating Containers (訳注: この記事はコンテナの本番運用におけるベストプラクティスを解説しています。具体的にはロギングやステートレス性の確保、特権コンテナを回避すること、モニタリングを容易にすること、ヘルスチェックの提供、ルートユーザを回避すること、イメージバージョンを注意して選択することなどがあげられています。)
  • Best Practices for Building Containers (訳注: この記事はコンテナイメージの構築におけるベストプラクティスを解説しています。上の記事の対として以前からあったものを更新したものとなります。)
  • Creating a CI/CD pipeline with VSTS and Compute Engine (訳注: Microsoft の Visual Studio Team Services を使って Compute Engine 上の Orchard CMS に対して CI/CD を行うチュートリアル記事です。)

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

  • [GA] Google Cloud SDK 213.0.0 (訳注: Cloud SDK が更新されています。)
  • [GA] Regional Managed Instance Groups — Zone Selection (訳注: 従来 Regional Managed Instance Group では3つのゾーンからランダムになるように使われていましたが、リージョン内のゾーンを選択的に使うことができるようになりました。これにより、特定のゾーンにしかない機能を使うことや、リージョン内の永続ディスクの使用がしやすくなる場合があります。)
  • [Beta] Microsoft SQL Server on Compute Engine — Always On Failover Cluster Instances (FCI) with Storage Spaces Direct (S2D) (訳注: Compute Engine での Microsoft SQL Server のフェイルオーバークラスタの構築がベータサポートされています。)
  • [Beta] BigQuery ML (訳注: BigQuery 上でモデルの作成、モデルを使った推論が可能な BigQuery ML がベータになっています。)
  • [Beta] BigQuery Clustered Tables (訳注: BigQuery のテーブルの裏のストレージを特定の列の値に基づいて局所化することでスキャンサイズを削減しコストパフォーマンスを向上することが可能な Clustered Table がベータになっています。)
  • [Beta] Cloud Organization setup wizard (訳注: GCP の Cloud Organization の初期設定および既存プロジェクトや請求先アカウントの移行を行うセットアップウィザードが利用可能になりました。)
  • [Beta] Firestore — Managed Import/Export API (訳注: Cloud Firestore の import/export をコンソールおよび gcloud コマンドから実行可能になりました。)
  • [EAP] Cloud Scheduler EAP Sign Up (訳注: App Engine Cron の後継として、サーバーレスタスクスケジューラの Cloud Scheduler のテストを募集しています。)
  • [EAP] Cloud Tasks EAP Sign Up (訳注: App Engine Task Queue の後継として、サーバーレスタスクキューの Cloud Tasks のテストを募集しています。)
  • [Alpha] Autoscaling clusters (訳注: Cloud Dataproc のオートスケーリングが alpha リリースされました。Apache Hadoop や Apache Spark のワークロードに対して自動的にスケールしますが、 Spark Structured Streaming をサポートしないことと HDFS 使用時には向かないことには注意する必要があります。)

GCP Podcast の最近のエピソード

Kubernetes Podcast の最近のエピソード:

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

今週の画像は Cloud Firestore beta の投稿 からです:

ヒュー、今週はこれで全部!
-Alexis(原著者)

--

--