Your Adobe Commerce on cloud infrastructure Starter architecture supports up to four environments, including a master
environment that contains the initial project code, the Staging environment, and up to two Integration environments.
All environments are in PaaS (Platform as a service) containers. These containers are deployed inside highly restricted containers on a grid of servers. These environments are read-only, accepting deployed code changes from branches pushed from your local workspace. Each environment provides a database and web server.
You can use any development and branching methodology you like. When you get initial access to your project, we strongly recommend that you create a Staging environment from the master
environment. Then, create the Integration environment by branching from Staging.
The following diagram shows the hierarchical relationships of the Starter environments.
The Production environment provides the source code to deploy Adobe Commerce to the Cloud infrastructure that runs your public-facing single and multi-site storefronts. The Production environment uses code from the master
branch to configure and enable the web server, database, configured services, and your application code.
Because the Production environment is read-only, use the Integration environment to make code changes, deploy across the architecture from the Integration to Staging, and finally to the Production environment. See Deploy your store and Site launch.
Adobe recommends fully testing in your Staging environment branch before pushing to the master
branch, which deploys to the Production environment.
Adobe recommends creating a branch called staging
from master
. The staging
branch deploys code to the Staging environment to provide a pre-production environment to test code, modules and extensions, payment gateways, shipping, product data, and much more. This environment provides the configuration for all services to match the Production environment including Fastly, New Relic APM, and search.
Additional sections in this guide provide instructions for final code deployments and testing production level interactions in a secure Staging environment. For best performance and feature testing, replicate your Production database into the Staging environment.
Adobe recommends testing every merchant and customer interaction in the Staging environment before deploying to the Production environment. See Deploy your store and Test deployment.
Developers use the Integration environment to develop, deploy, and test:
Adobe Commerce application code
Custom code
Extensions
Services
You can have up to two active Integration environments. You create an Integration environment by creating a branch from the staging
branch. When you create an Integration environment, the environment name matches the branch name. An integration environment includes a web server and a database. It does not include all services, for example Fastly CDN and New Relic are not available.
You can have an unlimited number of inactive branches for code storage. To access, view, and test an inactive branch, you must activate it.
Projects provisioned before June 5, 2020 had multiple, smaller Integration environments. If you need a larger Integration environment for testing and development, request an upgrade to Enhanced Integration environments. See the Integration Environment request article in the Adobe Commerce Help Center for details.
The Production and Staging environments include the following technologies. You can modify and configure these technologies through the .magento.app.yaml
file.
Adobe Commerce on cloud infrastructure currently supports the following services: PHP, MySQL (MariaDB), Elasticsearch (Adobe Commerce 2.2 to 2.4.3-p2), OpenSearch (2.3.7-p3, 2.4.3-p2, 2.4.4 and later), Redis, and RabbitMQ.
Each service runs in a separate, secure container. Containers are managed together in the project. Some services are standard, such as the following:
HTTP router (handling incoming requests, but also caching and redirects)
PHP application server
Git
Secure Shell (SSH)
Adobe Commerce on cloud infrastructure uses the Debian GNU/Linux operating system and the NGINX web server. You cannot upgrade this software, but you can configure versions for the following:
In the Staging and Production environments, you use Fastly for CDN and caching. The latest version of the Fastly CDN extension installs during the initial provisioning of your project. You can upgrade the extension to get the latest bug fixes and improvements. See Fastly CDN module for Magento 2. Also, you have access to New Relic for performance monitoring.
You use the following files to configure the software versions that you want to use in your implementation.
You can create a snapshot of your database and file system using the Project Web Interface or the CLI. See Snapshots and backup management.
The following workflow summarizes the process to branch your code, develop, and deploy your store:
Set up your local environment
Clone the master
branch from the Project to your local environment
Create a staging
branch from master
Create branches for development from staging
Push code to Git that builds and deploys to an environment for testing
See the following sections for detailed instructions and walk-throughs to develop, test, and deploy your store:
Docker development (local development environment enabled by Cloud Docker for Commerce)