Docs
Basic Concepts
Introduction
Cycleops is a Cloud Management Platform with tools that enable teams to create self-service DevOps processes like:
- design Stack templates,
- execute application deployments jobs and
- monitor Stack setups
in multiple Environments.
The core aspect of Automation in software lifecycle management is made easy with Cycleops no-code approach. The technical barrier for software engineers to benefit from best practices in DevOps workflows is made significantly lower.
Teams collaborate more efficiently over a common workspace. An intuitive web UI brings together knowledge and skills that reside across every team member.
Under the hood, Cycleops generates Ansible configurations and playbooks to make everything work like a charm.
Units
Units are the core components used in your Stack templates compositions.
Units include all the required tasks required to deploy common Open Source Software tools of the following Categories:
- Operating System,
- Platform and
- Application
Units are available in the Catalog and include all the required Automation tasks to make your application deployments operational based on industry best practices. Essentially, the platform includes the necessary Ansible roles to implement deployment and configuration tasks based on your custom needs.
Stack templates
A Stack template serves as the core design element, in which you select the necessary Units which are required to compose the stages needed in your application deployment workflow.
Using Stacks templates your design decisions are stored and reused on multiple Hosts or Host Groups in your application Setups.
As a member of software development team you realize a quick path to achieve Automation and Standardization across your Environments.
Stack templates are used to store the desired composition for one or more Units and the respective automated tasks to be applied in order to instantiate Stack Setups. The order of Units that consist your Stack templates define the respective Automation tasks required in the sequence of software delivery stages for your applications.
To control how your architecture design is being applied to target Hosts, you are guided to build Stack templates based on Units, at the level of:
- Operating System,
- Platform and
- Application
Following this workflow you will have the benefit of reusing the same or similar architectures to multiple use cases for your software projects.
Services
Service is the set of configuration settings required to serve your Stack Setup activity. Each service is applied respectively over one Unit.
Configuration Management is achieved at the Service level. Service settings provide you quick access to core configuration parameters for every Unit. Following this approach you avoid editing multiple configuration files and respective automation scripts.
Services are used to store the desired configuration for one Unit and then are utilized with Stack Setups. Each stage in the automated workflows executed with Cycleops is dynamically configured based on the Service settings you define from an intuitive web User Interface
Stack Setups
A Stack Setup acts as an instance of a Stack template, which carries your workloads after your Service configurations have been applied to the associated target Hosts.
Essentially, Stack Setups are the element which gives you access to the actual outcome of using the Ansible engine, managed by Cycleops, on your target Hosts to install and configure your applications.
Stack Setups combine your Stack templates with available Hosts and configured Services. Actions for common cases in the software delivery workflow like:
- application deployment
- configuration change
- setup verification
are stored and reused at will, and this way you realize the benefits of a powerful Automation engine without writing the actual code.
Reduce time and eliminate human errors, while at the same time you provide your software development teams with a single place to collaborate.
No code approach to the above cases provides your team with all the necessary tooling to collaborate over Cycleops to achieve a self-service DevOps approach.
Environments
Environments help you isolate resources for different project types or/and project stages based on your workflows.
To separate resources into Environments, consider things like:
- hosted application
- product line
- usage type (e.g. production, staging or development)
You need to create one Environment at least to associate target Hosts used in application deployment workflows.
SSH Keys
SSH keys are the recommended way of providing access from Cycleops to your target Hosts, in order to fulfill Automation tasks, using Ansible engine in the backstage.
Ansible operates over SSH connections from Cycleops to your target Hosts. So, add your existing SSH keys or generate new ones from the web User Interface to allow access across your Environments as required by your organization
Inventory
Hosts and Host Groups are the core elements representing your Inventory of Cloud resources.
Hosts
Hosts are the basic deployment element used by Cycleops to instantiate your Stack templates to Stack Setups. In order to register your Cloud servers with Cycleops, you need to provide user credentials to allow SSH connectivity from Cycleops to your target Hosts.
Hosts are the basic resource used as target for application deployment jobs. Your Hosts might be any of the following types:
- provisioned cloud instances
- hosted cloud servers or
- self-managed virtual machines
The most common use case scenario would be to add a Host, that is already provisioned from your Cloud Provider.
For instance, use as Host an AWS EC2 instance to which you know the user credentials for SSH access.
Host registration
Host registration is a required step to use your host as target for deployments.
The Host registration process is managed by Cycleops. You need to provide the following input:
- public IP Address, your target Host must be accessible from the Internet
- SSH user credentials, you need to provide either username/password or username/SSH key. Make sure to provide access of a user with “user add” permissions.
to register your target Host(s) with Cycleops.
After Host registration success, a user named “cycleops” will be created, and your unique SSH key will be copied in your target Host(s).
ATTENTION: Use ‘clean slate’ machines for your target Hosts to avoid any unwanted results. Cycleops executes deployment jobs on Hosts without prior knowledge of any existing setup on those machines.
Jump Host
Jump Host(s) can be created to further add target Hosts that are not accessible from the Internet.
Add Hosts with Private networking as provided by your Cloud Provider by setting one of your Hosts as Jump Hosts.
Jump Hosts must have a Public IP Address, and that should be used during the Host registration with Cycleops.
Host Groups
Host Groups is a way to organize Hosts as one unity.
Manage any number of Hosts grouped by common system or application properties like:
- architecture components (e.g. web servers, database, operations)
- operating system flavor and version
- geographic location
and other suitable characteristics for your custom needs.
Team
Organizations can define policies to abide with, when various teams and their members collaborate on the same central platform for executing DevOps processes.
Users
Users can be other team members from your organization, so that you would be able to utilize every collaboration aspect within your DevOps processes.
Your Cycleops Account is associated with only one Account Owner. The Account Owner is the default user when you sign up with Cycleops CMP.
User Groups
User Groups offer the ability, to Cycleops CMP administrators, to manage multiple Users at once.
Contacts
Contacts are defined as communication points, to get alerts coming from Cycleops Watch, the built-in monitoring service.
Third Party Tokens
Third Party Tokens are the points where you can allow integrations of Cycleops with external Cloud Providers, like AWS or others.
Third Party Tokens allow Cycleops to access AWS and/or other providers, on your behalf.
Please make sure that:
- Cycleops is assigned to a new user account, at your Cloud Provider’s side.
- Access permissions are specifically defined for your intended use, to avoid unwanted costs and/or Cloud service behavior.
This feature is in Preview status and its not really utilized with customer Accounts.