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.

Serverless

149 views

Published on

\Serverless/

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Serverless

  1. 1. Serverless
  2. 2. Serverless λ
  3. 3. .。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
  4. 4. Serverless
  5. 5. FaaS
  6. 6. FaaS (Function as a Service)
  7. 7. FaaS (函數 as a Service)
  8. 8. 例へば AWS Lambda Google Cloud Functions Azure Functions IBM OpenWhisk 等
  9. 9. 例へば AWS Lambda Google Cloud Functions Azure Functions IBM OpenWhisk 等
  10. 10. Serverless PaaS、IaaS、BaaSとは何が違ふの?
  11. 11. Serverless Serverless Architectures http://martinfowler.com/articles/serverless.html
  12. 12. Serverless FaaSはfull managedでstateless
  13. 13. Serverless If your PaaS can efficiently start instances in 20ms that run for half a second, then call it serverless. https://twitter.com/adrianco/status/736553530689998848
  14. 14. Serverless 0.02秒でインスタンスを起動し0.5秒だけ動作するなら、その PaaSはserverless。
  15. 15. Serverless (Erlangっぽいよね)
  16. 16. AWS Lambda 対応⾔語は Python 2 Node.js Java 8
  17. 17. AWS Lambda λを呼び出せるイベントは LambdaのHTTP API、AWS IoT、API Gateway、CloudWatch Schedule、CloudWatch Logs、CognitoのSync、DynamoDBの 更新、Kinesis、S3の更新AWS SNS
  18. 18. AWS Lambda λから使へるリソースは AWSの全部、 AWS外のAPIで呼べるリソースも何でも
  19. 19. AWS Lambda バージョン管理 → 函數バージョンにエイリアスを付ける Log → CloudWatchに吐く 監視 → CloudWatchで API Gatewayでの認證 → 認證⽤のLambdaを呼ぶ
  20. 20. AWS Lambda フレームワークには Serverless Apex 等
  21. 21. AWS Lambda フレームワークには Serverless Apex 等
  22. 22. Serverless Framework https://serverless.com/
  23. 23. Serverless Framework Nearly 1.0 (1.0.0-beta2)
  24. 24. Serverless Framework 10,316☆stars on GitHub
  25. 25. Serverless Framework pluggable
  26. 26. Serverless Framework プロジェクト = 函數とイベントとリソースの集まり
  27. 27. Serverless Framework AWS Lambda Google Cloud Functions Azure Functions IBM OpenWhisk に対応してゐる
  28. 28. λとAPI Gatewayとの連携
  29. 29. λとAPI Gatewayとの連携 Terraformでやる場合
  30. 30. λとAPI Gatewayとの連携 API GatewayとLambdaの組み合はせでリリースするバージョンを制御する - c4se記:さっちゃんで すよ☆ http://c4se.hatenablog.com/entry/2016/07/26/122508 29,238⽂字 Terraformのmoduleを書く - c4se記:さっちゃんですよ☆ http://c4se.hatenablog.com/entry/2016/08/09/152619 11,198⽂字
  31. 31. λとAPI Gatewayとの連携 死
  32. 32. λとAPI Gatewayとの連携 死
  33. 33. λとAPI Gatewayとの連携 死
  34. 34. λとAPI Gatewayとの連携 コードのデプロイ⼿順
  35. 35. λとAPI Gatewayとの連携 最初のデプロイ: 1. aws_lambda_alias.prodのfunction_versionを "$LATEST" にしておく。Lambda函數作成前で、publish_versionも してゐずバージョンが未だ無い爲。 2. LambdaとAPI Gatewayをデプロイ。 3. API Gatewayをstagingステージにデプロイ。 4. stagingで検証。 5. Lambdaをpublish_versionして、Versionをメモする。 6. aws_lambda_alias.prodのfunction_versionを 上でメモしたバージョンに書き換へる。 7. Lambdaをデプロイ。 8. API Gatewayをprodステージにデプロイ。 API Gatewayの設定を更新した場合: 1. API Gatewayをデプロイ。 2. API Gatewayをstagingステージにデプロイ。 3. stagingで検証。 4. API Gatewayをprodステージにデプロイ。 Lambdaの設定やコードを変更した場合: 1. Lambdaをデプロイ。 2. stagingで検証。 3. Lambdaをpublish_versionして、Versionをメモする。 4. aws_lambda_alias.prodのfunction_versionを 上でメモしたバージョンに書き換へる。 5. Lambdaをデプロイ。
  36. 36. λとAPI Gatewayとの連携 死
  37. 37. λとAPI Gatewayとの連携 死
  38. 38. λとAPI Gatewayとの連携 死
  39. 39. λとAPI Gatewayとの連携 ⼀⽅、Serverlessでは s-function.json 2628⽂字
  40. 40. λとAPI Gatewayとの連携 `sls deploy`
  41. 41. λとAPI Gatewayとの連携 やりましたね!
  42. 42. Serverless
  43. 43. Serverless 0.02秒でインスタンスを起動し0.5秒だけ動作するなら、その PaaSはserverless。

×