Cloudify基本介绍
介绍
Cloudify 是开源的云编排框架,管理应用的整个生命周期,主要功能包括:
应用编排:blueprint,部署和管理应用维护:工作流,事件和日志管理可插拔:使用插件垒起来的标准:基于TOSCA的DSL(领域描述语言)术语
blueprint:cloudify 用blueprint 来定义应用,blueprint 是应用的逻辑展示,包括配置脚本、和其他资源的关联等应用需要的一切;workflow:cloudify 用 workflow 来提供和管理应用,workflow 用来定义对应用执行动作的流程,默认为 install;plugin:cloudify 用 plugin 实现应用的部署,比如 “home-grown script-plugin” 是执行一堆脚本来部署 web server,对应不同的blueprint,需要安装相应的plugin,安装方式”cfy local install-plugins -p BLUEPRINT_PATH”;model:保存应用的整个结构deployment:blueprint 的实例,model 的一部分node:blueprint 中定义的每个逻辑实体,包含多个node实例(比如multiple virtual machines),对应 blueprint 中的 “node_templates”Cloudify Manager:包括开源栈的环境,用户可以利用其不同的插件(例如Docker,脚本,Chef和Puppet插件)来管理应用程序的主机维护 blueprints 目录创建blueprint的多个部署,并安装应用的恢复、扩展和其他定制workflow并发多个workflow使用其Web UI查看指标、搜索日志、查看应用程序的拓扑结构和执行的不同任务通过认证和授权插件为应用管理提供安全环境保留指标和事件的历史管理运行应用程序的主机上的代理
Cloudify Manager 架构
包括三部分:
* Manager:集中控制中心
* Agents:各个节点的代理,负责执行具体的工作
* Web UI:对外展示
Cloudify核心组件
Cloudify的技术栈:
Nginx:HTTP和 反向代理 服务器,接收来自GUI界面的请求,并转发给后端的RestAPI(Swagger)。
Elasticsearch:Blueprint、instance、metrics、log、events的全文检索。
Logstash:日志进行收集、分析。
RabbitMQ:metrics、events、task的异步执行。
Riemann:metrics stream processor(基于Java),一个规则引擎,可以基于metrics进行内存级的过滤、处理。
InfluxDB:分布式时序数据库InfluxDB,用于存储metrics。
Grafana:仪表盘图形化展示组件,用于展示influxDB的数据。
Flask:a microframework for Python,整合Swagger提供Restful API。
Gunicorn:Python WSGI UNIX的HTTP服务器。
Celery:Python Distributed Task engine,通过RabbitMQ实现异步分布式任务处理,用于实现Cloudify的工作流。
Fabric: SSH Library。
Diamond:Python监控组件,提供Monitoring Agent。
===========================================================================================
Nginx:REST 服务和UI 的代理;文件服务器(保存一些资源)Gunicorn and Flask:Gunicorn为WSGI HTTP服务,Flask为web框架Elasticsearch:保存应用的models,存储日志和事件Logstash:日志收集,并push到Elasticsearch保存RabbitMQ:消息中间件,应用之间通信使用Riemann:基于策略的事件流处理器Celery:分布式的任务队列InfluxDB and Grafana:InfluxDB 存储监控到metrics,Grafana是InfluxDB的图形dashboard关键特征
Any App, Any Stack
任何应用程序,任何堆栈
使用配方为基础机制, 部署任何中间件堆栈
Automatic Self-Healing
自动自我修复
跟据配方定义, 宕机系统或机器能自动被新的取代
Auto-Scale, Your Way
自动伸缩
根据框或自定的指标, 自动伸缩应用程序
Any Cloud
任何云
支持所有主要的云计算和虚拟平台
Automation of the Entire Life-Cycle
整个生命周期的自动化
使用一个单一的平台来部署, 管理和更新应用程序
Cluster-Aware Monitoring & Management
群集感知的监控管理
可插拔的监控, 自定义的警报, 和应用程序感知的监视控制台
Fully Testable on Your Laptop
在笔记本上就可以提供全套功能的云模拟环境:简单的开始,调试,测试。
l 版本功能
虽然cloudify提供开源的是社区版本,一些高级功能(我们很想拥有的)并不提供,但这不妨碍我对cloudify敬意。除了CF,开源社区有了更多的选择,而且提供了新的思路和方式。CF也有2种版本,CF只是vmware的开源版本,vwmare也有商业版本。
功能
社区版功能
商业版本(技术层面)
Paas基础能力
任何语言任何技术栈
另外:大数据服务:Cassandra,MongoDB,
应用程序容器:Tomcat, Jboss,weblogic
部署结构
支持复合/多层结构的应用部署
同左
部署模式
连续部署支持
同左
Console控制台
交互式shell
负载均衡能力
动态负载均衡 / 动态HTTP负载均衡
高可用
高度可用的云控制器
同左
自我管理
自动自我修复
同左
监控
拓扑感知的监控和管理
同左
节点个数
无限制
同左
Cloud驱动
Amazon,Rackspace,Azure
还支持:OpenStack,vSphere,CloudStack
接口
Open cloud driver interface
同左
Api
Rich Management API
同左
源代码
社区版源代码和编译后的文件
不提供
4.5.2 总体架构
Cloudify是基于java来实现的,在它的设计思想中,并没有一个paas平台的边界,而是把各种服务器理解为一个个的网格,然后有管理节点分别去关联计算节点,还是典型的C/S模式,这和它的设计它之前的XAP的设计理念一脉相承。
这样的方式使得cloudify总工程很轻薄,但也具有相当的能力,抛去了硕大的PaaS支架的躯体,保留了paas最核心的本质。这种架构和之前的CF大相径庭,但这也是一种不错的思路,因为把这块撇给了DSL来定义,用人工定义的方式解决了服务和应用的定位和绑定功能,底层还是依赖iaas提供的对vm的控制能力,并把整体paas的管理功能封装在当前管理节点和与之相关的计算节点的管理。Cloudify抛弃了外壳,简化了架构,强化了DSL,终于换来了它轻盈的身姿。
相关知识
Cloudify基本介绍
花店花篮基本制作方法介绍
绿萝的基本介绍绿萝的基本介绍
龟背竹的基本介绍
美国加利福尼亚大学基本介绍
关于花粉过敏症的基本介绍
关于辅助病毒的基本介绍
插花的基本花型介绍
关于过敏性休克的基本介绍
《我的世界》淡蓝色染料基本介绍
网址: Cloudify基本介绍 https://www.huajiangbk.com/newsview2512422.html
| 上一篇: 十一月还能种植柚子吗 怎么播种 |
下一篇: SparkSQL相关语法总结 |
推荐分享
- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039
