Software Design plusシリーズGoogle Cloud Platform GAEソフトウェア開発入門
Google Cloud Authorized Trainerによる実践解説

[表紙]Google Cloud Platform GAEソフトウェア開発入門 ―Google Cloud Authorized Trainerによる実践解説

B5変形判/320ページ

定価(本体3,280円+税)

ISBN 978-4-297-11215-8

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Google Cloudは,すぐにクラウドでアプリを開発できるので,ビジネスをすばやくIT化できます。フルマネージド(サーバー管理が要らない!)なので,Googleの技術基盤にフルに任せながら,安心してソフトウェア開発に注力できます。しかもGoogle App Engineを使うならば,必要なプログラミング言語はPythonだけです。しかもWebブラウザだけで開発できます。本書はGoogle Cloudの優れた機能を紹介しながら,Python+Flaskフレームワークを使いWebアプリ方を紹介します。この開発工程をともに学ぶことでクラウド上でのソフトウェア開発の要諦を学ぶことができるでしょう。Google Cloudのパワーとテクノロジーを習得しましょう!

こんな方におすすめ

  • Google Cloudを使ってみたい,試してみたいエンジニアに!
  • ブラウザさえあればGoogle App Engineですぐにクラウドソフトウェア開発できます

著者の一言

本書はGAEアプリケーションを正しく開発したい人のための入門書です。
Google App Engine(GAE)はGoogle Cloud Platform(GCP)のWebアプリケーション開発のためのサービスです。GAEはGCPの中でも最も古いサービスでGCPの代表的なサービスの1つです。手軽にWebアプリケーションを構築できるところが大変好評を得ています。何かしらのWebアプリケーションを開発したことがある人なら,GAEでアプリケーション(以降,アプリ)を開発し,すぐに公開できます。しかし,誰でもGAEアプリケーション開発を正しく実行できるというわけではありません。GCPとGAEを正しく使うことは別問題です。GCPは数あるクラウドサービスの中でも,Googleが開発した先端技術を取り入れている数多くのサービスを利用できます。優れたGAEアプリケーションを作るためには,関連するGCPのサービスを理解し最大限に活用することが重要です。
本書ではただ単にアプリケーションを作るのではなく,アプリケーションを正しく開発するということにフォーカスを当てています。GAEだけでなく開発に必要なGCPサービスについても詳しく説明しました。「GAEとは何か」,「GCPとは何か」,「Googleが目指すクラウドサービスは何か」ということを知ることが大切です。
筆者はGAEが登場した頃から使っており,現在も使い続けています。その間,GAEがどのように進化してきたのかを見てきました。GAEから始まり,GCPのサービスの1つとなり,GAE Flexが登場し,GAE 2ndに進化しました。現在,GAEはWebアプリケーション開発の最高のソリューションになったと思っています。
GAEにかかわって10年以上の経験から得たノウハウをわかりやすく伝えたい,より多くの人にGAEの素晴らしさを感じていただきたいと思い,本書を執筆しました。みなさんが本書を手にとり,GAEアプリケーションを正しく開発できる,その手助けになれば幸いです。 本書の執筆にあたり,たくさんの方々の協力を得て,原稿を書き上げることができました。多忙の中,監修を引き受けていただいた中井悦司さん,執筆初期の頃からレビュー,アプリケーションのデバッグに多大な協力していただいいた白川舞さん,クライアント画面の作成を全面的に手伝っていただいた石川孝之さん,アプリケーション開発の的確なアドバイスと画像提供をしてくれた宮山龍太郎さん,五十嵐毅さん,本当にありがとうございました。執筆に至らないところだらけの筆者を,優しく,厳しく支えてくれ技術評論社の編集部の方々にお礼を申し上げます。 最後に執筆に専念している中,いつも暖かく応援をしてくれた妻に感謝しています。

補足

本書で解説している「Exampleアプリーション」と「GuestBookアプリケーション」の完成版をGitHubで公開しています。下記のURLを参照し,当該ファイルを適宜ダウンロードください。

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

目次

第1章 Google Cloud Platform

  • 1.1 Google Cloud Platformとは
  • 1.2 GCPの歴史
  • 1.3 なぜGCPなのか

第2章 Google App Engine

  • 2.1 Google App Engine の種類
  • 2.2 Google App Engine の特徴
  • 2.3 GAEの目指すところ

第3章 開発環境の構築

  • 3.1 GAEアプリケーションの開発環境を準備する
  • 3.2 3GCPプロジェクトとは
  • 3.3 GCPプロジェクトを作成する
  • 3.4 Google Cloud Shellとは
  • 3.5 コードエディターとは

第4章 GAEアプリケーション作成

  • 4.1 最初のGAEアプリケーションを作成する
  • 4.2 アプリケーションのデプロイ
  • 4.3 デプロイバージョンを管理する
  • 4.4 [実習]アプリケーションの作成
  • 4.5 アプリ作成のまとめ
  • 4.6 課金上限を設定する

第5章 Web アプリケーション概要

  • 5.1 モダンなWebアプリケーション
  • 5.2 Web APIとは
  • 5.3 本書で作成するWebアプリについて

