无服务器计算正在所有云服务供应商间流行着,而AWS Lambda之类的工具将可能改变资源的利用方式,尽管这一切还在萌芽阶段。
无服务器架构是云服务提供商之间最新兴起的热潮,但这种利用公有云资源的新生方法也许是一个值得现阶段一切炒作的趋势。
亚马逊网络服务(AWS)在2014年首次借由AWS Lambda推出所谓的事件驱动,无服务器计算资源。这项业务一直都占据绝对的领导地位,直到今年IBM,谷歌和微软各自推出了自己的版本。他们都试图在这个用户越来越多的将责任下放给云服务提供商,但同时又寻求资源分配控制的更细粒度的市场中脱颖而出。
无服务器服务背后的想法是,开发者不必担心采购,配置或管理任何的基础资源,就可以部署他们的代码。当然,在无服务器架构中,服务器仍然存在于公有云供应商的大型数据中心的某处,但这种抽象化允许用户和供应商双方都能获得更高的效率并专注于他们各自最擅长的部分。
“在这种情况下,这种炒作是绝对有保障的,”Forrester Research的首席分析师Dave Bartoletti说道。
应用在传统上被设计成单一的整体,即将所有代码整合成一个大块。无服务器架构则允许开发人员将他们的应用切成小块,并以高度可扩展的方式在弹性的基础架构中部署它们,甚至比使用容器还要方便,Bartoletti说道。
能够看出这些无服务器计算模式优劣的一个常见例子是上传照片到网站。要先启动一个实例,然后开发人员可以编写一大串代码和一堆的任务,包括打开一个文件夹、调整图像大小、制作备份,并确保图像正确加载。
或者,开发人员也可以只编写一小段代码,并使用一个Lambda函数来监视目录,执行代码,并上传图片。用户只需要支付此函数运行的几毫秒,而不是云平台运行一个实例所需的几分钟或者几小时的费用。
如此看来,无服务器计算的点不在于其技术,而是其定价和方案了,Andrew Reichman,451 Research的研究总监解释道。它有改变资源使用方式,更紧密地将基础架构和应用程序开发平台联系起来的潜力,而其定位则介于基础架构即服务和平台即服务(PaaS)之间。
“按小时或分钟租赁一台服务器是重大决策,但实际上,即使这样也还达不到你所需要的业务细分粒度,”Reichman说道。最终,用户想要“做(他们)所需要的计算并只为(他们)实际使用的时间来支付费用,而不是付完钱后等待有作业运行。”
由于围绕需求的不确定性,想知道该为某个作业选择什么样的服务器是很难的,Reichman说道。即便你选择的也许不是一个典型的私有数据中心为期五年的合同,开发者仍然会被迫选择一个服务器来编写他们的工作负载。
谷歌、微软和IBM跟随亚马逊步伐
Lambda仍然是显示无服务器计算潜力的最好例子,因为亚马逊在市场上有着相当大的领先,更长的运行记录和用户知名度。谷歌在2月开始进行Cloud Functions的alpha测试,但对具体进展守口如瓶。IBM随之在三月份在其PaaS产品Bluemix中加入了OpenWhisk,尽管该服务目前还是试验阶段。微软在三月底增加了Azure Functions做为他们一连串发布的收尾,目前该功能还在试用期。
其实,Lambda并不是第一个无服务器基础架构,就像容器在Docker诞生之前很长时间就存在了。事实上,面对所有的炒作,部分云供应商已经采取措施来将现有服务更名为无服务器服务。最近在旧金山举行的用户大会上,谷歌在谷歌云平台上提到了至少四个无服务器的产品,其中包括了App Engine,这是谷歌在2008年首次推出的PaaS产品。
亚马逊还没有披露Lambda的增长速度,这仍然被当作为早期采用者提供的一个服务,但正被高端客户Netflix,Capital One和MLB所使用。热门的使用案例包括无服务器数据处理功能,通过API网关与简单存储服务协作来运行Web应用程序的微服务,使用其将物联网设备作为开发平台以及为无数的AWS环境提供连接。
x86的革命使得人们对应用设计的要求很低,因为当服务器有90%的时间是闲置的时候,也没有所谓的效率之说,但现在,无服务器架构正在扭转这个趋势,并开始进入优化的深水区,Reichman说道。这让人想起使用打孔卡和调度作业执行的早期大型机时代,他补充道。
为时尚早
像Lambda这样的工具很难让许多IT专业人员完全弄懂,特别是那些对本地和公有云进行初步性价比评估的人来说,David Pippenger,一家总部位于旧金山的游戏公司GREE的高级服务器业务工程师说道。
现在有一些非常简单的用例,但真正的潜力还在于未来,Pippenger补充道。
“云就像调节按钮让水更大一样便捷,我们正在越来越接近这个类比。”
GREE已经使用了Lambda,但该公司依然在适应这个服务。这家游戏公司原本打算在从亚马逊关系数据库服务(RDS)迁移到DynamoDB的过程中使用它来作为触发器,但最终放弃了这个计划。RDS是存放在一个虚拟私有云中,而那些为了在公共互联网上使用Lambda的同时确保传输安全所需要的额外步骤令人望而却步,Pippenger说道。
虽然部分安全访问控制有了明显的改善,但也就是这些类型的案例凸现了其还处在萌芽阶段。“它还没有完全准备就绪进入广泛使用的阶段,”Pippenger说道。
Lambda只支持某些类型的事件,而尽管其很大的卖点是能够写完代码就立刻运行,目前它仅支持Node.js,Python和Java。要获得更多产品化用例,在延迟保证方面能够看到更多的服务级别协议会很有帮助,Reichman说道。
在评估一个无服务器计算的方法之前,企业应该对他们的开发人员作调研,了解他们目前的应用可能受益的程度;如果一个任务用微服务处理更好的话就没必要浪费时间做成无服务器计算,Bartoletti说道。对于新的应用,开发者应该先考虑微服务的架构,但要谨慎推行,因为将进程分割成更小的部分时增加的复杂性可能会超出想象。
想要改造遗留应用并不容易,最好应限于那些拥有原生云架构并以DevOps模式工作的公司,Reichman说道。
“如果你有一个充其量只是基础架构层面的应用,那么无服务器计算与你毫不相关,”他说道。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
如何将Azure成本降到最低
不要因为使用Azure虚拟机而从微软那里获得巨额的月度账单。了解你的业务需求,然后调整Azure中的选项以最小化费用。
-
从私有云到公有云:VMware优先上演安全保卫战
VMware,是一家依靠虚拟化软件起家的公司,是一家帮助企业构建基础架构的私有云企业——这应该是大部分人对VMware的印象;当然,还有企业所熟知的虚拟化平台vSphere。
-
无服务器技术使用五个小贴士
无服务器技术可有助于提高灵活性并降低云整体成本。为了充分利用好这些优势,请务必精心设计并管理好您的无服务器应用程序。
-
创新想法到原型实现:Oracle Cloud @ Customer告诉你只需要四周
“今天从一个想法变成一个原型,最后成为一个产品或者一种服务,你觉得应该花多少时间?”甲骨文吴承杨这样到,“在中国的银行界,从一个想法到最终形成一个产品或者一个服务,大概需要一年半的时间,”吴承杨“我们只用4周,就可以把一个原型做出来。”