函数云”即将崛起?

工具始终为其用途所塑造。当云计算首次出现时,是一种虚拟化托管的形式,其目标是看起来和裸机服务器一样。 基础架构即服务(IaaS)形成了最早的云服务,它仍然主导公共云以及私有云软件市场。

即使如此,这并不意味着它会成为未来云机会的源泉。 云提供商一直在为未来做准备,他们的规划显示了某个重要的,已经在进行中的转变。

每个主要公共云提供商都添加了处理事件的服务。 特别值得注意的是,提供商正在添加功能来帮助开发人员构建物联网(IoT)的应用程序。 这些可能就是自互联网以来最具变革性应用的基础吧?

IAAS与IoT不合

传统应用程序遵循几十年的模式:负载来自于它所支持的应用程序。在传统云计算中,用户支付他们使用的处理资源。这些术语不同,但实际上是租赁虚拟基础设施。这是数据中心所发生一切的直接反映 —— 服务器中加载应用程序与事务,并将其路由到正确服务器资源池中。这种方法在负载持续存在时非常好,如零售银行处理相关应用程序持续运行的情况。

IoT和其他基于事件的应用程序改变了这个关键的持久性概念。随时随地都可以弹出一个事件。将IaaS实例用于等待事件将导致浪费,甚至是大量的浪费。或者事件发生的地方与实例可能相差半个地球的距离。如果所有可能的事件源要与传统云端主机分布相匹配,多数情况下大部分资源都会闲置,很少开销,但却花费不少成本。

有个很简单的、判断特定对错处理事务的方法:延迟。大多数事件具有特定的响应时间期望。想象一下当物品通过传感器时触发喷漆的机器。描绘一台接近不断变化的交通灯的自驾车。

事件和收到适当响应之间的信息流被称为控制循环。大多数事件需要简短的控制循环,这意味着它们的处理需要靠近事件点。这就是控制循环问题,这些控制循环迫使事件处理过程分散到云边缘,并以指数级增加。

很容易看出,定点的事件稀缺性会影响传统云计算效率和定价问题。也可能存在非常多的事件。云可以根据需要,通过爆发或扩展容量来获得多个应用程序组件副本,但并不容易。

重新思考应用程序与运营

很少开发为在裸机服务器上运行的应用程序可以无缝地缩放或替换失败实例。这些云功能在传统应用程序运行数据中心中并不常见。将应用程序移动到云中也不会增加支持扩展应用程序所需的功能。

应用程序组件的多个副本要求负载均衡,而许多应用程序并没有被设计为允许任何副本来处理任何事件或请求。某些应用程序依赖于一系列上下文,无法处理其他副本应用程序留下的业务。我们如何使IoT应用程序具有可伸缩性和弹性?必须重写。

开发人员正在做这些事,大型云提供商也在响应。特别是他们都看到了IoT与事件对云未来的影响。他们一直在不断增强云计算,为未来作好准备。云巨头不仅提供特别的Web服务来管理IoT设备和连接,而且他们现在提供工具来支持IoT将要进行的编程。

函数或λ风格编程不允许应用程序或组件在使用之间存储数据。因此,组件的所有实例都可以处理事件。云提供商现在提供函数性或微服务支持,而不再简单地提供基础设施、平台或软件即服务,因为函数云是非常不同的。

要托管在哪个函数云

遍布各地。无处不在。函数在被需要的地方和时刻激活——而你只需支付使用时产生的费用。函数云对于IoT或者任何类型的事件处理,显示了极致的灵活性与敏捷性。

函数云同时还要求制定关于用户愿意支付多少函数托管费用的策略,这是根据成本与麻烦的控制回路长度组合而做出的决定。

函数云的崛起

亚马逊甚至允许IoT将云应用程序迁移到云外部要求。亚马逊网络服务(AWS)Greengrass平台是一种软件和中间件框架,可让用户在自己的硬件上执行AWS兼容功能。

此功能将使IoT用户对事件进行一系列本地处理,以使这些控制回路保持短距,但仍然在AWS云中托管更深层次,更少时间敏感的功能。

旧的云模型让你为托管实例付费。在函数云中,不需要通常的实例托管方式。可以根据需要即时执行函数。这是什么导致了函数云的按执行支付或无服务器的描述,但这还不完整。你可以根据使用情况为任何云计算服务,任何运行的应用程序支付费用,但这并不能使云服务可扩展或轻松优化。没有这些功能,无服务器只是一个定价策略。

开发人员必须对应用程序进行更改以适应物联网和函数云。几乎每个新程序或服务都存储信息,这使得它难以扩展。函数编程的规则是无状态,这意味着从进程获取的输出仅基于您提供的输入。甚至有编程语言旨在强化对开发人员的无状态行为;这并不是老习惯。

