目次

はじめに

免責事項

第1章 AWSの準備

AWSアカウントを作成する
IAMユーザーを作成する

第2章 サンプルプログラムをデプロイする

サンプルプログラムの概要
Dockerのインストール
Githubからサンプルプログラムをcloneする
環境変数にAPIキーを設定する
デプロイする
Cloud Formationの画面で、スタックの内容を確認する
APIの動作確認する
スタックを消す

第3章 サンプルプログラムの構成

クリーンアーキテクチャとは
Enterprise Business Rulesを実装するdomainパッケージ
Application Business Rulesを実装するusecaseパッケージ
Interactorを実装するinteractorパッケージ
インスタンスの生成と依存関係を解消するFactory
Interface Adaptersを実装するadapterパッケージ
Frameworks & Driversについて
Lambdaのエントリーポイント

第4章 新しいAPIを追加する

概要
UseCaseを実装
Interactorを実装
Factoryにメソッドを追加
コントローラーを実装
テストを実装
Lambdaのハンドラーを実装
Serverless Frameworkの設定
デプロイする
テストで実行してみる

第5章 Modelを新たに追加する

概要
Modelを実装
リポジトリーを定義
CRUDを実装

第6章 API Gateway以外のイベントを処理する

概要
CloudWatch LogsでLambdaのログ出力を確認
S3イベントを処理する
定期的な実行を実装する

終わりに

はじめに

 本書を手にとっていただき、ありがとうございます。本書は、以下のような人を対象としています。

 ・サーバレス開発やクリーンアーキテクチャの概要を掴みたい人

 ・ひとまずサーバレス開発の流れを掴みたい人

 ・ひとまずクリーンアーキテクチャで実装されたサンプルコードを読みたい人

 本書では、ある程度の機能を備えたサンプルプログラムを使用します。以下のような作業を通して、サーバレス開発とクリーンアーキテクチャの雰囲気を掴んでいきます。

 ・サンプルプログラムをAWSにデプロイして、実際に動作を確認できるようにする

 ・サンプルプログラムの構造を理解する

 ・サンプルプログラムの改修すべきポイントを理解して、必要な機能を追加する

 サンプルプログラムを使用することによって、次のような時間を省きます。

 ・Serverless Frameworkなどの関連技術を調査する時間

 ・Dockerなどでビルド環境やテスト環境を構築する時間

 ・AWSの特性によってハマってしまう時間

 サンプルプログラムでは、以下のような技術を取り扱っています。

 ・Serverless Framework

 ・AWS Lambda

 ・DynamoDB/DynamoDB Local

 ・Cloud Formation

 ・CloudWatch

 ・S3

 ・Docker/Docker Compose(ビルド実行とテスト実行の環境構築用)

 サンプルプログラムを読み解くことによって、これらの技術の使い方を知ることができます。

 また、以下のような前提知識を想定しています。

 ・普段からMacで開発している

 ・Gitを使っている

 ・何かしらのWeb Application Frameworkを利用した開発をしたことがある

 ・ひとつ以上のプログラミング言語に慣れ親しんでいる

 ・AWSを触ったことがある、または興味がある

 ・Go言語を使ったことがある、または興味がある

 ・クリーンアーキテクチャを勉強したことがある、または興味がある

 ・RDBやNoSQLなどのデータベースを使ったことがある

 ・MVCを知っている

 なるべく楽に、サーバレス開発とクリーンアーキテクチャの雰囲気を感じていただけるように心がけています。

 ぜひご活用ください。

免責事項

 本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。

 Gopherの原著作者はRenée Frenchさんです。

 本書中の会社名や商品名は、該当する各社の商標または登録商標です。本書中では ™ および ® マークは省略させていただいております。

 不正確あるいは誤認と思われる箇所がありましたら、必要に応じて適宜改訂を行います。Githubのイシューやプルリクエストで、著者までお知らせください。

 https://github.com/memememomo/clean-serverless-book-sample-v2

試し読みはここまでです。
この続きは、製品版でお楽しみください。