AWSサーバレス開発とは?学習におすすめの参考書・動画教材

AWSサーバレス開発の学習におすすめの参考書・動画教材アイキャッチ

当ブログにはPRを含みます。

本記事では、AWSサーバレス開発に関する基本的な知識とおすすめの参考書や動画教材もご紹介します。AWSサーバレスに興味を持っている方々にとって有益な情報となれば幸いです。

なお、当ホームページもAWSのサーバレスサービスを用いて配信しています。月々のランニングコストは100円以内(ドメインは費用除く)に抑えられている上にPageSpeed Insightsでも高パフォーマンスを実現できています。

↓AWSサーバレスで作成した当サイトのパフォーマンススコア

AWSサーバレスで構築した当サイトのパフォーマンス
目次

サーバレス開発とは何か?

サーバレス開発は、従来のサーバーに依存するアプリケーション開発の常識を打ち破った開発手法です。従来のシステム開発では、アプリケーションの実行には物理的なサーバーが必要であり、その管理やスケーリングが開発者の大きな負担となっていました。

従来の開発で設計やコーディング以外で考慮すべき事項の例

しかし、サーバレス開発では、開発者がサーバーの管理やインフラストラクチャの設定にあまり関与せずにアプリケーションを開発・デプロイできます。

サーバレスではコードを用意するだけで動作させることが可能

サーバレス開発では、クラウドプロバイダーが提供するサーバーレスプラットフォームを利用してアプリケーションを実行します。これにより、開発者はアプリケーションのコードの開発に集中することができ、インフラストラクチャの管理やスケーリングなどの面倒な作業から解放されます。

また、サーバレスアーキテクチャは、リクエストごとに必要なリソースを自動的に割り当てるため、効率的なコストで運用が可能となります。

サーバレス開発は、特にクラウドネイティブなアプリケーションの開発やマイクロサービスアーキテクチャの実装に適しています。AWSや他のクラウドプロバイダーが提供する多様なサービスを活用することで、スケーラビリティや信頼性の高いアプリケーションを容易に構築することができます。

AWSサーバレスの概要

AWSでサーバレス開発を行う場合、API Gateway, Lambda, DynamoDB, CloudFront, S3 等を組み合わせることが基本となります。

サーバレスのシステム構成図の例

以下に各要素の解説を記載します。

  • AWS Lambda: リクエストに応じて処理を行うコンピュータと理解してください。イベント駆動型のコード実行サービスであり、開発者はコードをアップロードしてLambdaにトリガーを設定することで、リクエストに応じてコードが実行されます。リクエストに応じてスケーリングされます。トリガーには様々なAWSサービスを利用できます。サーバレス開発ではAPI Gatewayを使用することが多いです。
  • Amazon API Gateway: URIによって各Lambda関数を呼び出す受け付けと理解してください。APIの作成、公開、管理を行うフルマネージドサービスであり、サーバーレスアプリケーションのエンドポイントを作成し、外部からアクセスできるようにします。API GatewyのエンドポイントにアクセスしたことをきっかけにLambdaの関数を実行して応答を返却します。
  • AWS DynamoDB: データベースと理解してください。フルマネージドでスケーラブルなNoSQLデータベースサービスであり、サーバーレスアプリケーションのデータストレージに使用されます。
  • Amazon S3(Simple Storage Service): ストレージとWEBサーバの役割があると理解してください。静的なウェブサイトやアプリケーションのホスティング、大容量のファイルのストレージ、データのバックアップなど、オブジェクトストレージを提供するサービスです。ファイルの置き場所やフロントエンドを配布するWEBサーバとして利用されます。
  • Amazon CloudFront: キャッシュサーバと理解してください。コンテンツデリバリネットワーク(CDN)サービスであり、高速でセキュアなコンテンツの配信を可能にします。主に静的なコンテンツのキャッシュを行います。ユーザに近いキャッシュを利用できるので高速になります。また、キャッシュヒットした場合、バックエンドの負荷を軽減することもできます。