第6章 FlaskによるHTTPリクエストの処理

  • 6.1 Flask フレームワーク
  • 6.2 テンプレートの利用
  • 6.3 [実習]Jinja2を使う
  • 6.4 エラーページのカスタマイズ
  • 6.5 [実習]エラーハンドリング
  • 6.6 フォーム処理
  • 6.7 Web APIの追加
  • 6.8 GETメソッド[練習①]
  • 6.9 [実習]GETメソッド①
  • 6.10 POSTメソッドの練習
  • 6.11 [実習]POSTメソッド
  • 6.12 GETメソッド[練習②]
  • 6.13 [実習]GETメソッド②

第7章 ログ

  • 7.1 アプリケーションログ
  • 7.2 Python logging モジュールを使ったログ出力
  • 7.3 [実習]ログ出力
  • 7.4 Logging Client Libraries を使ったログ出力
  • 7.5 Cloud Logging Handler を使ったログの出力

第8章 Cloud Datastoreを使う

  • 8.1 Cloud DatastoreとCloud Firestore
  • 8.2 Datastore にデータを保存する
  • 8.3 [実習]データの保存
  • 8.4 Datastore からデータを取得する
  • 8.5 [実習]データの取得
  • 8.6 データを1件取得する
  • 8.7 [実習]Key を使ったデータ取得
  • 8.8 Datastore からデータを更新する
  • 8.9 [実習]データの更新
  • 8.10 Datastore からデータを削除する
  • 8.11 [実習]データの削除
  • 8.12 実習をローカル環境で動かす

第9章 エンティティグループ

  • 9.1 エンティティグループとは
  • 9.2 エンティティグループを作成する
  • 9.3 [実習]エンティティグループの作成
  • 9.4 エンティティグループを取得する
  • 9.5 [実習]エンティティグループを取得する

第10章 Google Cloud Storageを使う

  • 10.1 Google Cloud Storageとは
  • 10.2 実践GCS
  • 10.3 GAEからGCSを操作する
  • 10.4 GCSにファイルをアップロードする
  • 10.5 [実習]GCSにファイルをアップロードする
  • 10.6 GCSからファイルを取得する
  • 10.7 [実習]GCSからファイルを取得する

第11章 そのほかのサービス

  • 11.1 GCPの機能をもっと使うには
  • 11.2 Cloud Identity-Aware Proxy(Cloud IAP)とは
  • 11.3 Cloud Tasks
  • 11.4 Cloud Scheduler

著者プロフィール

小林明大(こばやしあきひろ)

1章から5章,7章から11章を執筆。1977年生まれ神奈川県出身の登山とサバイバルゲームが趣味なGoogle大好きエンジニア。最近ではキャンプにもハマり,キャンプしたあとの登山というパイプラインが構築されている。もともとはありふれたJavaエンジニアだったが,趣味で始めたAndroid開発が本職になり,いつのまにか高校大学専門学校で講師として活躍。現在早稲田大学でAndroidとPythonを指導。一方で同じ時期に趣味で続けたGCPもGoogle Cloud Certified Professionalの資格を取得をきっかけに公認トレーナーの道に進む。Google Cloud Authorized Trainerとして公式のGCPトレーニングおよび,Google主催のイベントの講演実績多数あり。講師業以外にも個人事業主として開発もするGCPの技術コンサルタントして活躍。いくつかの有名企業でGCPを使った大規模開発に携わる。また友人と3人で株式会社エル・ストームを起業するも,翌年に役員を退任。現在,楽天モバイル株式会社でクラウド事業に従事。変わった経歴の持ち主として自負しているが,これで良かったと思っている。


北原光星(きたはらこうせい)

5章,6章を執筆。1982年生まれ長崎県出身の登山とキャンプが好きなエンジニア。主にITベンチャーでGCPやAWSを用いたクラウドネイティブなアプリケーション開発に従事。現在はスマートホテル事業を展開する株式会社SQUEEZEでテックリードを担当している。OSS活動としてPythonプロジェクトを保守するコミュニティJazzbandに所属。


中井悦司(なかいえつじ)

監修。1971年4月大阪生まれ。ノーベル物理学賞を本気で夢見て,理論物理学の研究に没頭する学生時代,大学受験教育に情熱を傾ける予備校講師の頃,そして,華麗なる(?)転身を果たして,外資系ベンダーでLinuxエンジニアを生業にするに至るまで,妙な縁が続いて,常にUnix/Linuxサーバと人生を共にする。Linuxディストリビュータのエバンジェリストを経て現在は,米系IT企業のCloud Solution Architectとして活動。
最近は,機械学習理をはじめとするデータ活用技術の基礎を世に広めるために,講演活動のほか,雑誌記事や書籍の執筆にも注力。執筆書籍は,『[改訂]プロのためのLinuxシステム・ネットワーク管理技術』,『プロのためのLinuxシステム・10年効く技術』,『独習Linux専科――サーバ構築/運用/管理』,『Docker実践入門』,『ITエンジニアのための機械学習理論入門』(以上,当社刊行),『TensorFlowで試しながら学ぶディープラーニング入門』(マイナビ出版)。『技術者のための基礎解析学』,『技術者のための線形代数学』,『技術者のための確率統計学』,『プログラマのためのGoogle Cloud Platform入門』(以上,翔泳社)など。