我们在《DevOps系列一:认识事件驱动型计算》中介绍了事件驱动型计算对现代世界的影响。本文是系列二,对比事件驱动型计算与容器和微服务。
面向群众的消息队列
在某种程度上说,旧的东西会变成新的。对于Iron.io和StackStorm公司的产品来说,老式的消息队列是软件运行的核心。Iron.io甚至还单独销售一款消息队列产品IronMQ,这个产品能触发姐妹软件IronWorker的事件。
但是,StackStorm公司的Powell说新的消息队列跟以前还是有一些不一样的,“新的消息队列从你系统发出去,查看系统运行效果的好坏,并返回决策是否应该执行什么(任务)。所有的这些都需要预定义并且写入队列中。不同之处在于返回方式的变化和条件逻辑的变化,以及从适合的出口出去的方式。”
StackStorm的产品是打算让用户完全管理的,不过云服务可以从用户那里将消息队列元素进行合理化和抽象化,可以达到看似应用无需任何服务器就能运行。
Lambda用户Theodore Kim,也是Jobvite(一家软件制造商)的SaaS业务主管说,基于云的事件驱动型计算服务能承担自动化重任的其中一个原因是它不需要应用调查环境,寻找发生的改变,以触发自动化。
AWS Lambda服务在后台是使用轮询还是消息队列不得而知,但是对于用户来说,Lambda函数是马上就可以开始工作的,并不需要等待轮询。
Kim说:“以前,我们需要将数据放到队列中,并且对其进行轮询。Lambda却是立即起作用的。它就像是一个黑盒,所有的事情都会被Lambda服务处理,但是在我们看来,有事件触发时,它马上就执行了。”
事件驱动型计算会超过微服务吗?
事件驱动型计算越来越火了,它正在追上另一个火爆的软件开发趋势:使用Docker的容器,以及基于微服务的软件开发。
就像事件驱动的自动化一样,容器和微服务也能承诺应用的灵活性、组件间的自动化和可扩展性。事件驱动型计算和Docker并不是完全独立的技术。事实上,在EC2 Container Service里,亚马逊也建议引入Lambda来触发对容器的创建,并对容器进行横向扩展。
Edeva公司的Eskilsson说:“当我们进行横向扩展的时候,我并不担心迁移到基于Docker的开发环境。但是对Yii框架进行整合,并让代码推送到Iron.io,是很合理的一件事情。因此坦诚来讲我并没有看到(使用容器的)需要。”
VidRoll公司的Young称,对于一些迫于将自有架构迁移到云上的企业,事件驱动型计算可能在架构变更上太过跳跃了。但是容器技术提供了一种更敏捷的方式来将传统的基础架构迁移到自动、云的环境。
事实上,Young的公司已经进行了一些开发,能让他们的应用架构在Lambda和Docker之间进行切换,好让应用随着Lambda的发展得以保全。Young说:“容器是有意义的,因为它比起维护一个完整的服务器来说,是一个更好的抽象品。”
StackStorm公司的Powell称,IT企业在开发者的生产力和运维自由度之间会有不同的偏好。
基于容器的计算对于将负载向内部云的迁移来说有更多的潜力。相反的,类似Lambda的东西有来自厂家的锁定。Powell称,“简单地说,你的业务逻辑至少需要有一个应用需要运行在Amazon as a service上。”
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
微服务器和无服务器可改变应用交付
云服务已经改变了IT基础设施,但最新的云趋势表明了重组作业更根本性的转变。较新的云服务和应用程序设计理念(如微服务,无服务器计算和函数即服务)对IT运营人员和开发人员都有重要的影响。
-
无服务计算就不需要服务器吗?
在云计算基础架构即服务(IaaS)中,你不需要管理你的物理基础架构;而在云计算的无服务计算中,你甚至不需要管理任何虚拟机、操作系统或者容器……
-
私有云之死
随着公有云的接纳程度不断地增加,还遗留着一个问题:到底私有云现在变得怎么样了呢?私有云本应该在拥有公有云提供的灵活性、自服务和弹性之余还不依赖于任何厂家的设备……
-
跟上DevOps、微服务和混合云:网络需要自动化
网络正朝向基于软件的系统迅速发展,提供自动配置、改进的管理与安全性,以更好地支持DevOps风格的应用程序开发……