论文部分内容阅读
您不必在云中分配虚拟机,而是上传功能,让IaaS服务提供商知道怎样部署、运行和扩展这些功能
编译 charles
无服务器计算是一种颠覆性的应用程序开发方式,程序员不需要花很多的时间解决硬件规模问题,这种开发方式在事件驱动编程领域迅速得到了越来越多的应用。企业现在应该开始抓住这个机会,看看是否能帮助他们大幅降低成本,同时确保应用程序以最佳性能运行。
在过去十年中,软件团队已经远离直接管理数据中心硬件,而是从基础设施即服务(IAAS)供应商(如亚马逊网络服务(AWS)和Microsoft Azure)那里租用计算功能。很少有软件团队通过直接管理硬件来创造独特的价值,全世界的软件团队都欢迎有机会将这种无差别的硬件重负载交给IaaS供应商。
迁移到IaaS的第一波涉及在云中复制数据中心。例如,在其数据中心有10台机器的团队可能在IaaS中创建10个虚拟机,并将每台服务器逐个复制到云中。这工作得很好,但业界很快就意识到IaaS不仅仅是一种卸载硬件管理的方法。相反,它是构建应用程序一种完全不同的方式,能带来更大的机会。
无服务器计算就是这个过程的下一步。使用无服务器计算,软件团队只需上传功能,让IaaS供应商知道怎样部署和运行这些功能,而不是分配虚拟机并向其部署代码。IaaS提供商还负责扩展基础设施,以便功能按照预期执行——无论它们被如何频繁的调用。所有的软件团队都会担心的是编写代码并将其上传给IaaS供应商。
无服务器计算的承诺是,团队完全不必担心运行代码的机器:高峰时间需要多少台机器,这些机器是否已经打了补丁,机器是否有正确的安全设置,等等。相反,团队只需要专注于让代码更好,而IaaS供应商负责大规模运行代码。
作为一个实际的例子,考虑一个应用程序,它支持用户上传照片自动去除红眼。如果团队管理自己的硬件,过度设定了专用于应用程序的服务器数量——而上传的照片相对较少,那么服务器大部分时间被闲置,这意味着资源的浪费。但是,如果服务器数量不足,用户将在峰值使用期间遭遇严重的延迟。如果提供了自动扩展服务,会有额外的投入用于进行管理。无服务器计算消除了所有这些问题。
无服务器计算不但使得软件团队不必去考虑硬件,让软件团队受益,而且还大幅度降低了成本。在直接管理虚拟机的环境中,系统中几乎总有过剩的容量,这带来了直接成本。此外,大多数IaaS供应商为签订合同购买“保留”容量的团队提供折扣。
在管理机器的环境中,这给软件团队带来了不受欢迎的负担:他们不仅要必须管理机器,还必须对下一年需要的容量进行预测,并与他们的IaaS供应商签订长期合同。如果一个团队高估了需求,会浪费资金去购买用不到的保留容量。相反,如果团队低估了需求,它必须完全按照“零售”价来购买合同以外更多的容量。对于管理IaaS支出的人来说,这种财务花招是众所周知而且令人不快的现实。
无服务器计算避免了这类花招。在无服务器环境中,团队只是上传代码,没有必要提前考虑容量或者制定长达数年的服务器预留合同。
这节省的成本可不是一星半点儿。根据我们自己的经验,我们有的项目每个月在预留虚拟机上要花费5000美元,而无服务器计算模式每月的费用降低到不到200美元。
在规模上也节省了成本,提高了效率。回到红眼消除应用程序:采用标准IaaS,开发人员编写应用程序,在本地计算机上测试,从IaaS提供商那里租用服务器,确保服务器打了所有最新的补丁(一直会有的要求),然后从战略上、财务上和合同上开始打算需要多大的规模。使用无服务器计算,供应商发布允许开发人员上传功能的API,供应商处理所有服务器的维护和扩展工作。然后,供应商为用户提供访问应用程序的URL,仅此而已。
由于其简单性和低成本,无服务器计算看起来是理想的开发环境,但还有一些重要的注意事项。首先,您需要非常信任供应商。无服务器计算的好处是您不必为细节而烦恼;缺点是您不知道任何细节。您必须信任供应商可以根据需要立即進行扩展,而且不会降低性能。
因此,今天,提供企业级、低延迟、高可用性服务的大多数企业可能仍然倾向于管理自己的服务器,或者至多是使用IaaS提供的服务器。对于没有这样严格要求的应用程序,无服务器计算可能会是非常好的低成本替代方案。
无服务器计算的另一局限是,如果一个公司的大型应用程序是由很多功能拼在一起的,那么在IaaS系统中没有“编译器”来完成拼接。相反,每个功能都是单独上传的,必须由软件团队管理才能一起工作。这比链接到相同的可执行文件中的功能效率低得多。测试和调试更有挑战性,因为功能是单独管理的,可能在不同的环境中有不同的版本。
最后,IaaS供应商目前仅支持有限数量的编程语言,这可能意味着需要为现有团队提供额外的培训,或者需要招聘新的团队成员。新工具正在不断地被交付,我预计这些问题会慢慢解决,但至少目前,无服务器计算仍然是“需要一些组件”。
随着供应商克服或者消除这些障碍,无服务器计算的应用很快会越来越普及。最终,团队一直相信IaaS供应商在硬件管理方面比他们自己更好,因此,即使是最关键的工作负载也将迁移到这种环境中。
每家公司都会受益于开发人员不再担心基础设施问题,而且会有更多的时间实现差异化的功能和特性。无论是时间有限、成本有限的刚实现从创意到产品的初创公司,还是能够降低成本和提高灵活性的现有企业,“无服务器计算”很快将成为“计算”,今天出生的程序员可能永远不会知道术语”服务器”。
(作者Peter Horadan,工程执行副总裁兼CTO,Avalara。Avalara的合规云平台帮助各种规模的企业管理世界各地的州、地方和其他税务机关复杂和繁重的税务合规要求。每年,Avalara处理数十亿间接税务交易,提交数十万份合规文件和退税文件,并管理数百万份豁免证书和其他合规相关文件。)
原文网址:
http://www.networkworld.com/article/3164209/cloud-computing/serverless-computing-s-future-is-now-and-why-you-should-care.htmll
编译 charles
无服务器计算是一种颠覆性的应用程序开发方式,程序员不需要花很多的时间解决硬件规模问题,这种开发方式在事件驱动编程领域迅速得到了越来越多的应用。企业现在应该开始抓住这个机会,看看是否能帮助他们大幅降低成本,同时确保应用程序以最佳性能运行。
在过去十年中,软件团队已经远离直接管理数据中心硬件,而是从基础设施即服务(IAAS)供应商(如亚马逊网络服务(AWS)和Microsoft Azure)那里租用计算功能。很少有软件团队通过直接管理硬件来创造独特的价值,全世界的软件团队都欢迎有机会将这种无差别的硬件重负载交给IaaS供应商。
迁移到IaaS的第一波涉及在云中复制数据中心。例如,在其数据中心有10台机器的团队可能在IaaS中创建10个虚拟机,并将每台服务器逐个复制到云中。这工作得很好,但业界很快就意识到IaaS不仅仅是一种卸载硬件管理的方法。相反,它是构建应用程序一种完全不同的方式,能带来更大的机会。
无服务器计算就是这个过程的下一步。使用无服务器计算,软件团队只需上传功能,让IaaS供应商知道怎样部署和运行这些功能,而不是分配虚拟机并向其部署代码。IaaS提供商还负责扩展基础设施,以便功能按照预期执行——无论它们被如何频繁的调用。所有的软件团队都会担心的是编写代码并将其上传给IaaS供应商。
无服务器计算的承诺是,团队完全不必担心运行代码的机器:高峰时间需要多少台机器,这些机器是否已经打了补丁,机器是否有正确的安全设置,等等。相反,团队只需要专注于让代码更好,而IaaS供应商负责大规模运行代码。
作为一个实际的例子,考虑一个应用程序,它支持用户上传照片自动去除红眼。如果团队管理自己的硬件,过度设定了专用于应用程序的服务器数量——而上传的照片相对较少,那么服务器大部分时间被闲置,这意味着资源的浪费。但是,如果服务器数量不足,用户将在峰值使用期间遭遇严重的延迟。如果提供了自动扩展服务,会有额外的投入用于进行管理。无服务器计算消除了所有这些问题。
无服务器计算不但使得软件团队不必去考虑硬件,让软件团队受益,而且还大幅度降低了成本。在直接管理虚拟机的环境中,系统中几乎总有过剩的容量,这带来了直接成本。此外,大多数IaaS供应商为签订合同购买“保留”容量的团队提供折扣。
在管理机器的环境中,这给软件团队带来了不受欢迎的负担:他们不仅要必须管理机器,还必须对下一年需要的容量进行预测,并与他们的IaaS供应商签订长期合同。如果一个团队高估了需求,会浪费资金去购买用不到的保留容量。相反,如果团队低估了需求,它必须完全按照“零售”价来购买合同以外更多的容量。对于管理IaaS支出的人来说,这种财务花招是众所周知而且令人不快的现实。
无服务器计算避免了这类花招。在无服务器环境中,团队只是上传代码,没有必要提前考虑容量或者制定长达数年的服务器预留合同。
这节省的成本可不是一星半点儿。根据我们自己的经验,我们有的项目每个月在预留虚拟机上要花费5000美元,而无服务器计算模式每月的费用降低到不到200美元。
在规模上也节省了成本,提高了效率。回到红眼消除应用程序:采用标准IaaS,开发人员编写应用程序,在本地计算机上测试,从IaaS提供商那里租用服务器,确保服务器打了所有最新的补丁(一直会有的要求),然后从战略上、财务上和合同上开始打算需要多大的规模。使用无服务器计算,供应商发布允许开发人员上传功能的API,供应商处理所有服务器的维护和扩展工作。然后,供应商为用户提供访问应用程序的URL,仅此而已。
由于其简单性和低成本,无服务器计算看起来是理想的开发环境,但还有一些重要的注意事项。首先,您需要非常信任供应商。无服务器计算的好处是您不必为细节而烦恼;缺点是您不知道任何细节。您必须信任供应商可以根据需要立即進行扩展,而且不会降低性能。
因此,今天,提供企业级、低延迟、高可用性服务的大多数企业可能仍然倾向于管理自己的服务器,或者至多是使用IaaS提供的服务器。对于没有这样严格要求的应用程序,无服务器计算可能会是非常好的低成本替代方案。
无服务器计算的另一局限是,如果一个公司的大型应用程序是由很多功能拼在一起的,那么在IaaS系统中没有“编译器”来完成拼接。相反,每个功能都是单独上传的,必须由软件团队管理才能一起工作。这比链接到相同的可执行文件中的功能效率低得多。测试和调试更有挑战性,因为功能是单独管理的,可能在不同的环境中有不同的版本。
最后,IaaS供应商目前仅支持有限数量的编程语言,这可能意味着需要为现有团队提供额外的培训,或者需要招聘新的团队成员。新工具正在不断地被交付,我预计这些问题会慢慢解决,但至少目前,无服务器计算仍然是“需要一些组件”。
随着供应商克服或者消除这些障碍,无服务器计算的应用很快会越来越普及。最终,团队一直相信IaaS供应商在硬件管理方面比他们自己更好,因此,即使是最关键的工作负载也将迁移到这种环境中。
每家公司都会受益于开发人员不再担心基础设施问题,而且会有更多的时间实现差异化的功能和特性。无论是时间有限、成本有限的刚实现从创意到产品的初创公司,还是能够降低成本和提高灵活性的现有企业,“无服务器计算”很快将成为“计算”,今天出生的程序员可能永远不会知道术语”服务器”。
(作者Peter Horadan,工程执行副总裁兼CTO,Avalara。Avalara的合规云平台帮助各种规模的企业管理世界各地的州、地方和其他税务机关复杂和繁重的税务合规要求。每年,Avalara处理数十亿间接税务交易,提交数十万份合规文件和退税文件,并管理数百万份豁免证书和其他合规相关文件。)
原文网址:
http://www.networkworld.com/article/3164209/cloud-computing/serverless-computing-s-future-is-now-and-why-you-should-care.htmll