Software Design plusシリーズGoogle Cloud Platform GAEソフトウェア開発入門
―Google Cloud Authorized Trainerによる実践解説
―
2020年2月20日紙版発売
2020年2月20日電子版発売
小林明大,北原光星 著,中井悦司 監修
B5変形判/320ページ
定価3,608円(本体3,280円+税10%)
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章 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
この本に関連する書籍
-
Google Cloudではじめる実践データエンジニアリング入門[業務で使えるデータ基盤構築]
AIやIoTが実用化フェーズに入りつつあるのみならず,デジタルトランスフォーメーション(DX)への注目の高まりによって,事業やサービスを取り巻くデータを分析・活用・...
-
クラウドを支える技術 ──データセンターサイズのマシン設計法入門
「クラウド」の設計/構築/運用の基本にスポットを当てた技術解説書。 本書は,超大規模クラウドの一つGoogleのデータセンターを題材に,数千台のサーバを「1つのマシン...
-
Google App Engine for Java[実践]クラウドシステム構築
Google App EngineはGoogleの提供するクラウド環境です。Python版に続いてこの春,Java版が発表されたことで,クラウドベースのシステム構築が,いよいよ業務レベルで現...