はじめに
この記事は、Google Cloud Platform (GCP) を利用しようとしている人が
GCPの基礎知識を学ぶことを目的としています。
私はプライベートでGCPとIBM Cloudを少し触ったくらいの経験しかありませんが、
今後は業務でGCPを使用することになりそうなので、まずは基礎知識を学ぼうと思います。
GCP概要
Googleがクラウド(インターネットなどのネットワーク経由でユーザーにサービスを提供する形態)
で提供するサービス群の総称です。
IaaS(インフラをネット上のサービスとして提供)、
PaaS(アプリを実行するためのプラットフォームをサービスとして提供)
を有していて、Googleが保有するインフラやサービスをオンデマンド(使った分だけの支払い)
で利用することができます。
基本的な構成要素が初めから各種サービスとして用意されているため、
それらを使用してすばやく開発を行うことができます。
また、サーバの起動が早いのでゲームやWEBサービスに適していて、
機械学習やビッグデータ解析といった分野に強みがあります。
GCPが主にできること
・コンピュート
Google Compute Engine
Googleのデータセンターとネットワークで運用する仮想マシン(VM)を提供します。
IaaSに分類されますね。
Google APP Engine
開発したウェブアプリケーション(PHP・Python・Java・Go言語)を
Googleのインフラストラクチャー上で実行、バージョン管理することができます。
PaaSに分類されますね。
・ストレージとデータベース
Google Cloud Storage
クラウドベースのストレージサービス。GCPの「MySQL」および「PostgreSQL」が使用できます。
フルマネージドサービス(リレーショナルデータベースの設定、メンテナンス、運用、管理など)
を提供します。
・ビッグデータ
Big Query
フルマネージドかつ低コストのビッグデータ分析サービス。
大規模なデータセットに対して高速なSQLライクのクエリーを高速に取り出すことができます。
・機械学習
Cloud Machine Learning
クラウド上で機械学習(データから反復的に学習し、そこに潜むパターンを見つける)
を行うクラウド機械学習サービス。
例えば、Googleの音声検索、Google Nowの提案機能、Googleフォトの画像分類機能、Google翻訳、
メールアプリInboxの返信自動生成機能などがクラウド機械学習によって開発されているそうです。
これらのGoogleのサービスを支えるクラウド機械学習機能が利用できます。
GCP以外の主要クラウド概要
・Amazon Web Services(AWS)
世界シェア一位のクラウドサービスです。
サービス系アプリやビッグデータ分析、ストレージなど、幅広い利用に適しています。
オープンソースのソフトウェアをフルマネージドな状態で提供してくれるサービスが多いです。
長く豊富な実績があるので情報収集がしやすく、信頼性と堅牢性もあります。
・Microsoft Azure(Azure)
Microsoft製品との連携と、Azure Marketplaceが活用できます。
Azure Marketplaceとは、
Azure仮想マシン上でのサービス構築に役立つオンラインマーケットプレイスです。
ソフトウェアベンダー各社が提供する仮想マシンイメージ、仮想マシン拡張機能、
アプリケーション、API、Machine Learningサービス、データサービスなどが提供されています。
また、リージョン(データセンターが置かれているエリア)が他のどのクラウドよりも多いです。
・IBM Cloud
エンタープライズ(大規模向け)のクラウドサービスです。
Watsonと呼ばれるAIの提供や機械学習に関するAPIを多く取り扱っています。
SaaS、PaaS、IaaS、といった提供形態から、
パブリック/プライベート/ハイブリッドといったサーバ提供形態まで幅広く提供しています。
また、IBMは企業向けにオンプレによる基幹系システムを多く構築してきた実績があるので、
基幹系システムのクラウド移行に強みがあります。
GCP導入事例
おわりに
GCPの基礎知識を学ぶことができました。
余談ですが、クラウドを技術選定するときは、
以下がざっくりと目安になりそうですのでメモっときます。
・とりあえずクラウドというものを試す → AWSかGCP
・機械学習やAI分野で開発する → GCPかIBM
・ゲームやWEBサービスを開発する → GCP
・基幹系システムをクラウドにする → IBM
・Microsoft製品を多用している → Azure
・可能な限り遅延を避けたい → Azure
もちろん利用環境によって最適なクラウドは変わってきますが、
どれもアカウント登録して無料トライアルができるので、とりあえず触ってみるのが一番ですね。