加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

使用无服务器架构的六个月里,我学到的六件事

发布时间:2018-11-08 00:08:34 所属栏目:业界 来源:Docker
导读:副标题#e# 在十月份的Serverlessconf巡讲之后,我决定领导整个公司走向无服务器架构。最初我花了几个月时间来尝试将Python Flask应用程序[1]迁移到Lambda,这些经历帮助我后来找到更好的方法。 在六个月之后,我们已在无服务化地部署我们的第四个主要项目。

但这种方法存在一些问题,它只适用于在这中间存在服务器的情况。我们已将该中间的服务器去除掉了。它还可能让你暴露给一些令人讨厌的攻击行为,比如跨站点请求伪造(CSRF),并且不能让你轻易地将身份传递给其他服务。所以这种方法基本上仅支持单体应用。

我们讨厌单体服务以及CSRF攻击,但我们确实喜欢我们新引入的技术,即JWT令牌。当我了解到这是如何工作的时候,我有一种类似禅的兴奋感,我需要一张流程图来好好解释明白。

步骤1,获取JWT,第2步,使用它与你编写的任何服务进行通信:

使用无服务器架构的六个月里,我学到的六件事

授权过程获取JWT令牌

使用无服务器架构的六个月里,我学到的六件事

Lambda函数接受并验证令牌

基本的核心是每个请求都经过身份验证,客户端甚至可以调用多个无服务器进行通信。在JWT的世界里甚至不存在CSRF。无服务器代码所需要的就是使用自定义授权程序来检查标头中的JWT是否有效(可参考实例代码)。

与JWT对比起来,所有其他类型的用户验证看起来都过于复杂。我们毫不犹豫将所有用户验证都切换为Auth0(在某些情况下为Cognito)。无服务器身份验证既简单又非常有效。

迈向新世界

虽然我已经使用了AWS很长一段时间,即使是在EC2的场景下,因为我参与的时间相对较晚所以也会需要很多帮助。在结束无服务器会议之后,这感觉就像进入一个真正未开发的领域,需要我们在黑暗中去发现更多。

在我们的前几个实验中,我们尝试使用现有的工具和技术但发生了一些失误,结果并不是很好。经过几个月的正确积累,我们已经正式开始以100%无服务器方式交付项目。我相信我们迁移过程中的问题和早期的探索非常值得。

我们正在构建灵活的实时SPA应用程序,这些应用程序使用完全无服务器的基础架构,可以毫不费力地扩展,并且成本降低了70%-90%。我对这个支出减少感到高兴以及震惊。我从未如此确信无服务器技术将彻底改变云服务下的应用交付。

相关链接:

https://read.acloud.guru/adventures-in-migrating-to-serverless-a63556b39042

https://read.acloud.guru/node-is-the-wrong-runtime-for-serverless-jk-c69595f6a8eb

原文链接:https://read.acloud.guru/six-months-of-serverless-lessons-learned-f6da86a73526

【编辑推荐】

  1. 打开真塑合基础架构的正确姿势——HPE Synergy
  2. 现代云原生架构:关于微服务、容器和无服务器你需要了解的
  3. 浪潮商用机器携Power9全线新品亮相,助力本地企业构筑未来IT新架构
  4. 为什么微软、AWS都选择无服务器架构?3分钟读懂其优势和用例
  5. 重新思考使用无服务器构建软件的方式
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!