Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
AWSを利用した
サーバーレス開発の実践
アイレット株式会社 cloudpack事業部
高橋直樹
自己紹介
• 名前 : 高橋 直樹(たかはし なおき)
• 仕事 : cloudpack エンジニア
• 好き : AWS, Python, C#, Vue.js,
• 趣味 : お酒・食事・勉強会参加・天一
• Facebook : /nao...
お約束
本資料の内容と発表での発言は、あ
くまで個人の見解であり、所属する
組織の公式見解ではありません。
AWSサービスを使用する際には、公
式サイトの情報を確認の上で、使用
してください。(特に費用面)
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
サーバーレス開発とは?
一般的なWebシステムでは、プログラムを動かすため
のサーバーが必要となり、スケーラビリティを考えたサー
バーの設計や構築、24時間稼働させるための運用方法
の検討などが必要になってきます。
サーバーレスなシステムは、そ...
サーバーレス開発とは?
具体的には、、
• サーバーレスアーキテクチャ
NoWebサーバーでプログラムを実行するサービスを、処理
の中心に据え、そのほかの機能についても、フルマネージド
なサービスで構成するシステム
• サーバーレス開発
サーバ...
サーバーレス開発とは?
AWSでは・・・
サーバーレスコンピューティングにより、アプリケーションとサービスを構築して実行
する際に、サーバーについて検討する必要がなくなります。サーバーレスアプリケー
ションでは、サーバーのプロビジョニング、スケ...
サーバーレス開発とは?
やった!!
これで勝つる!!!
サーバーレス開発とは?
と・・・
おもうだろ?
サーバーレス開発とは?
本資料では、サーバーレス開発の良い
面だけではなく、サーバーレス開発の課
題と言える面やその対策、今後自分がど
のようにサーバーレス開発を実践してい
くか?といったことを発表したいと思いま
す。
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
サーバーレスアーキテクチャの特徴
• 主な特徴
• イベント駆動型で実行されるためコストが低い
参照: https://cloudpack.jp/pdf/cloudpack_ServerlessWhitePaper.pdf
サーバーレスアーキテクチャの特徴
• 主な特徴
• セキュリティリスクが低い
Lambdaの実行環境では、実行されるプログラム以外(裏で
動いているWebサーバー、OS、ライブラリ等)のセキュリティ
アップデート等の実施をAWSが責任を持って実...
サーバーレスアーキテクチャの特徴
ただし、もちろん良いことばかりではありません。
サーバーレスアーキテクチャの特徴
• 主な特徴
• 設計手法の違い
Lambdaは、イベント駆動実行され、実行時のメモリ空間(サ
バーも)は、物理的に独立しています。そのため、1つのWeb
サーバーで動作するプログラムとは違う考え方で設計しなけ...
サーバーレスアーキテクチャの特徴
• 主な特徴
• 実行時に制限がある
Lambdaの実行時間は、一回で最大5分となっています。その
ため、実行時間を考えた設計が必要になります。
また、ファイル等の保存は実行環境ではできないため(temp
領域...
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
サーバーレスアーキテクチャの特徴
• コストについて
サーバーレス開発では、コスト面で常にWebサーバーを
起動しておかなければいけないシステムよりも安くなりま
す。
サーバーレスアーキテクチャの特徴
例えば月にかかる費用を計算すると・・・
• EC2を4台(web x 2 , DB x 2)で構成した場合
EC2(t2.medium):$0.0608 /1 時間(東京リージョン)
0.0608 x 24 x...
サーバーレスアーキテクチャの特徴
• LambdaとS3で構成した場合
1 か月に100万リクエスト、40万 GB-秒の使用時間は無料。
S3の静的ウェブサイトホスティングを利用する場合、
データ容量 : 最初の50TBまで $0.025/GB...
サーバーレスアーキテクチャの特徴
立ち上げたばかりのWebサービスであれば、月のアクセ
スが100万を超えることは、なかなか無いと考えると、
Lambdaでの構成が、いかに割安になるかわかると思い
ます。
サーバーレスアーキテクチャの特徴
ただし、もちろん良いことばかりではありません。
サーバーレスアーキテクチャの特徴
サーバーが無いということは開発時の設計をしっかり行
わなければ、システムとして破綻するため、開発にかか
る費用は一般的な開発よりも高額になります。
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
サーバーレスアーキテクチャの特徴
• 使用するサービス
AWSのサービスで、Lambdaと連携(イベントをきっかけ
にLambdaを呼び出せる)できる主なサービスは次の通り
です。
参照:
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invoking-lambda-function.html
• Amazon S3
• Amazon DynamoDB
• Amazon...
参照:
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invoking-lambda-function.html
• Amazon S3
• Amazon DynamoDB
• Amazon...
サーバーレスアーキテクチャの特徴
よく使うものとしては・・・
• API Gateway
• Cloud Watch Eventsを利用したスケジューリング
この2つさえあれば、大概のことはできると思います。
サーバーレスアーキテクチャの特徴
• API Gateway
Lambdaは他のサービスやWebから直接呼び出すことは
できないため、WebシステムでLambdaをフロント側から
呼び出す際には、API Gatewayを必ず使用します。
サーバーレスアーキテクチャの特徴
• Cloud Watch Eventsを利用したスケジューリング
定期的にLambdaを実行したい場合に使用します。
記載例)
rate(1 minute) ・・・ 1分ごとに実行
rate(5 minute...
サーバーレスアーキテクチャの特徴
サーバーレスアーキテクチャでの最大のメリットは低いコ
ストでサービスを開始できることです。 と考えると、使用
するサービスも、低コストなものを選んでいった方が良い
と言えます。
続いて、AWS以外でLambda...
サーバーレスアーキテクチャの特徴
• データベース
データベースについては、EC2を利
用してもRDSを利用しても、それなり
の料金がかかります。 私の経験し
たサーバーレスアーキテクチャのシ
ステムではkintoneをデータベースと
して使用...
サーバーレスアーキテクチャの特徴
• メール送付
システムの中で、メールを送付した
いケースは多々あると思います。
その際に使用しているサービス。
AWSにもSESというサービスがあるの
ですが、現状ではSendGridが使い
やすかったです。
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
サーバーレス開発で気をつけるべきこと
• 制限事項
サーバーレス開発では、それ以外の開発では無い様々
な制限事項があります。
これらを考慮せずに、開発を進めると思わぬ落とし穴に
はまるので、設計時に十分考慮しておきましょう。
サーバーレス開発で気をつけるべきこと
• Lambdaの制限事項
• メモリの制限 最小128M 最大1536M
• 最大実行時間 300 秒
• ファイル記述子 1024
• プロセス・スレッド 1024
• 同時実行数 1000/ アカウン...
サーバーレス開発で気をつけるべきこと
• Lambdaの制限事項
• メモリの制限 最小128M 最大1536M
• 最大実行時間 300 秒
• ファイル記述子 1024
• プロセス・スレッド 1024
• 同時実行数 1000/ アカウン...
サーバーレス開発で気をつけるべきこと
• API Gatewayの制限事項
• API数 60
• API あたりのリソース 300
• API あたりのステージ 10
• API キャッシュ TTL 0〜3600秒
• 統合のタイムアウト 3...
サーバーレス開発で気をつけるべきこと
• API Gatewayの制限事項
• API数 60
• API あたりのリソース 300
• API あたりのステージ 10
• API キャッシュ TTL 0〜3600秒
• 統合のタイムアウト 3...
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
サーバーレス開発で気をつけるべきこと
• 開発のコツ
サーバーレス開発では、今まで紹介した制限事項を踏
まえた上で、設計を行う必要があります。
サーバーレス開発で気をつけるべきこと
• その1 ・・・ そのアーキテクチャでいいの?
本当にサーバーレスアーキテクチャが必要かをよく考え
る。 正直、開発はサーバーがある場合よりも苦労が多
いです。 その上、サーバーレスアーキテクチャでも、あ...
サーバーレス開発で気をつけるべきこと
• その2 ・・・ Lambda関数は小さく分ける
Lambdaで実装を行う場合、大きな一つのLambdaですべ
てを実装するのではなく「たくさんのLambdaが次々呼び
出されることで、全体のシステムが動...
サーバーレス開発で気をつけるべきこと
• その3 ・・・ イベントソースについて
基本的には、API GatewayとCloudwatch Eventsで事足り
ると思いますが、むやみやたらに呼び出すのではなく、
例えば、API Gateway...
サーバーレス開発で気をつけるべきこと
• その4 ・・・ デプロイは自動化する
たくさんのLambdaを、AWS Consoleから管理するのは非
常に大変です。 Serverless Frameworkを使用して管理し
ましょう。 この際、共...
サーバーレス開発で気をつけるべきこと
• その5 ・・・ SEO対策について
Lambdaで動的にWebサイトを作成する際の注意点とし
て、SEO対策に弱くなる。ということが挙げられます。
これを回避するには、あらかじめLambdaでSSRをお...
サーバーレス開発で気をつけるべきこと
• その6 ・・・ 保守・運用について
サーバーレスでは、開発後の保守・運用・・・とくに運用
体制についてよく考えておかなければなりません。
サーバーレスでのエラーは、サーバー再起動で治ること
はないため、...
アジェンダ
• サーバーレス開発とは?
• サーバーレスアーキテクチャの特徴
• 主な特徴
• コストについて
• 使用するサービス
• サーバーレス開発で気をつけるべきこと
• 制限事項
• 開発のコツ
• まとめ
まとめ
• 初期の運用コストは(かなり)安く済む
• サーバー有りとは違った設計が必要
• 運用まで考えた開発を!
参考資料
• cloudpack サーバーレス開発ホワイトペーパー
https://cloudpack.jp/whitepaper/serverless.html
• サーバーレスコンピューティングとアプリケーション
https://aws.a...
ご清聴ありがとうございました!
Upcoming SlideShare
Loading in …5
×

[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏

323 views

Published on

[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏

Published in: Technology
  • Be the first to comment

[20171116 三木会] AWSを利用したサーバーレス開発の実践 by アイレット株式会社 cloudpack事業部 高橋 直樹 氏

  1. 1. AWSを利用した サーバーレス開発の実践 アイレット株式会社 cloudpack事業部 高橋直樹
  2. 2. 自己紹介 • 名前 : 高橋 直樹(たかはし なおき) • 仕事 : cloudpack エンジニア • 好き : AWS, Python, C#, Vue.js, • 趣味 : お酒・食事・勉強会参加・天一 • Facebook : /naoki.takahashi.39501 • Twitter : @uniunix
  3. 3. お約束 本資料の内容と発表での発言は、あ くまで個人の見解であり、所属する 組織の公式見解ではありません。 AWSサービスを使用する際には、公 式サイトの情報を確認の上で、使用 してください。(特に費用面)
  4. 4. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  5. 5. サーバーレス開発とは? 一般的なWebシステムでは、プログラムを動かすため のサーバーが必要となり、スケーラビリティを考えたサー バーの設計や構築、24時間稼働させるための運用方法 の検討などが必要になってきます。 サーバーレスなシステムは、その常識を覆すサーバー を必要としないサービス(AWSではLambda)を使用し、 サーバー自体のコストだけではなく、保守・運用のコスト を削減するための手法です。
  6. 6. サーバーレス開発とは? 具体的には、、 • サーバーレスアーキテクチャ NoWebサーバーでプログラムを実行するサービスを、処理 の中心に据え、そのほかの機能についても、フルマネージド なサービスで構成するシステム • サーバーレス開発 サーバーレスアーキテクチャによる開発プロジェクト
  7. 7. サーバーレス開発とは? AWSでは・・・ サーバーレスコンピューティングにより、アプリケーションとサービスを構築して実行 する際に、サーバーについて検討する必要がなくなります。サーバーレスアプリケー ションでは、サーバーのプロビジョニング、スケーリング、および管理は必要ありませ ん。サーバーレスアプリケーションはほぼすべてのタイプのアプリケーションまたは バックエンドサービス用に構築でき、高可用性を実現しながら、アプリケーションの 実行およびスケーリングに必要なことがすべて自動的に行われます。 サーバーレスアプリケーションを構築することで、開発者は、クラウドでもオンプレミス でも、サーバーやランタイムの管理や操作に煩わされず、コア製品に集中することが できます。このようなオーバーヘッドの削減によって、開発者は、スケーラブルで信 頼性の高い優れた製品の開発に費やすために時間とエネルギーを取り戻すことが できます。 参考: https://aws.amazon.com/jp/serverless/
  8. 8. サーバーレス開発とは? やった!! これで勝つる!!!
  9. 9. サーバーレス開発とは? と・・・ おもうだろ?
  10. 10. サーバーレス開発とは? 本資料では、サーバーレス開発の良い 面だけではなく、サーバーレス開発の課 題と言える面やその対策、今後自分がど のようにサーバーレス開発を実践してい くか?といったことを発表したいと思いま す。
  11. 11. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  12. 12. サーバーレスアーキテクチャの特徴 • 主な特徴 • イベント駆動型で実行されるためコストが低い 参照: https://cloudpack.jp/pdf/cloudpack_ServerlessWhitePaper.pdf
  13. 13. サーバーレスアーキテクチャの特徴 • 主な特徴 • セキュリティリスクが低い Lambdaの実行環境では、実行されるプログラム以外(裏で 動いているWebサーバー、OS、ライブラリ等)のセキュリティ アップデート等の実施をAWSが責任を持って実施します。 参照: https://cloudpack.jp/pdf/cloudpack_ServerlessWhitePaper.pdf
  14. 14. サーバーレスアーキテクチャの特徴 ただし、もちろん良いことばかりではありません。
  15. 15. サーバーレスアーキテクチャの特徴 • 主な特徴 • 設計手法の違い Lambdaは、イベント駆動実行され、実行時のメモリ空間(サ バーも)は、物理的に独立しています。そのため、1つのWeb サーバーで動作するプログラムとは違う考え方で設計しなけ ればいけません。 複数のCPUで、各プログラムが並列に動作するイメージを 持って設計する必要があります。 参照: https://cloudpack.jp/pdf/cloudpack_ServerlessWhitePaper.pdf
  16. 16. サーバーレスアーキテクチャの特徴 • 主な特徴 • 実行時に制限がある Lambdaの実行時間は、一回で最大5分となっています。その ため、実行時間を考えた設計が必要になります。 また、ファイル等の保存は実行環境ではできないため(temp 領域はあります)S3などのストレージへ保存して置く必要があ ります。 (制限事項について、詳しくは後述します) 参照: https://cloudpack.jp/pdf/cloudpack_ServerlessWhitePaper.pdf
  17. 17. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  18. 18. サーバーレスアーキテクチャの特徴 • コストについて サーバーレス開発では、コスト面で常にWebサーバーを 起動しておかなければいけないシステムよりも安くなりま す。
  19. 19. サーバーレスアーキテクチャの特徴 例えば月にかかる費用を計算すると・・・ • EC2を4台(web x 2 , DB x 2)で構成した場合 EC2(t2.medium):$0.0608 /1 時間(東京リージョン) 0.0608 x 24 x 30 = $43.776 = 4 934円 x 4台 = 約2万円
  20. 20. サーバーレスアーキテクチャの特徴 • LambdaとS3で構成した場合 1 か月に100万リクエスト、40万 GB-秒の使用時間は無料。 S3の静的ウェブサイトホスティングを利用する場合、 データ容量 : 最初の50TBまで $0.025/GBあたり月 データ転送料 : PUT, COPY, POST, LIST $0.0047 / 1000リクエスト GET $0.0037/ 10000リクエスト 10Gの静的webサイトに、月100万アクセスがあるとして $0.25 + アクセス($0.37) = $0.62 = 100円未満
  21. 21. サーバーレスアーキテクチャの特徴 立ち上げたばかりのWebサービスであれば、月のアクセ スが100万を超えることは、なかなか無いと考えると、 Lambdaでの構成が、いかに割安になるかわかると思い ます。
  22. 22. サーバーレスアーキテクチャの特徴 ただし、もちろん良いことばかりではありません。
  23. 23. サーバーレスアーキテクチャの特徴 サーバーが無いということは開発時の設計をしっかり行 わなければ、システムとして破綻するため、開発にかか る費用は一般的な開発よりも高額になります。
  24. 24. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  25. 25. サーバーレスアーキテクチャの特徴 • 使用するサービス AWSのサービスで、Lambdaと連携(イベントをきっかけ にLambdaを呼び出せる)できる主なサービスは次の通り です。
  26. 26. 参照: http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invoking-lambda-function.html • Amazon S3 • Amazon DynamoDB • Amazon Kinesis Streams • Amazon Simple Notification Service • Amazon Simple Email Service • Amazon Cognito • AWS CloudFormation • Amazon CloudWatch Logs • Amazon CloudWatch Events • AWS CodeCommit • スケジュールされたイベント (Amazon CloudWatch Events を使用) • AWS Config • Amazon Alexa • Amazon Lex • Amazon API Gateway • AWS IoT ボタン • Amazon CloudFront • Amazon Kinesis Firehose • その他のイベントソース: オンデマンドで Lambda 関数を呼び出す • イベントソースによって公開されたサンプルイベント
  27. 27. 参照: http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/invoking-lambda-function.html • Amazon S3 • Amazon DynamoDB • Amazon Kinesis Streams • Amazon Simple Notification Service • Amazon Simple Email Service • Amazon Cognito • AWS CloudFormation • Amazon CloudWatch Logs • Amazon CloudWatch Events • AWS CodeCommit • スケジュールされたイベント (Amazon CloudWatch Events を使用) • AWS Config • Amazon Alexa • Amazon Lex • Amazon API Gateway • AWS IoT ボタン • Amazon CloudFront • Amazon Kinesis Firehose • その他のイベントソース: オンデマンドで Lambda 関数を呼び出す • イベントソースによって公開されたサンプルイベント おおいわ・・・
  28. 28. サーバーレスアーキテクチャの特徴 よく使うものとしては・・・ • API Gateway • Cloud Watch Eventsを利用したスケジューリング この2つさえあれば、大概のことはできると思います。
  29. 29. サーバーレスアーキテクチャの特徴 • API Gateway Lambdaは他のサービスやWebから直接呼び出すことは できないため、WebシステムでLambdaをフロント側から 呼び出す際には、API Gatewayを必ず使用します。
  30. 30. サーバーレスアーキテクチャの特徴 • Cloud Watch Eventsを利用したスケジューリング 定期的にLambdaを実行したい場合に使用します。 記載例) rate(1 minute) ・・・ 1分ごとに実行 rate(5 minutes) ・・・ 5分ごとに実行 cron(* 2 * * ? * ) ・・・ 2時間ごとに実行
  31. 31. サーバーレスアーキテクチャの特徴 サーバーレスアーキテクチャでの最大のメリットは低いコ ストでサービスを開始できることです。 と考えると、使用 するサービスも、低コストなものを選んでいった方が良い と言えます。 続いて、AWS以外でLambda(API Gateway)と連携する サービスを紹介します。
  32. 32. サーバーレスアーキテクチャの特徴 • データベース データベースについては、EC2を利 用してもRDSを利用しても、それなり の料金がかかります。 私の経験し たサーバーレスアーキテクチャのシ ステムではkintoneをデータベースと して使用しています。
  33. 33. サーバーレスアーキテクチャの特徴 • メール送付 システムの中で、メールを送付した いケースは多々あると思います。 その際に使用しているサービス。 AWSにもSESというサービスがあるの ですが、現状ではSendGridが使い やすかったです。
  34. 34. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  35. 35. サーバーレス開発で気をつけるべきこと • 制限事項 サーバーレス開発では、それ以外の開発では無い様々 な制限事項があります。 これらを考慮せずに、開発を進めると思わぬ落とし穴に はまるので、設計時に十分考慮しておきましょう。
  36. 36. サーバーレス開発で気をつけるべきこと • Lambdaの制限事項 • メモリの制限 最小128M 最大1536M • 最大実行時間 300 秒 • ファイル記述子 1024 • プロセス・スレッド 1024 • 同時実行数 1000/ アカウント • 環境変数の容量 4 KB
  37. 37. サーバーレス開発で気をつけるべきこと • Lambdaの制限事項 • メモリの制限 最小128M 最大1536M • 最大実行時間 300 秒 • ファイル記述子 1024 • プロセス・スレッド 1024 • 同時実行数 1000/ アカウント • 環境変数の容量 4 KB 環境変数に何でもか んでもはダメ。絶対。
  38. 38. サーバーレス開発で気をつけるべきこと • API Gatewayの制限事項 • API数 60 • API あたりのリソース 300 • API あたりのステージ 10 • API キャッシュ TTL 0〜3600秒 • 統合のタイムアウト 30秒
  39. 39. サーバーレス開発で気をつけるべきこと • API Gatewayの制限事項 • API数 60 • API あたりのリソース 300 • API あたりのステージ 10 • API キャッシュ TTL 0〜3600秒 • 統合のタイムアウト 30秒 つまり30秒制限ね。
  40. 40. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  41. 41. サーバーレス開発で気をつけるべきこと • 開発のコツ サーバーレス開発では、今まで紹介した制限事項を踏 まえた上で、設計を行う必要があります。
  42. 42. サーバーレス開発で気をつけるべきこと • その1 ・・・ そのアーキテクチャでいいの? 本当にサーバーレスアーキテクチャが必要かをよく考え る。 正直、開発はサーバーがある場合よりも苦労が多 いです。 その上、サーバーレスアーキテクチャでも、あ まりにも呼び出し回数が多いようなサービスでは、あると ころを境に価格が跳ね上がることがあります。 事前に、サーバーレスアーキテクチャが必要かどうかを よく検討しましょう。
  43. 43. サーバーレス開発で気をつけるべきこと • その2 ・・・ Lambda関数は小さく分ける Lambdaで実装を行う場合、大きな一つのLambdaですべ てを実装するのではなく「たくさんのLambdaが次々呼び 出されることで、全体のシステムが動く」ように、できるだ け小さなLambdaの集合として作るようにします。
  44. 44. サーバーレス開発で気をつけるべきこと • その3 ・・・ イベントソースについて 基本的には、API GatewayとCloudwatch Eventsで事足り ると思いますが、むやみやたらに呼び出すのではなく、 例えば、API Gatewayを直接呼ぶのではなく、Cloud Front経由でキャッシュを使用する。 などすることで、よ りコストを抑えた設計が可能になります。
  45. 45. サーバーレス開発で気をつけるべきこと • その4 ・・・ デプロイは自動化する たくさんのLambdaを、AWS Consoleから管理するのは非 常に大変です。 Serverless Frameworkを使用して管理し ましょう。 この際、共通のDeployment Bucketを指定して 置くことをお勧めします。 アカウントごとの S3 Bucket数には100という制限があるた め、Lambdaが増えてくると制限を超えることがあります。
  46. 46. サーバーレス開発で気をつけるべきこと • その5 ・・・ SEO対策について Lambdaで動的にWebサイトを作成する際の注意点とし て、SEO対策に弱くなる。ということが挙げられます。 これを回避するには、あらかじめLambdaでSSRをおこな た結果をS3に保存して置くなど、一手間かける必要があ ります。
  47. 47. サーバーレス開発で気をつけるべきこと • その6 ・・・ 保守・運用について サーバーレスでは、開発後の保守・運用・・・とくに運用 体制についてよく考えておかなければなりません。 サーバーレスでのエラーは、サーバー再起動で治ること はないため、アラートが発生した場合に対応できるのは 開発者(かそれに類する人)だけという場合が多くなりま す。 どのようにシステムを監視するか・・・そこまでをプ ロジェクト開始前に検討しておきましょう。
  48. 48. アジェンダ • サーバーレス開発とは? • サーバーレスアーキテクチャの特徴 • 主な特徴 • コストについて • 使用するサービス • サーバーレス開発で気をつけるべきこと • 制限事項 • 開発のコツ • まとめ
  49. 49. まとめ • 初期の運用コストは(かなり)安く済む • サーバー有りとは違った設計が必要 • 運用まで考えた開発を!
  50. 50. 参考資料 • cloudpack サーバーレス開発ホワイトペーパー https://cloudpack.jp/whitepaper/serverless.html • サーバーレスコンピューティングとアプリケーション https://aws.amazon.com/jp/serverless/ • いらすと屋 http://www.irasutoya.com/
  51. 51. ご清聴ありがとうございました!

×