著者・監修の佐々木 拓郎さん、 高柳さん、および SB Creative さまより『Amazon Web Services クラウドネイティブ・アプリケーション開発技法 一番大切な知識と技術が身につく』をご献本いただきました。
昨今のモバイルアプリケーションには大抵の場合バックエンドも必要になりますが、たとえば僕はiOSアプリしかつくれません。そういう場合に、他のサーバーサイドエンジニアやインフラエンジニアと組む以外に、ちょっと前であれば Parse.com を利用してサクッと済ませてしまう、という選択肢もありましたが、来年にはサービス終了してしまうという悲しい事態になってしまった今、やはりモバイルアプリケーションのバックエンドのインフラとして真っ先に候補に挙がるのは AWSです。
ただそのAWS、LambdaとかMobile HubとかIoTとか色々ありすぎて、手を付け始める前からハードルを感じてしまう部分があることも否めません。例えば外部デバイスからアプリで吸い上げたデータを置いておきたい場合にはどれがいいんだろう、とか。お手軽さとか値段とかそのデータをどう利用したいか等にもよるのだと思いますが、どう検討・比較したらいいのか素人目には難しく思えてしまいます。
前置きが長くなりましたが、そんなAWSの各種サービスについてモバイルエンジニアを対象読者として 1 解説されている本がこちらです。
SBクリエイティブ
売り上げランキング: 9,910
(Kindle版もありますが、固定レイアウトのようです。)
600ページ強の大作です。以下、個人的にいいなと思ったポイントを紹介していきます。
##AWS各サービスの詳細かつ丁寧な解説
Chapter 3 には、各サービスの特徴や使いどころ、機能・導入方法・料金・制限事項など、>かゆいところに手が届く情報がまとめられています。
- 3-1 Amazon S3
- 3-2 Amazon API Gateway
- 3-3 Amazon Simple Notification Service
- 3-4 Amazon DynamoDB
- 3-5 AWS Lambda
- 3-6 Amazon Cognito
- 3-7 Amazon Machine Learning
- 3-8 Amazon Kinesis
- 3-9 Amazon Simple Queue Service
- 3-10 AWS IoT
- 3-11 AWS Mobile Hub
全項目に利用方法と基本的な使い方が書かれていて、それぞれ10~20ページにわたって豊富なスクリーンショット付きで丁寧に解説されているので、迷うことなく試してみることができそうです。
すぐに使う予定があるわけではなくても、これを見ながら一通り触ってみるのも良さそうです。一度でも触っておけば、どんなことができるのかとか、どれぐらい簡単なのかとかの感触がつかめるので。(個人的には、Lambda、Machine Learning、IoT、Mobile Hub あたりを本書を見つつ触ってみたいと思っています)
##興味深いサンプル群
Chapter4からは具体的なアプリケーションを実装してみるチュートリアルとなっており、モバイルエンジニアにとっても魅力的なサンプルが並んでいます。
以下にそのリストを列挙してみます。
- 4-1 Cognitoによる認証を利用したスマートフォン向け写真共有アプリケーション**(iOS/Android)**
- 4-2 API GatewayとLambdaによるサーバ連携するモバイルアプリケーション**(Android)**
- 4-3 API GatewayとCognito、Lambdaを連携した認証・認可サービス
- 4-4 API Gatewayを使ったモバイルのスタブAPI
- 4-5 DynamoDBとApple Watchによる健康情報の収集**(iOS/watchOS)**
- 4-6 iBeaconと連動する勤怠管理アプリケーション**(iOS/Android)**
- 4-7 Device Farmを利用したモバイルの多端末自動テストの実施**(Android)**
- 4-8 S3とLambdaによるキーワードキュレーションサービス
- 4-9 KinesisによるTwitter情報の収集
- 4-10 Machine Learningを用いたWeb閲覧履歴保存&キュレーションサービス
- 4-11 Cognito Syncを使った簡易メモアプリケーション**(iOS/Android)**
出版社のサイトよりダウンロードできるサンプルコードがあるので、カッコ**()**内にiOSもしくはAndroidのどちらのサンプルが付いているかを示しました。iOSのサンプルはSwiftで書かれています。
個人的には「DynamoDBとApple Watchによる健康情報の収集」「iBeaconと連動する勤怠管理アプリケーション」等はIoT関連の仕事をやる上でまさにそういうものが必要な場面がありましたし、認証は多くのアプリで必要になるのでどんな感じでバックエンド側を実装するのかは知っておきたいですし、「S3とLambdaによるキーワードキュレーションサービス」や「Machine Learningを用いたWeb閲覧履歴保存&キュレーションサービス」はモバイル側ではありませんが興味があり、自分で手を動かして試してみたくなるサンプル群だなと思いました。
##まとめ
アプリケーションエンジニア向けに書かれたAWS解説本、『Amazon Web Services クラウドネイティブ・アプリケーション開発技法』を紹介しました。普段あまりサーバーサイドの開発に携わることのない私のようなクライアントサイドのエンジニアにもわかりやすく、興味深い技術書だと思います。バックエンドやAWSまわりに興味がある・知識をつけたい方はぜひ一度書店などで検討されてはいかがでしょうか。
SBクリエイティブ
売り上げランキング: 9,910
-
実際には『対象とする読者は、モバイルやJavaScript等でフロントエンドアプリを開発するアプリケーションエンジニア』とあるのでモバイルエンジニアだけではないのですが、自分がモバイルエンジニアなのでその視点で書かせていただきます。 ↩