剖析 Recipe

This topic provides an overview of the recipe framework, terminology, and syntax.

Basic Concepts

  • Cloudify is designed to onboard and manage applications
  • 应用是一系列的服务的集合
  • 一个application recipe描述了应用的名称、它需要的服务、服务间的各自依赖。
  • 一项服务是由一组服务的实例组合成的一个应用层 (e.g. 一个Web容器、一个数据库、或是一组Tomcat服务实例) 服务和服务的实例之间有着重要的区别。一项服务可以被定义为一个由至少一项服务实例组成的集合。每一项服务实例在一主机(典型的是虚拟机)之上。然面一项服务是一种集成,例如横跨在多个机器上的所有服务实例的一个聚合体
  • 每一项服务都由service recipe安装,管理和监控。
  • 一个service rrecipe描述了以下信息:
    • General: service的name, service type, number of service instances, and the service icon filename
    • Compute: Hardware and software requirements
    • Lifecycle events: 事件映射到处理脚本或闭包,就其本身而言, 是service recipe最重要的一部分。
    • Custom commands: 将用户事件映射到处理脚本,这样用户可以使用Cloudify shell当作命令来调用
    • Probes: 用于监控服务配置、执行表现、和可用性
    • UI layout: Describes the layout to use for displaying the collected metrics in the Cloudify web management console In future releases, Cloudify will also support “provided services”. These services are not provisioned by Cloudify and are only monitored for availability.

Overview

应用recipes是在不改变应用代码和结构的同时,进行安装、启动、协调和监控的一系统执行计划。Cloudify使用以下几种recipes类型:

Recipe type :Application 、Service

Application 

一个application recipe由应用描述文件和该recipe所需要的services recipes组成。

Service
每一个service recipe由service 描述文件, 处理程序脚本,可选监控插件, 一个可选的服务图标文件, 和一个可选的配方参数文件组成。

部署一个应用,只需要一个application recipe。这个recipe使用一个或多个service recipes,以提供所需的服务。所有组成该应用recipe的文件必须放到 应用的recipe文件夹中,如下图所示。

剖析 Recipe

下图描述了application’s recipe文件夹结构: 
剖析 Recipe

你可能感兴趣的:(recipe)