見出し画像

【読書メモ】図解即戦力 Google Cloudのしくみと技術がこれ1冊でしっかりわかる教科書

業務の兼ね合いで今後Google Cloud BigQueryを活用する可能性が高い為、本書で自習。

知りたいポイントがまとめられており全体感を把握するのに助かりました。

学習内容をまとめてみようと思います。

1.Google Couldとは?

Googleは、Google検索やGmail、Googleマップ、YouTubeといった、大量のトラフィックを取り扱うグローバルなサービスを、20年以上にわたり運営しています。

これらのサービスを提供するために、Googleは長年にわたり、効率的で、最適化されたインフラストラクチャ(インフラ)を構築してきました。

Google Cloudは、その最適化されたインフラストラクチャを、ほかの企業やエンジニアが利用できるようにしたクラウドサービスです。

GCPのサービス一覧

2.クラウドサービスとは?

システムを構築する際に必要となるサーバーや各種の機能を、インターネット経由で利用できるサービスのことです。

基本的にWebのインターフェースから利用できるので、特別な環境設定は不要で、すぐに使い始めることができます。

3.クラウドサービスの利用形態

クラウドは、利用形態によってパブリッククラウドとプライベートクラウドの 2種類に分かれます。

・パブリッククラウド
クラウドベンダーが提供する従量課金のサービスを、インターネット経由で利用するものです。

大手のクラウドベンダーから、先進的な技術が含まれたサービスが提供されることが特徴の 1つです。ただし、データセンターのロケーションやネットワーク回線といった観点でのカスタマイズは限定されます。

・プライベートクラウド
パブリッククラウドとオンプレミスの両方の特性を持つクラウドです。パブリッククラウドに近い構成を、自社のデータセンターにユーザー自身が用意します。

ロケーションやネットワーク回線といった観点で、カスタマイズ性が高いのがメリットです。しかし、システム投資は原則自社単独で行うので、標準化や一括購入による一定のコストメリットはあるものの、インフラの初期投資が必要です。

4.クラウドの提供方式

クラウドは提供するサービスの範囲によってIaaS(イアース)、PaaS(パース)、SaaS(サース)といった形で呼ばれます。

 ・IaaS
サーバーやストレージ、ネットワークといったインフラを提供するサービスです。パブリッククラウドで一番多く使われているのは、IaaSになるでしょう。

Google Cloudでは、仮想マシンを提供するCompute Engineや仮想ネットワークを提供するVirtual Private Cloudが代表的なサービスです。

・PaaS
プラットフォームを提供するサービスです。クラウドベンダーが開発・運用するアプリケーションサーバーなどのミドルウェア環境を利用できます。

Google Cloudでは、Webアプリケーションの動作環境を提供するApp Engineが代表的なサービスです。サーバーインフラだけでなく、サーバー上で稼働するミドルウェア部分の運用管理もクラウドベンダーが担当するため、インフラの運用保守の工数を大幅に削減できます。

・SaaS
インフラやプラットフォームだけでなくアプリケーションも提供するサービスです。企業向けのGmailやGoogle Meetなどが含まれるGoogle Workspace(旧G Suite)が代表的なサービスです。

 IaaS、PaaS、SaaS とは (Cloud ace記事)

5. Googleのカーボンフリーに向けた取り組み

カーボンニュートラルは、CO2など炭素ガスの排出を実質ゼロにすることを指します。

排出をプラスとし、吸収・除去の施策をマイナスとしたら、それらが相殺されることで実現できます。国や多くの企業・地方自治体が2050年までの達成を目指しています。

対してカーボンフリーはGoogleが掲げた目標で、世界中すべてのデータセンター(以下、DC)とオフィスの電力を脱炭素のエネルギーで24時間まかなうというものです。

カーボンニュートラルは植林などの活動が含まれるカーボン・オフセットへの投資で実現できますが、カーボンフリーは自社の利用エネルギーの見直しが必要です。 

Googleは 2007年にカーボンニュートラルを達成しました。その後、 2017年に年間の再生エネルギー購入量が年間の電力使用量と一致するようになり、 2020年 9月には 2030年カーボンフリーの目標を掲げました。

オフィスに太陽光発電パネルを設けたり、 DCに地熱発電を活用したりする施策がその一例です。さらに、 Googleでは風力・太陽光発電による電力の安定供給と、電力効率の改善のために機械学習を活用しています。

たとえば、 Alphabet傘下の DeepMindは、 2016年に DCのセンサーのデータをもとにした機械学習モデルを開発し、冷却に必要なエネルギーを最大 40%改善させました。さらに同社は、天気予報やタービンの時系列データをもとに 36時間後の発電量の予測モデルを開発し、電力供給効率の改善につなげています。

6.データ分析基盤の構成要素

一般的に、データ分析基盤はデータレイク、データウェアハウス、データマートの 3つに分けられます。

・データレイク
未加工のデータをそのまま蓄積する保管場所のことです。構造化・非構造化を問わず、多様なデータを組み合わせて分析できるよう、まずは同じ場所に集約しておきます。

データが未加工のままでは分析できないことがほとんどなので、目的にあわせて加工する必要があります。

・ETL
そこで登場するのが ETLです。 ETLは Extract/ Transform/ Loadの略で、データの抽出、変換、書き出しを行う工程のことです。データレイク内のデータから必要なものをETLで抽出・変換し、データウェアハウスへ書き出します。

