A project consists of a
configured stack. Which is the merge between a
stack and a
configuration for this stack.
- A stack is a generic description of an app. You should put here everything common to each deployment of this stack.
- The config gives all related configuration to an environment (dev, staging, prod, ...). Example the size of Amazon EC2 instance to use, number of instances, ...
Cycloid usually works with a stack and config definition stored in a git repository, created respectively in
Stack and configuration definition could be in a public or private git.
Most common content of a stack
Cycloid Framework is here to make the glue and the integration between technologies. Most of our stacks are based on OpenSource technologies like :
|Describes the infrastructure and services used.|
|Describes and deploys applications inside servers (Amazon EC2).|
|Provides pipeline view and scheduler for the CI/CD jobs.|
It is not mandatory to use all those parts, for example if your stack goal is only to create infrastructure via terraform, you can ignore ansible.
Note: you can also use other technologies (e.g.: salt, puppet, chef, etc) regarding your needs, feel free to ask Cycloid engineer for some help.