Posted at

AmazonWebServicesを使ったサーバーレスアプリケーション開発ガイドを読みました

More than 1 year has passed since last update.

著者の西谷圭介(@Keisuke69)さんから献本いただきましたので書評というか所感を書かせて頂きました。

当初は手を動かしながら読み進めて、全部終わったら記事を書こうと思ってたんですが、タイプミスの多発&サポートサイトを知らんかったという阿呆な状況でハマリまくってしまいまして、先に読みきってエントリ書く方針に変更しました。

※大概、というか全て大文字小文字の打ち間違いが原因です。サポートサイトからソースを落としてテキスト比較したらすぐ解決するレベルでした。。。

多分ある程度慣れているエンジニアの方ならここまで梃子摺ってないはず。。。


これを書いてる人のレベル感


  • 実装スキル


    • 6年前(2012年)までは業務でjava等のコードを書いていましたが、直近6年間は殆どコードを書いておらず、昨年から自己学習で自分の時間に再びコードを書き始めたレベルです。

    • 業務で辛うじて書いていたのはOracleのPL/SQLやWindowsのバッチ等です。

    • 最近はEC2立てる案件があり、ここぞとばかりにPythonで書いてたりします。



  • AWSスキル


    • 業務利用はありますが、EC2,RDS等のモノリシックな利用のみです。

    • LambdaやAPIGateway、DynamoDBなどサーバーレス系は自己学習で使う程度です。



  • 総じてレベルの低いSIerと認識していただければ間違いありません。


全体を通して



  • サーバーレスを何となく知っているけど、「じゃあ実際にはどういうサービスをどう構成するの?」というレベルの方に非常に良いです。


    • 各サービスの概要や使いどころなどが書かれていて、サーバーレスなアーキテクチャを理解して実装してみる助けになります。

    • 特に中途半端な知識レベルな場合、ちゃんと補完できて良いです。

    • どうサービスを構成すれば良いかパターンがいくつか載っているので、引き出しが増やせます。

    • 知らないとしょーもないアーキテクチャパターンでしか考えられないので、めっちゃ重要。




  • 手を動かしながら学べる為、知識として腹落ちしやすい。


    • コードもとりあえずは写経(書籍のコードを丸写し)で良いので気楽にTryできる。

    • 極論サポートサイトからソースを持ってくれば良いので、簡単にサーバーレスアプリケーションを構築してみることができます。

    • いずれにしてもサポートサイトから正しいソースはダウンロードしておいた方が良いです。

    • 一方何も考えずに写経しちゃうと何も身に付かない・・・。



  • 文体は平易で読みやすいです。



特徴(お気に入りポイント)


  • AWSの操作をCLIで進めていく。


    • GUIの方が初心者には簡単で楽なんですが、AWSのGUIはしょっちゅう変わるので、CLIで触ってみれるのはかなり良いポイントです。



  • Cognitoをアプリに組み込んでいる


    • 当たり前のようにCognitoを使ってる構成図を良く見ますし、使い倒してる方も多数いらっしゃると思いますが、モノリスばっかりなSIerには使う機会があまりなく、自分でアプリに組み込んでみれるのは非常に良いです。



  • Recognitionをアプリで使ってみれる


    • Cognito同様です。

    • ブラウザ上で試してみたことはありましたが、アプリに組み込んで見れたのはGoodでした。

    • ちなみに、執筆時点では東京リージョンで使えなかったようですが、現在は東京リージョンでも仕えます。



  • VUEjsでSPAを作ってみることができる


    • SPAって言葉は知っているし、作ってみるべきだと思ってはいるけど、REACTとかAngularとか一杯あってどれが良いのか分からないまま手付かずだったので良い切欠になりました。

    • 本書ではVUEJSの細かい話は記載されていないので、追ってしっかり補完していきたいです。



  • X-Rayも気にはなっているけど業務上用途がなかったり、どう試したら良いか分からなかったので、めっちゃ助かります。

  • SAMの解説やデプロイプロセスなどの実際の開発時に必要なプロセス周りの内容も記載されています。



  • 総じて、業務上使う機会がなかったり、使ってみたいけどどうしたら簡単に試せるのか分からない人にめっちゃ良い!という感想になります。

    まさしくそんな状態だったので、ホントに助かりました。


    • ここから提案できるか、はまず社内で戦わないといけないのが憂鬱。




気を付けること


  • ある程度はコードを読める必要があります。


    • コードに関する細かい説明は省略されている部分が多いので、全くのプログラム初心者にはキツイと思います。



  • ハマった時は正しいコードと比較すると近道です。(WindowsだとDFとかWinMergeとか)


    • 気をつけていたつもりでも、大文字と小文字を間違えると動かないこともあります。(エンジニアには当然のことですが。。。)

    • デプロイエラー時の調べ方(トラブルシューティング)が掲載されていたらもっと良かったかなぁと思います。(実際の開発ではありそうなので)



  • AWSアカウントを初めて作る人は、別途MFAの設定等、セキュリティ周りの作業をすることをお勧めします。

以上です!