・データウェアハウス
さまざまなデータを統合し、分析を行う上で有用な単位でまとめて蓄積する場所のことです。

・データマート
まとめられたデータに対し、特定の用途向けに加工したデータをデータマートと呼びます。データマートをBIツールで可視化して分析すると、ビジネスの意思決定に役立ちます。

7.データ分析基盤のユースケース

・Google Analyticsとほかのデータを組み合わせて分析
Google Analyticsは、Googleが提供するWebページのアクセス解析サービスです。

Google Analyticsはデフォルトでさまざまな分析が可能ですが、ほかのデータと組み合わせると、より詳細な分析を行えます。

特に有料版のGoogle Analytics 360にはBigQueryへのエクスポート機能が備わっており、よりシームレスな分析が可能です。

たとえば、 Webサイトのページアクセスと記事データを組み合わせて、カテゴリごとの閲覧数や離脱率などを導けます。

8.BigQuery 〜代表的な分析サービス〜

BigQueryはフルマネージドのデータウェアハウスサービスです。

データウェアハウスと名のつくサービスはさまざまな企業から多数提供されており、実装されている機能もサービスごとに異なります。 

BigQueryは、マニュアル・バッチ・ストリーミングでのデータインポートやデータを格納するストレージとしての機能、そしてクエリを実行して分析を行う機能など、多くのパワフルな機能を備えています。

・BigQueryの特徴
BigQueryには、ここまで紹介したもの以外にも、さまざまな特徴があります。

高い処理能力ペタバイト規模の大規模なデータに対しても高速にクエリを実行できるなど、非常に高い処理能力を誇ります。

スケーラビリティストレージ容量が無制限かつ自動でスケールアウトするため、大規模なデータであっても特別な準備は必要ありません。サーバーノードやストレージの追加といったインフラ作業は不要です。

可用性 SLAで 1カ月あたり 99. 99%の稼働時間が保証されています。低コスト非常に低いコストで大規模なデータを処理できます。

またセキュリティインフラとして必要なセキュリティ対策が施され、アクセス制御を含む、ユーザーがデータ保護を実現するために必要な機能が提供されています。

ほかの Google Cloudサービスとの連携ほかの Google Cloudサービスとの親和性が高く、ビジネスのニーズにあわせて柔軟にデータ分析基盤を構築できます。

・BigQueryに問い合わせを行う方法 
クエリとは、システムへの問い合わせや処理要求を行う命令のことです。クエリを実行する方法は、システムによって異なります。

たとえば、一般的なRDBではSQLという言語を用いて、データベースに対する処理要求を行います。 BigQueryにもRDBと同様にスキーマを持つテーブルという概念が存在し、クエリも SQLで記述します。

BigQueryには標準 SQLとレガシーSQLという 2種類の SQLが存在します。

ただし、一般的な RDBのSQLとは、細かな点で仕様の異なる場合があるため、公式ドキュメントを確認しつつ記述することをおすすめします。

標準 SQLのクエリ構文 
https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax?hl= ja

9.気になったキーワード

・負荷分散
負荷分散とは、並列に運用されている機器間で、負荷がなるべく均等になるように処理を分散して割り当てることである。

・最小権限の原則
情報システム上のアクセス権限の運用についての原則の一つで、本来の目的に必要な最低限の権限しか与えないようにすること。障害や不正による被害を最小限に抑えることができる。

・冗長化
冗長化とは、システムに何らかの障害が発生した場合に備えて、障害発生後でもシステム全体の機能を維持し続けられるように予備の装置を平常時からバックアップとして配置し運用しておくこと。

・ソースリポリトジ
リポジトリ(repository)とは、英語で「容器」「貯蔵庫」「倉庫」「集積所」「資源のありか」などの意味を持つ単語。

システム開発などの情報工学の世界では、仕様、デザイン、ソースコード、テスト情報、インシデント情報など、システムの設計・開発に関するあらゆる情報を統合的に蓄積し、一元的に管理する「場所や仕組み」(貯蔵庫)を意味する。

・ノード
ノード(node)とは、「結び目」「集合点」「節」といった意味。コンピュータネットワークは、点(装置)とそれを結ぶ線(伝送路)で表すことができます。 このときの「点」を「ノード」といい、コンピュータやルータ、プリンタなどがノードになります。

・モダナイゼーション
「モダナイゼーション(Modernization)」は、日本語で「近代化」と訳され、IT領域では現在稼働している情報資産を活かしながら、古くなった業務システムを現代のニーズに合ったものへと置き換えることをいいます。 

旧来的な技術基盤からなるレガシーシステムの多くは、複雑化するビジネス環境に対応できなくなってきています。

・モノリシックアーキテクチャ
モノリシックアーキテクチャーとは、OSにおいて分割されていない1つのモジュールで構成されたアプリケーションの構造です。

対して、マイクロサービスアーキテクチャーは、複数の独立した機能を組み合わせて1つの処理を実現するアプリケーションの構造です。

・レイテンシ
レイテンシとは、データ転送における指標のひとつで、転送要求を出してから実際にデータが送られてくるまでに生じる、通信の遅延時間のことをいいます。 

この遅延時間が短いことをレイテンシが小さい(低い)、遅延時間が長いことをレイテンシが大きい(高い)と表現しています。

以上です。
引き続き勉強をしていきます。



いいなと思ったら応援しよう!