Hello大家好,我们今天的课时的内容是Serverless Application Model,SAM。
SAM功能和用途
SAM,无服务器应用模型,是用于在AWS上构建无服务器应用程序的一个框架,这些无服务器应用程序通常包括:Lambda函数,DynamoDB table,API网关等。
所有的配置都是通过YAML代码的,看起来有一点像CloudFormation。因为SAM是CloudFormation的扩展,是基于CloudFormation工作的。
比如:
- 创建Lambda函数,可以通过AWS::Serverless::Function;
- DynamoDB table,通过AWS::Serverless::SimpleTable;
- API网关,通过AWS::Serverless::Api;
- 以及Cognito User Pools。
SAM可以帮助您在您本地运行Lambda函数,DynamoDB table以及API网关,这样的话在部署之前可以在本地调试无服务器应用程序。
当您使用SAM开始部署应用程序时,它使用CodeDeploy来部署Lambda函数,使用Traffic shifting流量转移的特性来部署,这个我们前面的课时讲过。
SAM在后端是依赖于CloudFormation的,它是CloudFormation的扩展,因此拥有CloudFormation的可靠部署的特性,在SAM模板中使用CloudFormation来定义资源。这也是为什么当部署无服务器应用程序时,SAM是一个非常受欢迎的框架。
SAM的CICD架构
好的,要参加认证考试还需要了解SAM的CICD架构,我们一起来看一下。
首先,配置一个CodePipeline,CodePipeline是持续集成持续部署服务,可以实现快速、可靠的应用程序和基础设施更新。
您的代码存储在CodeCommit,然后发送到CodeBuild进行对代码进行构建、测试以及打包。
接下来会通过SAM的模板来声明和配置应用程序组件。然后比如我们要部署一个Lambda函数,SAM就会调用CodeDeploy来部署,并使用Traffic shifting流量转移的特性,在您的V1和V2版本间切换流量。
当然,也同样可以通过CloudFormation来部署和更新API网关以及DynamoDB table,这些通过CloudFormation都可以搞定,不过对于认证考试,一定要记住的是在使用SAM部署Lambda函数时,是通过CodeDeploy服务部署并通过Traffic shifting来切换流量的。
好的,以上就是今天的内容,比较简短,但是对于认证考试涉及的SAM的知识点来说应该是足够了,希望能给大家带来帮助。
希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问,请联系我们:
- 如果您想获取本课程全部课时,请扫PPT的二维码加入。
- AWS爱好者的网址是www.iloveaws.cn,认证视频课程,免费的认证考试仿真题以及认证课程文章,都可以在网站找得到
- 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章。
- 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识。
我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。
0 responses on "63-Serverless Application Model"