wps栏目上的运服务怎么没有了
997
2022-05-29
领域澄清
首先明确我们在讲什么,也就是本文描述的应用编排,资源编排是什么东西。
在云上编排的含义一般有两种:
1. 云平台上自动化创建云服务,并部署应用。叫做资源编排or应用编排or服务编排。
2. 容器应用,根据资源要求,调度到哪个节点上。叫做容器编排or资源调度。
本文描述范围,为第1种。
公有云编排服务介绍
AWS Cloudformation
Cloudformation文档地址:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html
AWS的Cloudformation基本属于云上自动化(编排)这个领域的领头羊,功能完备,支持的自动化场景丰富。
在整体生态打造的也很成功,Cloudformation模板,与ServiceCatalog服务目录,与Marketplace应用市场,一条线从上到下都打通了。
谷歌CDM:(Cloud Deployment Manager)
谷歌CDM文档地址:
https://cloud.google.com/deployment-manager/docs/
使用Jinja2语法(Yaml类)和Python语法,实现较为讨巧。大部分操作,主推通过命令行完成。虽然控制台界面也有,但功能主要在命令行里(意思是界面比较low)。
谷歌CDM支持编排资源列表:
https://cloud.google.com/deployment-manager/docs/configuration/supported-resource-types
微软Azure-RM:(Resource Manager)
Azure-RM文档地址:
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview
使用Json语法。且整体模板语法偏复杂,使用门槛比较其他家的还高一点。
有两个比较有特点的功能:
1. 支持根据用户已经在Azure上创建好的资源信息,导出模板。实现类似的“备份”or“快照”的功能。
2. 支持任意对象,指定重复创建次数。实现批量复制的能力。
Azure-RM编排提供的内置函数非常丰富:
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-template-functions
阿里ROS
ROS文档地址:
https://www.alibabacloud.com/help/zh/doc-detail/28852.htm
整体能力跟随AWS Cloudformation,但是还略有距离。可视化模板编辑器,目前并不是很稳定,使用体验一般。
ROS支持编排的资源列表:
https://www.alibabacloud.com/help/zh/doc-detail/48893.htm
OpenStack Heat
Heat文档地址:
https://docs.openstack.org/heat/latest/template_guide/hot_spec.html
整体能力跟随AWS Cloudformation,搞了一些Cloudformation语法兼容的活,连cfn-tools都照着AWS来。但是目前还略有距离。
也没有图形化设计器。
Heat可以编排的资源列表:
https://docs.openstack.org/heat/latest/template_guide/openstack.html#
华为 AOS
AOS文档地址:
https://support.huaweicloud.com/usermanual-aos/aos_01_0000.html
使用以应用视角为中心的编排,支持Kubernetes集群中的对象编排,并围绕应用支持编排基础资源+服务。与AWS的Cloudformation相比,发力角度从虚机应用转向容器应用。
图形化的模板设计器,体验很好。特别是智能辅助对于编写模板确实很便捷。可以称作领域标杆。
AOS支持编排对象列表:
https://support.huaweicloud.com/tr-aos/aos_01_4013.html
K8S Helm
Helm文档地址:
https://docs.helm.sh/
Helm其实自己定位并不是编排,而是一个K8S的manifest包管理工具。不过它有自动化部署K8S对象的能力,所以加入比较。
特点是只认识K8S集群里面的对象,基础的云服务不支持编排。使用范围有限。
青云 RO
RO(Resources Orchestration)文档地址:
https://docs.qingcloud.com/product/operation/topology
青云的资源编排特点是,不开放模板语法,只提供图形化设计器。
并且这个图形化设计器体验还不错,有所见即所得的感觉。
但是由于没有开放模板语法,只靠图形化设计器,复杂场景编排能力不足。
腾讯 无
云上自动化能力是一个云平台的刚需,这里一首凉凉送给腾讯云。。。
公有云编排服务对比
我们直接给出分析结果,省去啰嗦的文字。 (文字时效原因,如果有不正确的,及时联系更正哈)
编排能力对比
√表示“强/做得好”,O表示“一般/待增强”,X表示“没有此特性”。
功能
特性
AWS
CFN
Aliyun
ROS
Huawei
AOS
OpenStack
Heat
K8S
Helm
Azure
RM
CDM
说明
编排能力
入参/对象/输出
√
√
√
√
√
√
√
编排基本功能
查表参数
√
√
√
X
√
√
X
Mapping表语法,定义表格方式提前确认变量值
条件部署
√
√
√
√
√
√
X
Condition条件语法,灵活控制对象是否创建
编排对象
√
√
O
√
X
√
√
可编排基础云服务的种类
Helm只支持K8S内部对象
K8S对象
X
X
√
X
√
X
X
直接编排Kubernetes集群中的对象,如deployment,Secret等
辅助对象
√
O
O
O
X
X
X
不代表真实云服务,但对象提供流程辅助
例如:WaitCondition对象
批量创建
X
O
√
X
X
√
X
指定某个对象的创建数量
删除策略
√
√
√
√
X
X
X
如堆栈销毁时,部分堆栈资源是否保留
内置函数
√
O
O
O
√
√
√
字符串拼接: Fn::Join
获取属性: Fn::GetAtt
内置变量
√
√
√
√
√
X
√
AWS中:AWS::Region
ROS中:ALIYUN::StackName
对象取值
√
√
√
√
√
√
√
A服务的属性,从B服务的结果取值。
资源启动顺序
√
√
√
√
√
√
√
如 DependOn 依赖关系
头文件引用
O
X
√
O
√
X
√
长模板文件拆分为多模板文件管理
Metadata定义
√
O
O
O
X
X
O
为对象填加自定义扩展属性
例如VM的Userdata启动脚本
堆栈嵌套
√
X
√
O
√
√
堆栈包含另一个堆栈,大型协作场景(如解决方案)需要
虚机应用辅助
√
X
X
O
X
X
X
如cfn-init/cfn-hup等,部署VM虚机应用的辅助工具
堆栈更新
√
O
O
O
√
O
√
1. 增加/删除元素
2. 某个已有元素改变属性
给出详尽变更预览,如ChangeSet
模板内注释
√
X
√
√
√
X
√
ROS不支持Yaml语法,只支持Json。但是Json不能加注释
访问权限控制
√
O
O
X
X
√
√
控制不同用户访问模板or堆栈,例如通过tag标签,Group等
模板设计器/IDE
√
O
√
X
X
O
X
图形化模板设计器,
或者模板编辑IDE
自动生成模板
√
X
X
X
X
√
X
分析已经创建的已存在资源,生成模板文件。如aws的former
设计器能力对比
√表示“强/做得好”,O表示“一般/待增强”,X表示“没有此特性”。
功能
特性
AWS
CFN
Aliyun
ROS
Huawei
AOS
说明
设计器
元素拖拽
√
√
√
依赖连线
√
√
√
缩放定位
√
√
√
图文联动编辑
√
X
√
ROS不支持IDE纯文本编辑
图片预览
√
√
√
单元素编辑
√
√
√
编辑输入联想
X
O
√
光标自动联想,给出元素可用属性字段提示
元素属性提示
X
√
√
复杂的属性定义,免记编辑
元素复制
√
X
√
关联删除提示
√
√
√
中途放弃并新建
√
X
√
多元素同时选中
X
X
X
导入已有模板
√
X
√
全局缩略图
X
√
X
视图居中适配
√
X
√
连线取值
√
X
√
A元素的属性,从B元素的结果取值
编辑撤销&重做
√
X
√
ctr+z的undo功能
包含对象整体移动
√
√
√
异常关闭恢复
X
X
√
浏览器异常关闭情况,可重新恢复之前编辑内容
语法校验
√
X
√
点击校验模板语法
函数快速插入
X
O
X
内置函数语法提示&插入
元素文档提示
O
O
√
元素关联文档地址
一张图对比
总结
亚马逊CFN与阿里ROS
阿里的ROS的定位与AWS的CFN是一致的,功能上也是瞄着CFN追赶。当前情况为:ROS在虚机应用的支持能力远不及AWS-CFN。不过这个cfn-tools也是AWS的杀手锏,各大云厂商都没有。只有Heat做了一些努力去兼容。
ROS的设计器能力需要增强。目前功能较弱,且在使用中有偶现异常。
亚马逊CFN与华为AOS
从功能&语法层面,CFN与AOS基本属于第一阵营,各自互有领先。比如AOS在设计器上领先CFN。不过CFN在虚机应用,及复杂多服务组合场景下,领先AOS。所以AOS需要在后续用更多的场景去进一步催熟。
阿里ROS与华为AOS
ROS在虚机应用部署,及可编排服务的多样性上优于AOS。而AOS在容器应用相关的能力上优于ROS。图形化模板编辑器能力则是AOS大幅度领先。
青云
设计器所见即所得的方式,大幅降低使用门槛,用户体验很好。建议将模板语法尽快开放出来,因为编排仅靠图形化设计器,支持的场景有限。
腾讯云
云平台上居然没有编排服务,毕竟目前为止,所有公有云都有的刚需服务。希望腾讯云的技术专家回家好好反省,并尽快补齐这个必备的能力。(比如挖一些华为AOS的专家,你看天下武功出少林,中国容器看华为,都一家人嘛)
微软Azure
微软的模板使用Json语法,函数的使用是混杂在Json内部,并不像aws-cfn那么简洁,整体体验并不好。感觉把复杂度都提高了很多。
当然,天然的Visual Studio编辑器支持,是编写模板一个便捷之处。Infrastructure as Code嘛,写代码当然有好的IDE才行。
谷歌CDM
CDM(Cloud Deployment Manager)使用了jinja2和Python作为模板语法,使得模板覆盖复杂场景的能力大大增强,算一种优势吧。
然而没有合适的UI界面,我想你太不懂国人了。
Helm
语法层面的能力OK,足够支撑在单个K8S集群中,各种k8s对象的复杂编排场景。自身定位为K8S上的管理工具,一般不作为公有云独立服务,仅为容器服务的附属功能。
没有图形化设计器,也不能将基础资源与K8S对象混合编排。目前进入CNCF的孵化项目,作为K8S生态一环。
OpenStack Heat
定位是与AWS的Cloudformation一致的,实际编排能力与效果与ROS相似,也就是与CFN还有些差距。根据CFN语法和能力做了很多兼容工作。
没有图形化设计器,主要侧重OpneStack对象or生态的编排,其他服务支持一般。属于OpenStack生态一环。
应用编排服务 AOS 云计算
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。