当前位置: 首页 > 科技观察

企业应该选择无服务器计算吗?

时间:2023-03-17 19:14:27 科技观察

无服务器计算将服务器从规划中移除,让企业专注于应用程序功能。那么,企业是否应该选择无服务器计算呢?让我们一起探索吧!直到不久前,几乎每个产品经理都将他/她的工程资源分配到两个独立的团队——一个开发团队和一个运营团队。开发团队通常参与编码、测试和构建应用程序功能,而运营团队负责应用程序的交付、部署和运维。当开发团队构建电子商务应用时,运维团队会架设服务器来承载应用。搭建服务器涉及到很多方面,包括:选择合适的操作系统应用所需的硬件和补丁集搭建所需的服务器环境,如JDK、Python、Tomcat、NodeJS等部署、配置、提供实际应用开启和修复构建所需的数据库引擎的适当端口……列表还在继续。除此之外,管理员还遭受容量规划的困扰。毕竟,任何重要的应用程序都应该始终100%可用、可靠且可扩展。这需要对硬件进行最佳投资。众所周知,在关键时期,硬件短缺导致业务流失,而硬件冗余则损害利润。因此,无论应用程序是针对本地数据中心还是云基础设施,容量规划都至关重要。到目前为止,很明显,企业不仅在构建功能上而且在交付功能上都投入了大量精力。无服务器计算旨在提供一种无缝方式来交付功能,而无需担心服务器设置和维护。换句话说,无服务器计算平台提供了一个“即用型”环境,企业可以在其中尽快构建和部署应用程序作为一些较小的功能。这就是为什么这种方法被称为“功能即服务”(FaaS)的原因。请记住,在无服务器计算中仍然有服务器,但这是AWS、微软和谷歌等FaaS提供商的责任。例如,AWS以“Lambda函数”的形式提供无服务器计算环境。开发人员可以选择将应用程序构建为一组Lambda函数,这些函数可以用NodeJS、Java、Python和其他一些语言编写。AWS提供了一个现成的环境来部署这些功能。它还提供随时可用的数据库服务器、文件服务器、应用程序网关、身份验证服务器等。同样,MicrosoftAzure提供了一个环境,用于使用C#等语言构建和部署AzureFunctions。为什么选择无服务器?推动无服务器计算流行的主要因素有两个。1.即用型环境显然,这是无服务器计算的最大卖点。企业无需提前采购/预订硬件或实例,也无需担心许可证、设置和配置服务器。他们不需要担心放大和缩小。所有这些都是FaaS提供商的责任。2.成本最优由于FaaS提供商总是根据环境的利用率向客户收费(按使用付费模式),企业无需担心前期成本和资源浪费。例如,AWS根据Lambda函数接收的请求数、对数据表运行的查询数等指标向客户收费。无服务器计算的挑战与任何其他方法一样,无服务器计算并不是每个人都可以盲目遵循的完美方法。它也有自己的一套限制。这里有几个。1.供应商锁定使用无服务器计算时,首要考虑的问题是Lambda或Azure等功能将使用供应商提供的API编写。例如,使用AWSLambdaAPI编写的函数无法部署到GoogleCloud,反之亦然。因此,无服务器计算迫使企业多年来坚持使用同一家供应商。并且,一个应用的成败不仅仅取决于它的功能,还取决于供应商在性能等方面的能力。2.编程语言没有一个无服务器计算平台支持所有的编程语言。还有,它可能不支持它所支持的编程语言的所有版本。这样,应用开发团队只能选择供应商提供的语言。就团队的能力而言,这可能非常关键。3.最优成本,真的吗?其实也不一定,全看资源的使用。如果您的应用程序正在承受巨大的负载,例如每秒数百万个请求,那么您可能付出了太多代价。在这种规模下,在本地或云端拥有自己的服务器可能会更便宜。这并不意味着网络规模的应用程序不适合无服务器计算。归根结底,还是要看你的平台是怎么搭建的,以及你和供应商签的协议。4.生态系统没有应用程序是为孤立的环境编写的。它总是需要其他组件,如数据存储、数据库、安全引擎、网关、消息服务器、队列、缓存等。每个平台都提供自己的一组此类工具。例如,AWS提供DynamoDB作为其NoSQL解决方案之一。显然,其他供应商也提供了自己的NoSQL解决方案。结果,团队再次被迫基于所选平台构建应用程序。虽然大多数商业FaaS供应商针对特定需求提供多个组件,但并非每个组件都是一流的。为什么不考虑容器?在过去的十年中,我们中的许多人已经迁移到容器化部署模型,因为它们为昂贵的物理机或虚拟机提供了一种轻量级的替代方案。借助Kubernetes等编排工具,我们乐于部署容器化应用程序,同时还能满足Web规模的要求。容器提供了与底层环境的隔离级别,这使得部署相对容易。然而,我们仍然需要在硬件(本地或云)、许可证、网络、配置等方面进行投资,这需要前瞻性规划、合适的技术能力和仔细监控。无服务器计算虽然有其优点和缺点,但也使我们摆脱了这些责任。展望未来我们处在一个不断发展、不断集成、不断部署的时代。每个企业都面临竞争。上市时间(TTM)在吸引客户和留住客户方面起着重要作用。在这种背景下,企业更愿意花更多的时间尽快推出功能,而不是纠结于部署和维护的细节。无服务器计算有可能满足这些需求。大公司正在投入巨额资金,使FaaS尽可能无缝且价格合理。无服务器计算的未来一片光明。