Environments

An environment is a platform used for building software solutions.

When setting up a new environment, OneReach.ai creates an AWS (Amazon Web Services) account for that specific environment. These AWS accounts have all resources needed for hosting one or more environments. However, these resources are limited and are shared between the number of environments hosted. For example, if one account contains three environments and has a limit of one hundred servers, the server number will be shared among all the environments within the AWS account. Hosting one environment within one AWS account allows utilizing all of the account's resources. Each of the environments within one AWS account has a separate naming convention. This way one environment won't interfere with the resources used by another.

OneReach.ai environments can be divided into the following three groups:

  • Development: Dev, QA, Staging
  • Client: an enclosed system prepared for a specific client
  • Multi-tenant: an environment where multiple clients share resources

Development environment

Is used for creating and testing features. OneReach.ai utilizes the following three types (you can easily identify each type by the URL name):

  • Dev: a workspace for developers that they use for testing and changing their features without worrying about it affecting any end-users. This is where developers complete the majority of their work (https://studio.dev.onereach.ai/).
  • QA: an environment where the dev-ready features end up for testing and quality checks (https://studio.qa.onereach.ai/).
  • Staging: a stable environment that ensures reliability and is up-to-date with the master branch, hosts tested features, and is ready for production (https://studio.staging.onereach.ai/).

OneReach.ai also utilizes the Feature Subdomain for testing purposes. The subdomain uses the same resources as the environment it is part of. It allows testing features isolated, without affecting the main domain.

Client environment

An environment of this type is owned by the client (https://studio.client.onereach.ai/bots). This is an enclosed system with a stable deployed platform bundle version (version example: version - bundle - 2208, where 22 represents the year, and 08 - the month). The client has full control over the system, manages it, and can even request hotfixes. Nobody, except for the client, has access to this environment. Clients can also set up their staging and prod environments to test features.

Multi-tenant environment

Such an environment hosts a couple of clients where they share resources. A perfect alternative for small solutions (https://studio.client.onereach.ai/bots).