Moving out from Magento Commerce Cloud

Pablo Morales
The Love, Bonito Tech Blog

--

When I moved from Dubai to joined Love, Bonito in Singapore, two things got my attention. We were using Magento and Magento Cloud as a PaaS solution.

Relocalize to a new country is not easy, and we were having a worldwide pandemic, so I decided to avoid any questions about migrating out of Magento Cloud.

Migrations are never easy. At that time, I only have four Magento developers, no DevOps, nothing.

Scaling up servers

In my first week, we have a sale, I know, not an ideal start. On Friday, when the sale started, everything fell apart. The second worst first week in a company. During that time, the small team I had, reacted and fixed most of the issues during the day, but one, in particular, kept my attention.

Every time we hit a specific threshold, the servers were overload and down eventually.

My first question to the team was, do we have auto-scaling?

The answer was, of course, no. Even worst, we were in the highest tier, so even if we want to pay extra, the Magento cloud architecture wasn’t possible to add more servers. I think this is a perfect moment to tell you that this happens in March 2020, not in 2005.

It means that if your company grows too much, the platform couldn’t keep up with the business, and there were no alternatives for you.

Deployment

No, we didn’t have any automated tests. We didn’t even have a deployment pipeline.

The worst part is that team, together with the product, needs to do the deployment around 2 am, when the traffic is lower because apparently, Zero-Downtime Deployment for Adobe means at least 5 minutes down.

https://devdocs.magento.com/cloud/deploy/reduce-downtime.html

During the deployment process, all connections queue for up to 5 minutes preserving any active sessions and pending actions, such as adding to cart or checkout. After deployment, the queue is released and connections continue without interruption.

Continuous Integration Pipeline

Magento Cloud deploys an application by pulling directly from your development repository to its git repository; this kills whatever intention you have to create a pipeline. So the deployments happen without a pipeline, and you push code to production without the need to go to a staging environment. You usually end up with different versions of code in every environment.

MCloud put me in contact with some engineers to try to go around this limitation, but we couldn’t.

Lastly, Headless

As every e-commerce should do right now, my only light at the end of the tunnel was to start working on headless e-commerce. Modernize our current frontend architecture, hire proper Frontend Developers and move out of the legacy way of doing software development with Magento.

This had a small problem with MCloud, its only works with a normal Magento. Even when Adobe is trying to promote PWA Studio, you cannot host it on their PaaS solution.

https://magento.com/resources/pwa-studio-overview

MCloud made it easier for me

We were close to the end of our contract with Adobe, so we started the renewal conversation.

They already knew my concerns about the platform, so they decided to contact every director who was involved in the MCloud. That was a fun week.

We found out that we were the biggest e-commerce, at least in the region, using the platform. Adobe was preparing a successful case to publish with Love, Bonito’s name.

In the end, the discussion with those directors made everything easier for me. They weren’t prepared for an e-commerce company with a traffic of over 500 current users.

So we move out.

Conclusion

Magento Commerce cloud Platform was Adobe intention to capture all those e-commerce that use Magento into their infrastructure, but they don’t have the right team or even the capacity to keep with the industry standards.

If you don’t have the resource to maintain your platform, go to Shopify or similars, don’t waste time here.

--

--

Pablo Morales
The Love, Bonito Tech Blog

Argentinian living in Singapore. You can find me anywhere @pablofmorales