极客视点
极客时间编辑部
极客时间编辑部
113241 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/04:50
登录|注册

关于Serverless的一些误解

讲述:子阳大小:2.21M时长:04:50
尽管在过去几年中, Serverless 技术已经得到了迅速普及,但是对于 Serverless 解决方案仍然存在许多误解和担忧。近日,高级开发人员Christopher Paton 发文,表述了业界对 Serverless 技术的一些误解。
其中一个主要的误解是,Serverless 等同于功能即服务( Functions as a Service ,FaaS),因此不值得为此作出特别激进的改变。虽然 AWS Lambda 无疑是 Serverless 崛起的明星之一,并且可以说是 Serverless 架构越来越受欢迎的因素之一,但与 FaaS 相比,Serverless 还有更多功能。
Serverless 的核心原则是:我们不必担心如何管理基础设施或者扩容缩容,只需为使用的内容付费即可。如果考虑这些因素,那么就有许多可用的服务了。最终,Serverless 提供了强大的云计算功能,而无需承担管理基础设施或优化容量可伸缩性的负担和责任。
这种抽象还意味着基础设施层的安全不再是我们需要关心的问题了,考虑到维护安全标准的难度和复杂性,这是一个非常大的利好。最后但也很重要的是,如果我们不使用它所提供的基础设施,那么就不必为此付费。
也可以认为 Serverless 是一种“思想状态”,也就是一个人在设计解决方案时所采用的思维方式。避免使用需要维护任何基础设施的方式。通过 Serverless 的方式,我们正在试图将投入在项目中的工作时间重新分配到对用户有更直接影响和益处的事情上,比如健壮的业务逻辑、能吸引用户的界面及快速响应、可靠的 API 上。
举个例子,如果我们可以通过支付 Algolia 来避免管理和维护一个自由文本搜索平台,那么这就是我们将要做的。以 Serverless 的方式来构建应用程序可以极大地缩短上市时间,因为我们不再需要担心如何管理复杂的基础设施了。这样可以规避管理基础设施产生的责任和成本,并能集中精力构建客户真正需要的应用程序和服务,这种方式被称为“全服务”。
其次,函数应该被视为将服务绑定在一起的粘合剂,并且可概念化为部署单元(而不是部署整个库或 Web 应用程序),从而允许对应用程序的部署和变更进行非常细粒度的控制。如果不能以这种方式部署函数,表明该函数承担了太多的职责,应该进行重构了。
在开发云应用程序时,有些人担心供应商锁定。对于 Serverless,这种担心仍然存在,我认为这是源于对 Serverless 真正含义的误解。例如,以我在 AWS 上构建 Serverless 应用程序的经验来看,采用 AWS Lambda 将其他 AWS 服务粘合在一起,是 Serverless 架构强大功能的一部分。这个例子很好地说明了整体是优于局部的。试图避免供应商锁定实际上会导致比我们想要解决的问题还要更严重的问题。
使用容器时,在云供应商之间管理自己的抽象层可能会更容易些,但是当使用 Serverless 的时候,特别是考虑到 Serverless 的成本效益时,这种努力就不值得了。一定要考虑供应商是如何提供设施来暴露服务的,一些专用服务依赖于与其他供应商的强大集成点,并且提供了开箱即用的钩子。从 API 网关端点处指定需要调用的 Lambda 比将请求代理到现有容器或 EC2 实例中要更容易些。Graphcool 使用 Auth0 提供了简单的配置,这比使用自定义标识提供程序也更容易。
为 Serverless 应用程序选择合适的供应商是一个架构决策问题。我们不应该假定某天再回过头来管理服务器,并以此前提来构建 Serverless 应用程序。选择云供应商与选择使用什么容器或什么数据库来构建应用程序,甚至与用什么语言来编写代码没有什么不同。
最好考虑下如下几点:
你需要什么服务以及为什么需要这些服务。
云服务供应商提供了哪些不同的服务,以及如何使用你所选择的 FaaS 实现将这些服务粘合在一起。
支持哪些编程语言。
你的安全要求是什么。
如何管理 CI/CD 和软件开发周期。
可以利用什么样的基础设施即代码(IaC)解决方案。
如果你正在对一个现有的应用程序进行扩展并添加了 Serverless 功能,那么这可能会限制你的选择,不过几乎所有 Serverless 技术都提供了某种形式的 API(通过 REST 端点或消息队列),这些 API 提供了一个简单的集成点来将应用程序扩展成可以独立开发的核心应用程序。选择使用那些提供了易理解的 API 并且具有可靠的文档和强大社区的服务,这样你就不会出错了。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
36
沉浸
阅读
分享
手机端
快捷键
回顶部