これらのサービスを組み合わせることで、開発者はスケーラビリティ、可用性、セキュリティを考慮したアプリケーションを構築し、運用することができます。AWSサーバレスは従来のインフラストラクチャ管理の負担を軽減し、アプリケーションの迅速な開発と展開を可能にします。

AWSサーバレスのメリットとデメリット

AWSサーバレスの採用には、多くのメリットがありますが、同時に考慮すべきデメリットも存在します。

筆者が参画しているシステム開発プロジェクトではサーバレスの採用が圧倒的に多いです。デメリットよりメリットが大きいと感じています。

新規開発システムにおいてはデメリットは問題ない場合が多いです。現行システムをサーバレスに移行する際は、デメリットの影響を受ける可能性があるのでしっかり確認しておきましょう。

メリット

  • スケーラビリティと柔軟性: AWSサーバレスは、トラフィックやリクエストの増減に応じて自動的にスケーリングされるため、アプリケーションのスケーラビリティが向上します。また、異なるサービスを組み合わせることで、柔軟なアーキテクチャを構築することができます。
  • コスト効率: 従量課金制のため、リソースの使用量に応じて支払いが発生します。サーバーレスアーキテクチャでは、リクエスト数や実行時間に応じて料金が発生するため、リソースの無駄遣いを最小限に抑えることができます。
  • 運用の簡略化: サーバーレスアーキテクチャでは、インフラの管理や保守がAWSによって実施されるため、開発者はアプリケーションの開発と改善に専念することができます。
  • 高可用性と耐障害性: AWSのサーバーレスサービスは、マルチAZ展開や自動フェイルオーバーなどの機能を提供し、高可用性と耐障害性を確保しています。

デメリット

  • コールドスタートの発生: AWS Lambdaなどのサーバーレスサービスは、最初のリクエストに対する応答時間が通常の実行よりも長くなることがあります。これは、リソースの起動に時間がかかるためです。
    リクエストの間隔が一定以上あく場合もコールドスタートが発生します。これの対策として実行数の予約ができますが、別途料金がかかります。
  • 言語の制限: AWS Lambdaでは用意されている言語以外での開発ができません。Java、Nodejs、Python、Rubyなどの主要言語はサポートされていますが、事前に言語は確認しておきましょう。
  • 制限事項: サーバーレスアーキテクチャには、リソースの制限や制約が存在します。たとえば、AWS Lambdaの場合、実行時間の上限やメモリの制限などがあります。
    サーバレスでは受付から応答まで30秒以上かかるAPIは実装できません。

おすすめの参考書・動画教材の紹介

これからAWSサーバレス開発に関する知識を深めたい方におすすめの参考書や動画教材を紹介します。

以下の教材はネットで調べた断片的な知識とは異なり、体系的に学習できます。

教材 特徴 価格 評価 詳細
AWS Lambda実践ガイド 第2版
書籍
Lambda実践ガイド
サーバレス開発に欠かせないLambdaに加えてS3やSNS、SESなどの周辺サービスも解説
読み物としてもハンズオンとしても使える
Cloud9、SAMを使った実践的な開発、デプロイ手法を学べる
書籍ゆえに情報が古い箇所がある
3,960円
詳細はこちら

AWS Lambda Serverless Framework 速習ハンズオンサムネイル
動画教材
AWS Lambda
Serverless Framework
速習ハンズオン
書籍に比べ、情報のアップデートが速い
サーバレス開発で人気のServerless Frameworkを学べる
各サービスの解説に加えてハンズオンを実施できる
ハンズオンを通して簡単なシステム開発(TODO管理システム)ができる
ハンズオンで環境が異なる場合、トラブルシュートが必要(講師に質問可能です。)
3,000円
セール時↓
2,000円

詳細はこちら

AWS REST APIサーバーレスアーキテクチャ入門サムネイル
動画教材
REST API・サーバーレス
アーキテクチャ入門
書籍に比べ、情報のアップデートが速い
サーバレスのREST APIについて基本から学べる
各サービスの解説に加えてハンズオンを実施できる
ハンズオンを通して簡単なシステム開発(ユーザ情報操作システム)ができる
ハンズオン中のAWSコンソールが古い場合がある。(不明点がある場合、講師に質問できます。)
6,200円
↓セール時
4,000円

