ServerlessConf 2017 大会于 4 月 26 日至 4 月 28 日在美国德克萨斯州奥斯汀举行, spotinst 的联合创始人兼 CEO Amiram Shachar 参加了此次大会。会后,他在博客上分享了一些有关这次大会的内容,并表达了对无服务器架构的一些看法。
首先要明白一个概念,无服务器架构并非意味着没有服务器,无服务器真正的意思是说,开发人员不需要再处理与服务器相关的事情。
1. 人们选择无服务器架构的主要原因有哪些?
现在有很多组织在使用无服务器架构,比如 iRobot、Adobe、Accenture 等等。他们意识到,开发人员是他们业务的主要推动力,所以他们要想在业务上有所进展,就要帮助开发人员更快地交付软件。而无服务器架构正好给开发人员带来无限的可能性。这些企业采用无服务器架构主要基于以下三个原因:
- 更少的维护工作
- 更低的成本
- 更好的上市时机
2. 无服务器的应用场景
很多与会者表达了他们对无服务器架构的青睐,无服务器架构已然成为他们的首要选择。他们说,如果某些技术不能运行在无服务器架构上,那么他们就会考虑选择其他技术。部分无服务器的应用场景如下。
- Web 层和 Web 服务
- 移动应用的服务器端
- 物联网
- DevOps 自动化
- 流式处理
- 聊天机器人
- ETL
- 图像尺寸调整
- 作业调度
其中,来自 Trek10 的 Jared Short 展示了如何基于 AWS Lambda 和 CDN 构建一个端到端的应用。
AWS Lambda 的经理 Tim Wagner 表示了他对大数据无服务器的浓厚兴趣。
其他一些真实的案例:
- Thomson Reuters 基于无服务器架构每秒钟可以处理 4000 个请求。
- 美国金融业监管局每天对股票交易进行 5000 亿次验证。
- Expedia 每个月触发 12 亿个无服务器请求。
3. 无服务器的采用情况
来自 IBM Cloud 的 VP 和 CTO Jason McGee 透露,FaaS(Function as a Service)市场到 2021 年会有 7 到 10 倍的增长。
Tim Wagner 也表示说 ,企业对 AWS Lambda 的采用也有了可观的增长。
总的来说,无服务器的采用将会比容器技术的采用快上 10 倍。
4. 本地调试和 Serverless Functions
来自微软 Azure 团队的工程师演示了如何在本地使用 Visual Studio 来调试 Azure Function。
不过,据一个 AWS Lambda 工程师透露,在本地调试 Lambda Functions 并不是件容易的事,他说,
“如果你开发的应用程序使用了云端的 SQS、SNS、Dynamo 等服务,那么你不可能真正地实现本地调试。人们需要改变他们的想法……”
5. Azure Functions 和 Logic App 服务
微软的 Azure Functions 已经在无服务器领域取得很大的成功,而它的最新 Azure 服务 Logic App 更是带来强大的集成功能。Logic App 与 Azure Functions 无缝连接,支持大型生态系统的应用集成、数据集成和设备集成,以及基于云的连接器,包括 Salesforce、Office 365、Twitter、Dropbox 和 Google 服务。
6. Adobe 案例
Adobe 在大会上演示了他们如何在由多个服务提供商提供的云平台上使用 IBM OpenWhisk。Adobe 早就表达了“服务器已死”的论调。
7. 其他无服务器合作者和赞助商
- FuanaDB ——基于云的数据库,支持多区域和事务。
- IOpipe ——AWS Lambda 的性能监控程序。
- stdlib ——类似 Github 的平台,开发者可以在这个平台上共享 Function。
- OpenWhisk ——开源的云平台,可以运行任意规模的 Function,也是基于无服务器架构。
- Serverless Framework ——开源的应用框架,用于构建基于 AWS Lambda 等平台的无服务架构。
- Google Firebase ——用于创建由 Firebase 相关产品触发的 Function。
8. 大会最佳分享
Jason McGee 介绍了 IBM 的 FaaS 平台 OpenWhisk。IBM 在无服务器领域的发展非常迅速,并为社区带来非常有用的产品,包括 UI、API 网关产品和 Blumix Functions。来自 IBM 的团队非常自豪地介绍了无服务器架构和 FaaS,揭示了背后的原理。
相关幻灯片可以从这里下载。
9. 无服务器和安全
Snyk 的 CEO Guy Podjarny 说:“尽管在未来我们不需要再管理服务器,但黑客仍然有办法攻击我们的软件。”
有关无服务器安全的讨论主要围绕如下话题展开。
- 代码依赖。越多的依赖就越脆弱。
- DDOS 攻击。
- 用户认证和授权。
- 跨站点脚本攻击。
10. 无服务器和监控
目前的公有云提供一般都会提供可用的监控功能。iRobot 介绍了他们如何处理 DLQ(Dead Letter Queue),他们使用单独的进程来监控和修复失效的 Function。Google Cloud Functions 捕捉事件和日志,并将它们发送给 Stack Driver。还有其他的一些第三方监控工具使用一些依赖将应用代码包装起来,然后用于发送监控事件。
最后,Amiram Shachar 用几句简短的话表达他对无服务器的理解。
自由。
上市时机。
更少的维护和更低的成本。
大众化的云,可以运行任何东西,可以在任何地方运行。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论