Key Concepts
Here's an overview of the different resources that exist in LayerOps:
- Projects: each project maintains separate credentials, ensuring data separation and security. Users can have either a single project for their own use or multiple projects, with each project dedicated to a different client.
- Environments: refers to a designated setup within a project that can be categorized as "production", "test" or personalized for individual users. Environments can be further classified as either "premium" or "classic".
An environment enables the configuration of providers, and all environments within a project share credentials, ensuring consistent access and settings. - Providers: an environment can have zero or multiple providers. A provider consists of a platform (such as a Cloud Provider), a region within that platform, and an associated credential. This credential is used to deploy hosts on the specific provider within the chosen region.
By configuring providers, users can manage and deploy their resources across different platforms and regions within their environment. - Instance Pools: represent a configuration for deploying instances. With instance pools, users can define the desired characteristics and behaviors of their instances, ensuring efficient resource allocation and high availability within their environment (Autoscaling, Instance Replacement, ...).
Users can also define external hosts, such as their own physical servers, as part of the configuration. This allows for a flexible setup where both cloud-based instances and user-owned physical servers can be included and managed within the same environment. - Services: represent a web server, a CRON job, or any other application or task. Users can choose from the services available on the marketplace or use their own Docker images. Services provide functionalities for managing autoscaling, deployment constraints, volumes, and more.
Services are deployed on the available instance pools within the environment.