专业的信息化与通信融合产品选型平台及垂直门户
注册 登陆 设为首页 加入收藏
首页 企业新闻 招标信息 行业应用 厂商专区 活动 商城 中标信息

资讯
中心

新闻中心 人物观点
厂商专区 市场分析
行业
应用
政府机构 能源产业 金融机构
教育科研 医疗卫生 交通运输
应用
分类
统一协作 呼叫客服 IP语音 视频会议 智能管理 数据库
数字监控 信息安全 IP储存 移动应用 云计算 物联网

TOP

Chef和Puppet引领开源云自动化
2016-07-29 14:53:00 来源:TechTarget中国 作者:【
关键词:Puppet Chef 面向服务架构
 
IT专业人员越来越多地转向Chef和Puppet开源云自动化和编排。但是其他选项,如TOSCA,也值得我们探索。

  IT专业人员越来越多地转向Chef和Puppet开源云自动化和编排。但是其他选项,如TOSCA,也值得我们探索。

  部署软件不是一件简单的事,而在面向服务架构、web服务、微服务和云的时代则更为复杂。虚拟化提出了新的挑战,赋予应用程序和服务器新的角色。基本的软件操作工具正在转变成自动化和流程编排工具,而开源软件则充当了引路人的角色,特别是Chef和Puppet。

  现今用来部署应用的软件工具源自早期的一些工具,这些工具允许开发者将操作指南创建到应用中以达到简化部署的目的。这个概念,即所谓的DevOps,目标是准确和快速部署,但达到目标的不同方法很快分成了两种不同的派别。

  Chef和Puppet二分天下

  最简单的自动化部署方式是通过脚本。手动部署软件就是使用操作系统或云管理系统的工具启动命令,而脚本是一种可以灵活的将命令写到一个文件里然后快速执行的方式。当今市场上有两个很流行的开源自动化工具,Chef和Puppet。

  Chef模型被认为是命令式或规定式,因为它是过程化的 ,明确地描述了如何部署和连接云应用程序组件。Chef以一种对程序员友好的方式来创建“菜谱”和“烹饪手册”。每个部署的步骤可以独立进行描述,这些独立的菜谱汇集到一起创建一个可重复的应用程序部署过程。由于每个操作步骤都可以在一个菜谱中描述,所有只要可以手动部署的步骤,Chef都可以自动化。

  然而同样的程序员友好模式对某些用户来说并不是他们想要的。对这些用户来说,部署应用程序的合理方式是按照模型部署的最终状态来描述。该开源DevOps工具对模型进行处理来创建最终的状态。这个过程通常被称为声明式或基于目标的DevOps,也是另一种流行工具Puppet的基础。

  如果Chef是对程序员友好的,那Puppet则最初源于运营人员,比起详细的如何操作的步骤,他们更熟悉如何描述他们最终想要的状态。就像高级语言让编程更加简单一样,Puppet模型能够简化部署描述。此外,由于最终状态的这种方法可以用来描述在应用生命周期管理(ALM)中的任何步骤,Puppet自然可以接纳一个完整的ALM功能,这也是Puppet的粉丝所喜欢的。

  Puppet的问题是你只能部署那些可以被模型化的步骤。随着新的部署问题的出现,Puppet建模的过程开始变得同命令式脚本开发相似,而事实上,云的发展已经开始弥合这一鸿沟。Chef和Puppet似乎变得更接近彼此,而一些新的DevOps工具则跨过声明式/命令式的分隔线。不过,新的部署和配置管理的主候选工具全都支持声明模型;没有哪个是纯命令模式的。

  云端的选择

  云也迫使了部署和配置管理工具的发展。由于云部署需要处理虚拟化的两个层次,使得所有的部署和配置自动化变得更加复杂,而DevOps不得不同时面对部署和生命周期管理的问题。这反映在一个新的云名词上:编排。这反映了将复杂的步骤进行统一的需求。

  编排连接了声明式和命令式的模型,但声明式编排似乎是更受欢迎的方法;描述一样东西当前和期望的状态是一种不错的生命周期管理的方法。两个新的纯声明式模型CFEngine和Juju,同Chef,Puppet一起正在获得更多关注。这些工具侧重于模型构造并提供政策和库的支持。此外,同时支持声明式和命令式的流程控制工具Ansible和SaltStack,正开始挑战过去的那种两极化方式。

  目前为止提到的工具是从DevOps和传统部署演变而来。那么那些专门为云而生的工具的进展怎样了呢?国际标准化组织结构化信息标准推进组织(OASIS)开发了一个名为拓扑和业务流程规范云应用的声明性模型的方法。TOSCA解决了应用程序部署的最终状态定义以及虚拟资源和资源池的具体建模。TOSCA还集成了管理定义以支持生命周期自动化。

  最适合你的云编排方式是什么?这里有一些技巧:

  支持包括Chef在内的命令模型的工具是最强大的,在任何云中支持几乎任何种类的应用。但对于非程序员来说学起来更困难。

  如果你计划依赖云端打包好的应用,那么检查该厂商是否拥有一个优选的编排方式,如果有的话,请在你的应用中也认真考虑采取这种方式。

  TOSCA是云自己的模型,但也是最不成熟的。如果你当前无法做到,则可以考虑声明式云编排工具,这样过渡到TOSCA会更容易些。

  如果你已经对数据中心部署的某个DevOps工具很熟悉,不要仅仅因为要迁移到云了就弃之不用了。所有的DevOps工具都在变得更加云友好。

  尽管对编排这块来说还相对较新,但各式各样的开源,甚至一些商业的软件包,都支持TOSCA。一些流行的基于TOSCA的云编排工具包括Cloudify,OpenStack Heat,Alien4Cloud,以及ARIA和OpenTOSCA,这两个都是规范的参考实现。除此之外,TOSCA被接受的原因还包括网络功能虚拟化和软件定义网络。很多人认为TOSCA在这些领域的成功代表着这就是编排的未来。

  编排对于应用的未来很关键。这是一种可以同时处理敏捷应用和敏捷虚拟资源的DevOps的形式。无论你用什么方法来编排,都应该随着应用和虚拟化发展的同时不断审查和修改细节。

      

责任编辑:admin
免责声明:以上内容转载互联网平台或企业单位自行提供,对内容的真实性、准确性和合法性不负责,Voipchina网对此不承担任何法律责任。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部

上一篇微软和SAP扩展了云环境中的合作关..
下一篇甲骨文93亿美元现金收购云计算商N..

热门文章

图片主题

最新文章

相关文章

广告位

Copyright@2003-2009 网络通信中国(原VoIP中国) 版权所有
联系方式:503927495@qq.com
  京ICP备05067673号-1 京公网安1101111101259

《合作通告》

本站因快速发展需要,有共赢合作、战略创投意向的个人或机构,请联系咨询:
(电话)010-69397252、13911442656(v)
(邮箱)503927495@qq.com
我知道了