#経緯
今後もっと成長していくであろうクラウドサービスを1から勉強しようと思い、
また、同じような境遇の方にむけて
超入門的なことを書いてみようと思いました。
なぜ、AWSではないかと言うと...前職で少々使っていたので
どうせならテレワーク中に未経験の新鮮なこと学びたくない?ってことでGCPを選択!
#1.GCPとは?
GCP(Google Cloud Platform)はGoogleが提供しているクラウド上のサービス集合体。
※クラウド上って? → とりあえずGoogleアカウント作れば、どのパソコン(オンライン)からもログインして、数多のサービスを使えるイメージ。
インフラ、ソフトウェア等の物理的位置などを考慮せずに利用できます。
もちろんコンソール画面もあります。
各サービスのAPIを使うことでサービス間でのデータのやりとりが可能。
■主に2つが特徴
・トラフィックに俊敏に対応できる安定したインフラ環境を作成できる(色んなスマホゲームにも取り入れられている!)
・大量データを検索、解析するのに長けているサービスが豊富。(機械学習やAI技術に使われることもしばしば)
厄介な部分はAWS等と比べて、日本語表記がないので苦戦します
→慣れてポジティブに英語が読めるようなるかもしれない!
#2.GAEとは?
GAE(Google App Engine)はGCPのサービス(PaaS)の一つ。
仮想サーバー(or Dockerコンテナ)をコマンド一つでcreateして
そこへソースをデプロイしたら、すぐにアプリケーションがインターネット経由で実装できるサービス。
※メンテナンスも簡単にできて、アクセス増減に対して簡単にスケーリングできるのも魅力!
書くプログラミング言語を指定して、実行環境を作成。(Python 、Java、Node.js、PHP 、Ruby、Go...)
→選択した言語でバックエンド処理を書くイメージ
ご時世でWeb化が進んでいくかもなので
構築作業と運用コストが省くことができ、お試しだったり安価に抑えたいアプリを作ることにも活用できるサービスです。
▼公式チュートリアルはこちら (使用言語:Go)
App Engine スタンダード環境での Go 1.12+ のクイックスタート
※フレキシブル環境は無料枠ではありません。
サンプルソースをGitHubからダウンロードして、GAE上にデプロイして、画面にHelloWorld!を出力するところまでできます
サンプルソースにapp.yamlと言う構成ファイルがあり、
上記必須ファイルなので中身見ておいて損はないかと思います。(言語Runtimeが書いてあるはずです)
app.yaml構成ファイルとは
#3.GAEのデメリット
・使用できる言語が決まっているため、要件を満たせないことがある。(残念...)
・監視は別のクラウドサービスを行う必要がある。(Stackdriverなどで...)
・Google側で障害があった場合は、待つしかない。
etc...
GAE(PaaS)の仕様があるため
既存システムへ依存する移行、機能作成の場合は仕様が合わせれるか把握しておく必要があります。
※どうしても仕様に合わせられない場合は、フレキシブル環境を利用することで実現可能なのか視野に入れてみましょう。
#最後に...
まだまだ、未熟ですので
有識者の方々にオススメ、アドバイスだったり、
間違い箇所などを教えていただけたら幸いです。
こんなご時世だからこそ
知らないことを時間をかけて、ちょっと調べてみたりして
それが、成長とつながって毎日が楽しくなるようしていきたいですね!