It’s quite a common case in business, when after choosing the commerce platform, it is necessary to select the hosting solution. In most of the cases business owners prefer to advise with the integrator since they can provide the exact requirements and suggest the best applicable solution.
For Magento users there two possible solutions:
- To use own hosting infrastructure supported by in-house team
- To use Magento Commerce cloud
Each solution has its own pros and cons so let’s try to clarify them together.
What is Magento Commerce Cloud
Magento Commerce Cloud is a PaaS (Platform as a Service) solution. Initially, Magento Commerce Cloud runs on Amazon Web Services (AWS) infrastructure, but recently Adobe also added Microsoft Azure as an IaaS (Infrastructure as a service) provider for Magento Commerce Cloud. Magento Commerce Cloud solution is based on platform.sh which is one of the solutions that is involved on top of IaaS. This means that the number of third-party solutions used affects the complexity of support.
Magento Commerce Cloud provides a ready to use solution Out Of the Box
When you are choosing an IaaS solution like AWS you will need to create and manage your own infrastructure from scratch. It will give you full control, visibility and freedom, but it’s also an additional cost for initial configuration and future support for your environment.
In this case we think that Magento Commerce Cloud has almost a balanced solution from the Infrastructure side.
- Easy to extend and set up a different integration environment
- Balanced infrastructure – built deployment system, readonly codebase, properly configured processes like cron, etc.
- Simple UI, console and server tools for managing environments.
- Limited control over the servers and restricted access.
- Only compatible with Magento Commerce.
- Distant support and prolonged response time.
- Extra overhead and slow Integration environments
Scalability and Customization
Magento Commerce Cloud announces taking full responsibility over scaling your e-commerce store to manage high website traffic and comes with a lot of scalability features.
It should be an automated solution capable of increasing resources for intense traffic and decreasing when it is gone, but based on our experience it looks like most of the processes will be still managed manually.
Basic Cloud price is calculated according to subscription years total, and is being scaled according to the client’s setup. It includes: Annual fee and one time On-boarding fee.
Additional parameters, which can influence the final price:
- Additional Annual vCPU days
- CDN Transfer (per TB)
- Additional storage
- Additional development environment
- Additional Store Views
- Annual fee for deploying your own dedicated SSL certificate
While using Magento Commerce Cloud you can install third-party extensions (which are compatible with Cloud) and build custom extensions in a simple way.
It is complicated to clearly define any pros and cons here as in fact the solution is quite scalable, but limitations and additional communication is required.
Continuous Integration and Deployment
Magento Commerce Cloud offers built-in features like a simple Continuous integration and Deployment tool.
With Magento Commerce Cloud you get following environment tree:
- Master – called Starter as root environment, but the need of it is not clearly defined
- Production – child of Master, production
- Staging – child of Production, primary staging environment
- Integration, IntegrationX – child of Staging, any number of integrations
Magento Commerce Cloud has its own integrated source control management system (GIT), which initiates automatic build, deploy and management. This means that any push to the active branch (branch is related to environment) will start deployment to the environment. If you need to re-deploy the existing code you’ll have to push an empty commit.
Magento Commerce Cloud provides you with a copy of a special cloud codebase (template) which consists of Magento Community Cloud codebase (metapackage which includes additional Cloud features) and configuration files. This will give you additional flexibility in:
- Changing versions of used software and tuning it
- Setting up additional routing, crons, building parameters and pre/post deploy hooks.
- Adding any patches that will be applied to the codebase after it is built allowing you to modify core codebase or 3rd party extensions and track changes.
- Easy to manage version of software
- Built-in full circle deployment system
- Read only codebase
- Downtime with each deploy (around 15-25 minutes, depending on changes)
- Additional time and effort to get everything live
- Running updates and upgrades takes a lot of time
- Unexpected errors during deploy
- Magento Commerce Cloud is PCI certified as a Level 1 Solution Provider. From one side for the companies with strict PCI rules it gives additional assurance that their site will be fully compliant with Magento’s PCI Attestation of Compliance. From another side, you can understand that using Magento Commerce Cloud means handing over your data to a third party.
- ece-tools delivers Magento patches and hot fixes that improve the integration of all Magento Commerce versions with Cloud environments and supports quick delivery of critical fixes.
- With MCC you also get WAF (Web Application Firewall) that might help to prevent DDoS attacks and other traffic wasting.
- You can configure Security Scan that allows to monitor your site for known security risks
- Fresh fixes and patches during deploy
- Handing over your data to a third party providing MCC Server
Page Speed and Performance
MCC recommends to use Fastly as page cache, CDN, WAF and Image optimization futures.
Fastly seems to be pretty nice and allows for more advanced caching configurations. Also, you can easily change behavior via Backend.
MCC 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 and allow analyze request on real server
MCC includes ElasticSearch, which is a help to optimize Layered Navigation and Search (Requires after Magento 2.4.0)
- Great integration with Fastly
- Built-in Performance Tools
- Built-in Image Optimization Tool
- Not defined
Finding a provider with a high quality and prompt support was always challenging. So MCC support is one of the fly in the ointment. You should be ready to create a support ticket for some changes or request/question and wait for assistance/answer. In some cases the response time can be uncertain which might complicate the delivery or problem solving.
As well, a certain number of initial / management / technical meetings before going live will be required and you have to be ready to fulfil all the defined requirements. So from one side this can be very helpful and beneficial, but from another can lead to the extensive time spending.
MCC has a configured monitoring and sends alerts. But you should be prepared to investigate and solve some of them on your own.
- Checklist before launch
- Monitoring and alerts
- Number of meeting before go to live
- Slow Support (can be crucial before going live)
So as a conclusion we would like to summarize how Magento Commerce Cloud can be applicable for businesses of different sizes.
Price of MCC might be too high for small-size companies as it comprises expenses for the configuration, compliance with Cloud requirements and testing. Total overhead can be not commensurate with the amount of business.
MCC can be a very good solution for mid-sized companies as this will decrease their expenses on their own dev-ops department, infrastructure and they will get basic support. MCC is quite adjustable and fit for standard business and infrastructure needs.
For the large companies having their own infrastructure might be more applicable than using MCC. This is due to the fact that MCC can have issues with scaling for an extensive traffic load, own cloud team and infrastructure can be more flexible and reliable. As well, remote support can cause delays in communication and problem solving, which can be crucial in case of emergency response needed.
As you can see, MCC is preferable for medium-sized companies and can be also used by large enterprises under certain circumstances like standard requirements for infrastructure, no need for complicated scaling and advance planning before going live. Based on this you can make a decision if MCC can be beneficial for your company size and type of business.