# Creating a Production Environment

## Environment

In ReadyMage we use the term "Environment" to refer to an infrastructure instance where the website with all its services is deployed and used for its intended purposes.

ReadyMage accounts can have one or multiple environments and each of them can be used for different purposes. You start out with a single environment and can create additional ones on demand.

The most common is to have 3 environments - production, staging, and development.

* A production environment is used to host the version of the website for commercial daily operations.
* A staging environment is used to test changes made for the website before deploying them to the production environment.
* A development environment is used to test individual change to ensure that it works after it has been developed locally.

## How to Create a Production Environment

The production environment is created by default on account creation by making a subscription -  <https://readymage.com/subscribe/>

In 15 minutes after subscribing, you will receive an email with Magento access information and instructions on how to access the User Portal.

{% hint style="info" %}
Existing ScandiPWA projects can be fully migrated to ReadyMage for free.
{% endhint %}

## Infrastructure

{% hint style="info" %}
Environments by default are created with resource configuration listed [here](https://readymage.com/subscribe/). You can request a custom resource configuration by writing to <hello@readymage.com>.
{% endhint %}

The infrastructure consists of a dedicated server for each of these individual services:

![ReadyMage Environment Infrastructure Topology](/files/-MVMN4xKOu_Wvkv4T-nF)

Magento 2 and the Frontend will be already set up in your environment. The production environment source code will be available through the GitHub project and it will be on the `production` branch.

Learn how to make code customizations, local setup, and deployments by following [the instructions](/project-development/code-customization-and-local-setup.md).

## Additional Environments

You can create additional environments for staging and development by following the instructions [here](/project-development/additional-environments.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.readymage.com/project-development/create-production-environment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
