【ブックレビュー】AWSで実現するモダンアプリケーション入門
この本を手に取った理由は、この本が紹介しているであろう内容がまさに今仕事で必要だと考えていたからです。 ベンチャーが早期にビジネスを立ち上げ、一刻も早く収益を得るためにはとにかく「動くシステムをすぐ作る」ことが重要でしょう。 EC2をフロントに、バックをRDSに・・・というオンプレの構成をそのままクラウドに乗せ換えるのはよくあります。 しかし組織やビジネスの拡大により、競争力を高めるためにもモダンアプリケーション化を目指す必要があることを日々痛感しているため、うってつけの教材になることを期待して購入しました。
Sample Book Storeという、先上げたようなクラシックな形のサービスをモダンにしていこうという本のスタンスはリアリティがあります。 The Twelve-Factor Appとそれを発展させたBeyond the Twelve-Factor Appを用いて、AWS上のサービスを使ってのモダンアプリケーション作成の技法を知ることができます。
読んでいくと、自分が今面倒見ているシステムはすべてが古臭いということはなく、ちゃんとベストプラクティスに則ってモダンになっている箇所も存在したことが分かりました。前の担当者をありがたがると同時に、自分もさらにモダン化を進めなければという気持ちになります。
読んでいて特に驚いたのは複数のデータベースを利用する技。登録はイベント単位でDynamoDBに入れて、それをストリーミング&成形してRDSに格納することで、Insertの時間短縮と検索クエリの高度化を図るというアイディアは「モダンだ!」と思いましたね。下手するとデータの整合性がむちゃくちゃになってしまうので緻密なテストが必要ですが、チャレンジする価値はあると思いました。
この本ではモダンアプリケーションとはマイクロサービスをAPI連携で繋げると定義しています。密結合ほどシステムの追加変更は難しくなるのは様々な本に書かれている通り。しかしこれを実現するためには、僕たち開発者が「今までのやり方だと…」と逃げるのではなく、疎結合でサービスを設計し直すことを逃げずに挑戦する必要があります。慣れている若い人には「何を大げさな」という表現かもしれませんが、これまで慣れてきたものから脱却し、新しいことにチャレンジするのはエネルギーがいることなのです。現状のアーキテクチャのインフラとアプリの仕様を理解する、それをこの本にあるようにBefore/Afterできるとしたら、どういう形がベストなのか(この本に載っているすべてのサービスを使って置き換えるのは得策ではない、と本の中にもあります)をみんなで考える、そういうことをやっていく気持ちにさせてくれる本でした。