Magento 2 is a powerful eCommerce tool, but sometimes it isn’t clear which version you should use or where to host it. Magento Open Source solution is fairly robust for an eCommerce system, but the Enterprise version (Magento Commerce and Magento Commerce Cloud) provides a number of enhancements including the ElasticSearch search engine, B2B catalog implementations like quoting and credit lines, related product automation, rewards programs, gift cards, and much more. For many companies that need these advanced solutions, the choice is clear.
However, the choice of where to host Magento Commerce may still be murky. Companies that can support the cost of using Magento Commerce, and need all the Enterprise features, may find themselves asking whether or not traditional Magento Commerce hosting with a hosting provider or the Magento Commerce Cloud hosting solution from Magento is the right choice. But what’s the difference?
Magento has tried a few offerings for cloud hosting packages in the past, and Magento Commerce Cloud is the latest fully integrated hosting solution they provide. There are a number of pros and cons to consider with this hosting solution. We have been working with Magento Commerce Cloud for a couple years now, so we thought sharing our insights gained from direct development on the Magento Commerce Cloud may be useful to our readers who would like to know more about this Magento service compared with other hosting solutions.
Magento Commerce Cloud: The Pros
Fully customizable: The Magento Commerce Cloud environment runs fundamentally the same way as Magento Open Source and Magento Commerce. This means you can build and deploy Magento Marketplace extensions and you are able to develop custom extensions in the same manner as any other Magento 2 installation. There is nothing particularly different about how customizations would be built compared to a traditional Magento 2 environment.
The deployment process is different, but the development process is the same. So, you shouldn’t run into any surprises. You do have to access the cloud database via SSH, so if you need to run some database queries, you will need to configure your remote access pub/private keys and interact with the server that way.
Performance Tools: Probably the best value feature from Magento Commerce Cloud are it’s supported suite of performance tools. NewRelic monitoring is enabled so you can begin analyzing PHP execution and server speed right away. Blackfire.io is also supported, although we did run into some glitches that Magento support said are known and they are working on. Blackfire.io lets you performance test page loads and get real server data that can be useful when optimizing your site.
Magento Commerce Cloud includes ElasticSearch, which is a big step up from the default MySQL search, although it may take you some time working with Magento support to get this working. (In fact, most of the time you must follow up with Magento Support to complete some of these performance tool configurations). For caching, Magento has chosen to go with Fastly CDN as their supported CDN delivery system. Fastly seems to be pretty nice and allows for more advanced caching configurations.
Git Versioning: Deployment on Magento Commerce Cloud is done via Git. This means each time you update the Magento 2 code, you will push it to the cloud environment via Git. This serves to isolate code pushes and ensure that for each update you make, Magento 2 will deploy. If there are any issues, the server will reject the build and roll back to the prior state.
PCI requirements: Companies with strict PCI compliance rules can be certain that their site will meet these requirements, using Magento’s PCI Attestation of Compliance. Magento Commerce Cloud is PCI certified as a Level 1 Solution Provider.
Scalable: As with most cloud hosting solutions, Magento Commerce Cloud is scalable to meet your demands for catalog size, concurrent connections, etc.
Magento Commerce Cloud: The Cons
Restricted Server access: Earlier I mentioned that deployment on Magento Commerce Cloud is done via Git push. This means that most of the file system is read-only. This poses a problem with some 3rd party integrations you may use. You are able to create special read/write areas on the server, but this can add some complexity to your development process.
There are also some processes not enabled by default, or that are unavailable, or that require Magento Support to assist with. This can cause some confusion and frustration during development. Magento Documentation can be sparse regarding specific server configurations and processes. And if you have an issue of this type with the server, the unfortunate news is that it could cause unnecessary delays. See the next entry.
Long wait times for support: This is by far one of the most unfortunate issues with Magento Commerce Cloud. If your site is not live (in other words, in development) and you run into an error that requires some assistance, wait times can be quite long (on the order of weeks). To make matters worse, if your site is not live, your support ticket priority is reduced, so that your tickets are less priority than if your site was live. This can be frustrating and expensive to deal with during development.
Extra overhead: Finally, Magento Commerce Cloud uses multiple environments for development (Integration, Staging, and Production). This at a glance seems like it wouldn’t cause too much headache, but the reality is that each environment has different server configurations, particularly Integration. We found the Integration environment to be extremely slow and suffered from problems that Staging and Production did not suffer from. This causes extra confusion, and ultimately adds extra time needed for development to debug and configure each environment. Maintaining different configurations and file systems for each environment can add extra time to your development processes as well.
Magento Commerce Cloud has a lot going for it, but it can be an expensive platform for development. If you want to go with the Magento Commerce Cloud hosting option, be prepared to expand your budget to deal with the overhead and complexities that occur with this environment. More traditional cloud hosting solutions are not as locked down and less expensive per month. It really comes down to whether or not your budget can accommodate this platform. It has some great tools and exciting server performance results, but the cost of complexity can really add up. Magento Support is also a big point of concern. Support tickets can languish for days, sometimes weeks. When a critical server-side issue appears, this could turn into huge delays and extra expense. We personally feel because of this support weakness and cost, that more traditional cloud hosting solutions are a better choice.