- Jimmy
2001
2013
最重要的是.....
可口可樂使用的6臺EC2 T2.M虛擬機器,一年下來總體成本為12,864美元;然而在使用AWS Lambda的情況下,使用量每月3千萬次,一年總體成本是4,490美元,成本省了65%,相當驚人。
AWS Identity and Access Management (IAM)
IAM 是 AWS 用來管理權限的服務
我們會運用 IAM 的 KEY 來操作 AWS
*為了安全性會針對帳號給予相對應的權限
Lambda 是一種 Serverless 的服務
一個 Lambda 只有一個程式進入點
讓開發人員輕鬆發佈、維護、監控和保護任何規模的 API
現行有許多框架,serverless、apex、apex/up、claudia 幫助我們快速部署服務,省去繁瑣的 cli 操作與時間。
# serverless.yml
service: users
provider:
name: aws
runtime: nodejs6.10
stage: dev # Set the default stage used. Default is dev
region: us-east-1 # Overwrite the default region used. Default is us-east-1
profile: production # The default profile to use with this service
memorySize: 512 # Overwrite the default memory size. Default is 1024
deploymentBucket:
name: com.serverless.${self:provider.region}.deploys # Overwrite the default deployment bucket
serverSideEncryption: AES256 # when using server-side encryption
deploymentPrefix: serverless # Overwrite the default S3 prefix under which deployed artifacts should be stored. Default is serverless
versionFunctions: false # Optional function versioning
apex 專注於打包、部署以及管理 Lambda 上,屬於一包專案管理多隻 Lambda 的工具,適合大型專案或有多功能專案使用。
設定為 JSON 格式
project.json // 專案設定
functions
├── bar // lambda 名稱
│ ├── function.json // lambda 設定
│ └── index.js // lambda 程式
└── foo
├── function.json
└── index.jsUP 部署時會依據程式碼一併幫你部署好 API Gateway,提供了開箱即用的體驗,屬於一包專案管理單隻 Lambda,適合小專案或單一功能使用。
設定一樣為 JSON 格式
up.json // 專案設定
app.js // 程式碼
component
├── foo.js
└── bar.jsclaudia 與 apex/up 很相似,不過是使用 claudia-api-builder 套件部屬與管理 API Gateway
設定一樣為 JSON 格式
claudia.json // 專案設定
app.js // 程式碼
component
├── foo.js
└── bar.js