加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

重新思考使用无服务器构建软件的方式

发布时间:2018-11-08 06:11:09 所属栏目:外闻 来源:今日头条
导读:副标题#e# 软件构建的方式不断变化,以满足持续加快进入市场和跟上竞争的压力。软件开发行业从瀑布到敏捷,从敏捷到DevOps,从DevOps到DevSecOps,从单片应用程序到微服务和容器。今天,一种新方法正在进入竞技场并再次转变范式。无服务器旨在通过运营工作
副标题[/!--empirenews.page--]

软件构建的方式不断变化,以满足持续加快进入市场和跟上竞争的压力。软件开发行业从瀑布到敏捷,从敏捷到DevOps,从DevOps到DevSecOps,从单片应用程序到微服务和容器。今天,一种新方法正在进入竞技场并再次转变范式。无服务器旨在通过运营工作来充分利用对速度的需求。

“无服务器已经在市场化方面改变了游戏,并且已经压缩了人们从不想做的许多步骤,现在并不是真的必须这样做,”Tim Wagner,总经理AWS Lambda和亚马逊API网关在接受SD Times采访时表示。

重新思考使用无服务器构建软件的方式

亚马逊将无服务器描述为“在不考虑服务器的情况下构建和运行应用程序和服务的方法”。无服务器应用程序不需要您配置,扩展和管理任何服务器。您可以为几乎任何类型的应用程序或后端服务构建[无服务器解决方案],并为您处理以高可用性运行和扩展应用程序所需的一切,“该公司在其网站上写道。

云原生计算基金会(CNCF)及其无服务器工作组将无服务器定义为“构建和运行不需要服务器管理的应用程序的概念”。它描述了一个更细粒度的部署模型,其中捆绑为一个或多个功能的应用程序被上载到平台,然后执行,缩放和计费以响应当前所需的确切需求。

尽管名称如此,CNCF表示无服务器并不意味着开发人员不再需要服务器来托管和运行代码,这也并不意味着不再需要运营团队。“相反,它指的是无服务器计算的消费者不再需要在服务器配置,维护,更新,扩展和容量规划上花费时间和资源的想法。相反,所有这些任务和功能都由无服务器平台处理,并完全从开发人员和IT /运营团队中抽象出来,“CNCF 写道。这使团队可以担心他们的代码和应用程​​序业务逻辑和操作工程师更关注关键业务任务。

Wagner解释说这是无服务器的主要好处,因为大多数公司都不从事管理或配置服务器的业务。通过能够抽象出操作任务,容量规划,安全修补和监控,企业可以专注于为客户提供重要的价值。然而,瓦格纳表示虽然无服务器无疑会减轻运营任务,但并不能完全取消运营团队。应用程序和应用程序逻辑仍然需要监视和可观察性。“无服务器的机队部分消失了,坦率地说,这对于运营团队或DevOps团队来说并不是一件令人高兴的事情。现在,他们将活动重点放在业务逻辑上,这对公司来说真正重要,“他说。

如何成功过渡到无服务器

无论是无服务器,您听到的第一件事就是节省成本。无服务器可以降低运营成本,降低开发和扩展成本,因为您可以外包工作,只需支付所需的计算费用。

“它允许以更低的成本构建应用程序,因此,企业能够花更多的时间来获得他们想要的应用程序。应用程序开发软件公司Progress的工程高级主管Mike Salinger说,他们可以将更多的时间用于商业价值和用户体验,而不是过去的传统。

然而,团队的无服务器解决方案提供商Stackery的首席执行官Nate Taggart表示,节省成本的好处有点像红鲱鱼。无服务器的主要好处是速度。

“世界上每个工程团队都在寻找方法来提高他们创造和发布业务价值的速度,”Taggart说。

Velocity是无服务器的主要优点,但是当您拥有多个功能并尝试将大型单片旧应用程序转换为无服务器时,实现速度变得困难。无服务器,在大多数情况下,进入门槛较低。根据Taggart的说法,单个开发人员很容易启动并运行一个功能,但当您尝试将无服务器用作团队或专业设置的一部分时,它变得更加困难。

为了在应用程序中成功部署无服务器,Taggart解释说团队需要利用微服务模式。微服务是一种持续的趋势,组织一直在利用他们的巨型单片应用程序并将其分解为不同的服务。“你不能只是采取整个单片应用程序,并提升并转移到无服务器。它不可互换。如果你有一个很大的单片应用程序,你可能正在使用虚拟机和容器,所以过渡到无服务器会变得非常棘手。我们认为微服务是无服务器的踏脚石之一。“他说。

在将单片应用程序转换为无服务器时,亚马逊的Wagner建议将其整合。整个应用程序不必转移到无服务器。他解释说,最重要的是从服务器上获益,并转换这些部分以优化成本和业务成果。根据Wagner的说法,大多数企业已经拥有某种程度上混合的系统,因此您无需在无服务器,容器和微服务之间做出决定,您可以将计算范例与您的利益结合起来。

此外,专业工程团队转向无服务器需要提供一致且可靠的环境。为了做到这一点,Taggart说组织需要制定全公司范围的标准。

“作为一个组织,您希望确保修改或发布应用程序的人以通用的方式执行此操作,以便您可以提高可靠性并避免'它在我的笔记本电脑上工作'问题。当一个开发人员发布无服务器应用程序时,就会出现一种默认的一致性,“他说。“当团队正在开发无服务器应用程序,并且您涉及多个开发人员时,一致性和标准化变得非常重要。”

在基本级别上,通过集中构建过程,标准检测,回滚应用程序的通用方法以及对体系结构和共享依赖项的可见性来实现一致性和可靠性。Taggart解释说,更高级的方法包括集中管理安全密钥,访问角色和策略以及部署环境。

亚马逊的Wagner补充说,限制可以调用功能的人员,限制权限和访问权限以确保应用程序的安全性非常重要。

根据Progress'Salinger的说法,将应用程序转换为无服务器的最佳实践是以一种应用程序无状态的方式工作。“无状态应用程序的完成方式使您的组件可以随时扩展和缩小。你必须确保你的应用程序不依赖于特定的状态,“他说。

另一个设计原则是首先开发您的业务逻辑和用户体验。塞林格指出,一个常见的陷阱是开发人员考虑构建无服务器应用程序,而不是考虑构建应用程序并以一种可以轻松扩展的方式运行功能。

“重点关注用户体验和应用程序的价值,而不必担心所有可重复且对开发人员及其应用程序而言价值较低的副本,”塞林格说。

解决无服务器安全问题

无源服务器仍然是一种“不成熟”的技术,这意味着无服务器安全性更加不成熟,开源安全公司Snyk的首席执行官Guy Podjarny表示。

“平台本身,例如Lambda和Azure Functions,非常安全,但是用于保护无服务器应用程序本身的工具和最佳实践都缺乏并且很难被采用,”Podjarny说。

(编辑:济南站长网)

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

热点阅读