If you’re not currently on Magento Commerce Cloud, you’ve probably thought about it as an option at one time or another or you’re currently thinking about it since you’re reading this blog. The purpose of this post is to detail our experience working on the platform in hopes that it will help you or your team decide if its a good option for you.
We believe that Magento Cloud rocks in the ease of use department so we will focus our first few points on that. The most common things that your choice of platform affect are your ability to launch, upgrade to newer versions of Magento, implement CI/CD , and monitor performance and other metrics. Let’s break down how Magento Commerce Cloud makes your life easy in all of these areas.
Launching Your site
Upon signing up for Magento Cloud Commerce you are given access to the Magento Commerce Cloud Project Portal (Onboarding UI) that helps you become familiar with the platform and assign roles to people on your team so that they can gain access and start working right away. Magento Commerce Cloud handles provisioning your project environments so there is not much technical work to be done until you start customizing e.g. installing a custom theme or migrating your data from another platform. Every Magento Cloud Commerce package includes at least 3 environments. For information about what is included in Pro and Starter plans, see Starter Architecture and Pro Architecture.
Upgrading
Upgrading to the latest version of Magento is never a hassle barring issues with your custom code/or third party extensions because all you have to do is submit a support ticket to Magento Support specifying the version of PHP, MySQL, Elasticsearch, etc that you would like to move to in order to meet your target Magento 2 version’s requirements. There is a lot of documentation available to help your team with upgrading your codebase and managing compatibility concerns, but you/they can always submit a ticket to Magento Support if clarification is needed. Tickets are required to make configuration changes in staging and production environments, but in integration and development environments making service/configuration changes is simply a matter of updating two easy to read configuration files. Upgrading your integration and development environment services takes less than 5 minutes. You can make your changes in :
.magento.app.yaml – defines how to build and deploy Magento, including services, hooks, cron jobs, and your PHP version.
.magento/services.yaml – defines the services Magento uses by name and version. For example, this file may include versions of MySQL, PHP extensions, and Elasticsearch. These are referred to as services.
Implementing CI/CD
Magento Cloud Commerce gives you access to amazing CI/CD tools and options. It gives you the ability to manage your project via a web interface or the nifty Magento cloud cli tool. Using the web interface you can easily trigger new deployment or provision new environments by hitting the sync, branch, or merge button. The cli tool allows you to trigger fully automated build/deployment processes, create environment snapshots, provision new ones, create new branches, and much more. Triggering a new deployment is as simple as pushing your latest commit to the branch associated with your target environment. Furthermore, Magento provides options to integrate platforms like bit bucket, GitHub, and GitLab so you can have greater flexibility and control over when a build/deployment is triggered.
https://devdocs.magento.com/cloud/project/project-webint-branch.html#private https://devdocs.magento.com/cloud/reference/cli-ref-topic.html
Monitoring
Magento Commerce Cloud includes New Relic ( New Relic Service level depends on your Magento Commerce Cloud package) and Magento Business Intelligence. New Relic offers really powerful tools that allow you to really dig into your site’s performance and metrics. The usefulness of the data it provides cannot be overstated. Magento Business Intelligence allows you to keep track of your Average Order Value, Customer Lifetime Value, Retention rates and much more which can definitely give you an edge over your competitors or help you make the right decisions.
Cons
Now its time to discuss some of our issues with the Platform. The list below in no way means we hate Magento Commerce Cloud, these are just some areas in which the platform can be improved.
Communication
Unfortunately, in our experience, Magento Support can be slow to respond to tickets at times or simply respond to tickets in a manner that does not address the ticket. The current method of communication is essentially email; we’d like to see them implement some type of chat feature in the future.
Constraints
We have had instances where build/deployments were stuck for days making it impossible for us to push new code to any environment. Unfortunately, deployments to your cloud environments are all in one queue so that means if a deployment to your staging environment is stuck for days, you cannot deploy to your production or integration environment either. We’d like to point out that this has not happened recently, but has happened in the past.
Performance
We have attempted to use the provided integration environment a few times and have had many issues. The most difficult one to deal with is how slow this environment is. One of the main reasons for this environment’s poor performance is that it does not have a Fastly integration and depends on Magento’s built-in cache. According to Magento’s documentation, this environment can be used if the proper optimizations are made, but we have had no luck getting any real use from it despite recently having it consolidated and up-sized on one of our projects.