Adobe Commerce


Integrate 3rd party CMS with Adobe Commerce Cloud


Author Photo
Alex Lyzun
Lead Developer Adobe Commerce

Integrate 3rd party CMS with Adobe Commerce Cloud

The requirements of any e-commerce system integration are always unique and sometimes even quite exotic.

In the Commerce Unit here at comwrap, we work mainly with Adobe Commerce Cloud, which also brings some additional server architecture requirements. In this Article I will share our experience and show you how you can integrate any CMS with Adobe Commerce under a single domain name.

 

Requirements

We have the following requirements: 

The Adobe Commerce Cloud system publishes using the following URL

  • mcstaging.awesome.cloud/us

At the same time, we need to ensure that access to the existing CMS system persists via

  • mcstaging.awesome.cloud/en

  

Challenge

As you can see, the main challenge is that the same URL is used for two different systems. And if it is an on-premise solution, it is not a problem to install both systems on the same server.

But this is not possible with a cloud solution, where a commerce system is installed on Server-A and a CMS on Server-B. This challenge cannot be overcome with the default DNS settings, since by default you can only assign one domain per IP.

So our requirements are as follows:

Solution

One benefit of using Adobe Commerce Cloud is the Fastly CDN integration, which manages Magento's FPC and also manages all the traffic that goes through the cloud server. 

This gives us the idea that we can manage traffic to different sources using the Fastly configuration.

 

Fastly configuration

First, we need to define a new backend system for the Fastly service. (more detailled information about backends: Backend | Fastly Developer Hub )

Go to Magento Admin, Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Backend Settings → Create New Backend and specify the IP of your CMS installation as the name.

Example: 111.222.33.44

After that, fill in all other settings.

Defining a backend system in Adobe Commerce Admin

 

In addition, please setup a new condition (click to “Attach a condition“ and then “Create new condition“).

 

Setting up a condition for a new backend in Adobe Commerce Cloud Admin

Save the condition. I would also recommend uploading the VCL to Fastly again and then flushing the cache (even though it's not required, I'm just a fan of flushing the cache).

Now when Fastly decides which backend system to load the content from, it will check the conditions if they exist. In our case, Fastly recognizes that the request comes from the /en prefix and uses a different backend system from which to deliver the content.

 

Conclusion

I think it was a pretty simple explanation, but Fastly provides you with a powerful tool for managing traffic in various ways that you need.

Moreover, it's not limited to backend configurations that you can implement with the Magento extension. You can also simply use the Fastly API to manage almost anything you need.