函数云的概念可能会加速已开始的趋势,以应对移动设备使用和BYOD策略的实施。

公司发现,他们正在创建旨在为移动设备格式化信息的应用程序组件,与为各种移动平台编写的应用程序进行对接,并提供通常在数据中心运行的后端应用程序的一致支持。

这些力量结合起来创建了某个应用程序的两层模型。设备处理前端位于云并利用云在全球范围内分发应用程序的能力。然后,云部分将为核心业务应用程序创建传统交易,无论它们在哪里。

IoT比移动负载更加分散,一些IoT事件需要短控制回路。因此,应用程序前端部分的云托管可能会爆炸式增长。这给两层应用程序结构的偏离带来压力,因为许多事件可能会产生许多事务。这些交易可以压垮核心业务应用程序。云提供商也在努力。例如,Microsoft拥有通常用于为业务应用程序提供工作的服务总线的云分布版本。

鉴于IoT处于起步阶段,而云IoT更加年轻——很容易想知道云供应商为什么已经提供IoT功能。三个原因。

首先,物联网可以大大增加IT支出,云提供商希望将其中一些作为潜在的新收入。

第二,物联网不是唯一产生事件的事情。例如,很多移动工作负载的互动看起来像事件处理。

最后,推广函受各种处理所推崇的数编程技术。物联网需要他们。开发人员工具和会议已经描述了函数编程技术如何使程序更好,更可维护。

函数云的需求

AMAZON WEB SERVICES的Lambda是第一个基于事件的计算服务,但有几个其他云提供商也快速跟进。

微软的Azure功能去年11月份推出,IBM的Apache OpenWhisk在下个月推出。

Google于四月份将其云函数服务移至测试阶段,Pivotal预计将于2017年年中开放业务。

如果由于任何原因编写函数,是不是使用功能云不可避免?

这是每个云提供商和云端用户需要考虑的最大问题。完全可扩展的应用程序——可以通过简单地加载另一个副本来增加或减少负载容量并修复自身应用程序对企业非常有用。为IoT开发的函数编程技术以及支持这些技术的功能云将重新定义程序。

工具是由他们的用途而定义,记得吗?那么用户在事件处理中已经看到了未来的云,而物联联将加速这一趋势。IoT在广泛领域大量生产事件的潜力,同时较短控制环路的要求将彻底改变云的使用。

原文发布于微信公众号 - 云计算D1net(D1Net02)

原文发表时间:2017-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刘望舒

App开发,怎样又快又稳又清晰

开发者的价值,是通过技术和产品体现的,对于App开发来说,除了实现业务之外,最重要的莫过于开发的速度、质量和可维护性,速度决定你能否支撑公司抢占市场,质量决定你...

1091
来自专栏Java职业技术分享

千万级规模高性能、高并发的网络架构经验分享

在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要...

1580
来自专栏美团技术团队

美团外卖Android平台化架构演进实践

美团外卖自2013年创建以来,业务一直高速发展。目前美团外卖日完成订单量已突破1800万,成为美团点评最重要的业务之一。美团外卖的用户端入口,从单一的外卖独立A...

61011
来自专栏Java学习网

为什么开源可以提高程序员的编程技能?

为什么开源可以提高程序员的编程技能? 我已经写了很多年的软件。最近我意识到,我越涉及(致力于,结合于等)开源技术,我写出来的代码就更好。这不由地让我疑惑起来:难...

2849
来自专栏EAWorld

你适合微服务么:实施微服务的4个先决条件和重点工作

“Mesh App and Service Architecture”作为Gartner2016 十大战略技术趋势中之一,里面大量提到微服务的概念。微服务(Mi...

4196
来自专栏JAVA高级架构

架构思想

关于什么是架构,一种比较通俗的说法是 “最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 从这个意义上说,人生规划也是一种...

3455
来自专栏JAVA高级架构

架构思想

1092
来自专栏社区的朋友们

iOS 架构设计之冗余性思考

做客户端开发的同学都知道业务需求千变万化,你永远不知道他未来会变化成什么样子。而作为开发人员也绝对不喜欢需求变更。我们极不情愿跟着这纷繁复杂的变化屁股后面,而疲...

1K1
来自专栏Java架构师进阶

10多年程序员总结的20多条经验教训

1.从小事做起,然后再扩展 无论是创建一个新的系统,还是添加功能到现有的系统中,我总是从一个简单到几乎没有任何所需功能的版本启动,然后再一步一步地解决问题,直到...

902
来自专栏张善友的专栏

千万级规模高性能、高并发的网络架构经验分享

主 题 :INTO100沙龙 时间 :2015年11月21日下午 地点 :梦想加联合办公空间 分享人:卫向军(毕业于北京邮电大学,现任微博平台架构师,先后在微软...

6146

扫码关注云+社区

领取腾讯云代金券