詳細はこちら

各製品の比較

【書籍】AWS Lambda実践ガイド

書籍で学びたい方向けにおすすめの教材です。初めから丁寧に解説してくれるので初心者~中級者まで幅広い方におすすめです。

本書ではCI/CDツールであるSAM(サーバーレスアプリケーションモデル)を使った実践的な学習が可能となっています。

SAMとはアプリケーションをデプロイする仕組みととらえてください。

従来のサーバーに依存するアプリケーション開発と比較した場合のサーバレス開発の勘どころについても分かりやすく解説してくれます。

書籍ゆえにWEB教材と比較して情報の鮮度が古めである点は注意してください。

↓出版社より

出版社よりAWS Lambda実践ガイドの紹介
本書の特徴
  • サーバレス開発に欠かせないLambdaに加えてS3やSNS、SESなどの周辺サービスも解説してくれる
  • 読み物としてもハンズオンとしても使える
  • Cloud9、SAMを使った実践的な開発、デプロイ手法を学べる
  • 書籍ゆえに情報が古い箇所がある

【動画教材】AWS Lambda / Serverless Framework 速習ハンズオン

AWSなどのクラウドの学習にはUdemyがおすすめです。

Udemyの教材がおすすめな理由
  • 30日以内であれば返金可能(気軽に始められる
  • 教材購入後もコンテンツがアップデートされる(頻繁にアップデートされるクラウド学習に最適
  • 不明点を講師に質問可能
  • スマホでも視聴可能(隙間時間の活用
  • 月に数回(2~3回)実施するセールでは数万円のコースも2,000円程度に割引される(安価!

紹介する教材は開発の現場でたびたび利用されるServerless Frameworkを使ったサーバレス開発を学べます。

Serverless Frameworkとは

Serverless Frameworkは、クラウド上でアプリケーションを構築するためのツールです。

AWS、Azure、GCPなどの多数のクラウドサービスで使用することができます。複数のクラウドで利用できるため、人気のツールです。

開発現場ではSAMとServerless Frameworkがよく利用されています。

以下のようなサーバレスシステムを作成するハンズオンも付属しており、実践的な学習が可能です。作成したシステムは自分でカスタマイズも可能なのでいろいろ試してみると楽しいです。

AWS Lambda / Serverless Framework 速習ハンズオンのハンズオンで作成するシステムの構成図
本動画教材の特徴
  • 書籍に比べ、情報のアップデートが速い
  • サーバレス開発で人気のServerless Frameworkを学べる
  • 各サービスの解説に加えてハンズオンを実施できる
  • ハンズオンを通して簡単なシステム開発(TODO管理システム)ができる
  • ハンズオンで環境が異なる場合、トラブルシュートが必要(講師に質問可能です。)

↓講座のリンクです。リンク先で10分程度の無料プレビューが視聴可能です。

AWS Lambda / Serverless Framework 速習ハンズオン icon

Serverless Framework 速習ハンズオン詳細

【動画教材】AWSで学ぶ!REST API・サーバーレスアーキテクチャ入門

こちらの講座もUdemyの動画教材です。

こちらの講座はREST APIに軸足を置いた講座です。REST APIとはどういうものかを作りながら学べる講座です。かなり丁寧に説明してくれるので初心者の方にもおすすめの講座です。

REST APIとは

サーバレスで開発する場合はほぼREST API一択となります。

REST API(Representational State Transfer API)は以下のRESTの4原則に則って作成されたAPIのことです。状態を保持しないサーバレスにマッチしたAPIです。

  • 統一インターフェース
  • アドレス可能性
  • 接続性
  • ステートレス性

ハンズオンでは以下のシステム構成でユーザ情報操作システムのREST APIを作成します。

AWSで学ぶ!REST API・サーバーレスアーキテクチャ入門のハンズオンで作成するシステムの構成図
本動画教材の特徴
  • 書籍に比べ、情報のアップデートが速い
  • サーバレスのREST APIについて基本から学べる
  • 各サービスの解説に加えてハンズオンを実施できる
  • ハンズオンを通して簡単なシステム開発(ユーザ情報操作システム)ができる
  • ハンズオン中のAWSコンソールが古い場合がある。(不明点がある場合、講師に質問できます。)

↓講座のリンクです。リンク先で20分程度の無料プレビューが視聴可能です。

AWSで学ぶ!REST API・サーバーレスアーキテクチャ入門 icon

REST API・サーバーレスアーキテクチャ入門詳細

まとめ

  • サーバレス開発とは、従来のサーバーに依存するアプリケーション開発の常識を打ち破った開発手法であり、クラウドプロバイダーが提供するサーバーレスプラットフォームを利用してアプリケーションを実行する開発方法である。
  • AWSサーバレス関連サービスの例:
    • AWS Lambda: リクエストに応じて処理を行うコンピュータであり、開発者はコードをアップロードしてLambdaにトリガーを設定し、リクエストに応じてコードが実行される。
    • Amazon API Gateway: URIによって各Lambda関数を呼び出す受け付けであり、APIの作成、公開、管理を行うフルマネージドサービスである。
    • AWS DynamoDB: フルマネージドでスケーラブルなNoSQLデータベースサービスであり、サーバーレスアプリケーションのデータストレージに使用される。
    • Amazon S3(Simple Storage Service): 静的なウェブサイトやアプリケーションのホスティング、大容量のファイルのストレージなどを提供するオブジェクトストレージサービスである。
    • Amazon CloudFront: 高速でセキュアなコンテンツの配信を可能にするコンテンツデリバリネットワーク(CDN)サービスであり、静的なコンテンツのキャッシュを行う。
  • AWSサーバレスのメリット:
    • スケーラビリティと柔軟性が向上し、コスト効率が高まる。
    • 運用の簡略化や高可用性と耐障害性が確保される。
  • AWSサーバレスのデメリット:
    • コールドスタートの発生や言語の制限、制限事項が存在する。
教材 特徴 価格 評価 教材リンク
AWS Lambda実践ガイド 第2版
書籍
Lambda実践ガイド
サーバレス開発に欠かせないLambdaに加えてS3やSNS、SESなどの周辺サービスも解説
読み物としてもハンズオンとしても使える
Cloud9、SAMを使った実践的な開発、デプロイ手法を学べる
書籍ゆえに情報が古い箇所がある
3,960円


Amazonで確認
AWS Lambda Serverless Framework 速習ハンズオンサムネイル
動画教材
AWS Lambda
Serverless Framework
速習ハンズオン
書籍に比べ、情報のアップデートが速い
サーバレス開発で人気のServerless Frameworkを学べる
各サービスの解説に加えてハンズオンを実施できる
ハンズオンを通して簡単なシステム開発(TODO管理システム)ができる
ハンズオンで環境が異なる場合、トラブルシュートが必要(講師に質問可能です。)
3,000円
セール時↓
2,000円



AWS Lambda / Serverless Framework 速習ハンズオン icon
AWS REST APIサーバーレスアーキテクチャ入門サムネイル
動画教材
REST API・サーバーレス
アーキテクチャ入門
書籍に比べ、情報のアップデートが速い
サーバレスのREST APIについて基本から学べる
各サービスの解説に加えてハンズオンを実施できる
ハンズオンを通して簡単なシステム開発(ユーザ情報操作システム)ができる
ハンズオン中のAWSコンソールが古い場合がある。(不明点がある場合、講師に質問できます。)
6,200円
↓セール時
4,000円


AWSで学ぶ!REST API・サーバーレスアーキテクチャ入門 icon
各製品の比較
  • おすすめの参考書・動画教材:

以上です。

ランキング

ランキングに参加しています。クリックして応援いただけると嬉しいです。
にほんブログ村 IT技術ブログ クラウドコンピューティングへ
にほんブログ村
AWSランキング
AWSランキング

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次