-
Notifications
You must be signed in to change notification settings - Fork 10
Glossary
The top-level logical unit of Genesis domain which consist of environments is a project. That means environment can be created only in scope of project. Project is configurable unit. It can be associated with various types of users or user groups with different access permissions to project as well it can be pointed on some project in version control system (VCS) with environment templates.
The set of virtual or hardware servers, network devices, storage, services deployed on servers, third-party services all this together forms environment. A various types of environments like qa, performance, development and so on are possible. Name and content of environment depends on the environment purpose.
A textual description of environment life cycle on a domain-specific language which is specially designed for this case is environment template. The basic DSL is a subset of Groovy programming language and any valid Groovy code can also be a part of template. As well other types of DSL are possible based on other languages (XML, Scala, etc). To support new DSL Genesis has to be extended with new DSL processor.
The generalization of environment components statuses is a status of whole environment. The possible environment statues are ready, busy, broken and destroyed.
The application or several applications deployed on one or several virtual or hardware servers that provides specific informational facility and serves specific needs is a service. Service can be simple consisting of one simple application or complex including several interdependent services distributed across several virtual and hardware servers.
The possible statues of services are requested, deploying, ready, failed and destroyed. The status of complex service is a generalization of simple service statuses that complex service consists of.
A virtual machine provided by public or private cloud provider or by other ways dedicated to running one or more services is a virtual server.
The possible statuses of virtual servers are requested, provisioning, ready, failed and destroyed.
A physical computer dedicated to running one or more services is hardware server.
The possible statuses of hardware servers are ready, unavailable.
The set of steps which are described particular actions over environment is a workflow. For example one environment could have 'create', 'destroy', 'scale-up', 'scale-down', 'redeploy' workflows. Everything that happens with the environment must be described as an environment workflow.
The generalization of workflow steps statuses is workflow status. The possible statuses of Workflow are requested, executing, succeed, failed, suspended, canceled.
Each workflow consists of dependent steps. One step describes particular action performed over environment. Two steps can be executed sequentially or simultaneously. Each step has two common attributes - phase and dependent phases and some set of step specific attributes
The possible statuses of workflow step are requested, executing, succeed, failed, suspended, canceled.
Workflow Step Phase describes the time when step will be executed. The general rule is that step is executed after all steps with phases in step preceding phases have been completed.