Got my first hands on Sitecore Experience Manager Cloud aka XMCloud recently and this blog series of blog is intended to share my findings and learnings.
As XM Cloud is still a least explored product among the sitecore developers, I thought I should start from the basic. Create a series with 3-4 articles.
This series is intended for developers and technical users who wants to get a basic understanding on XMC. This is series is not a sales pitch or a rave attempt to woo customers/business users.
Sitecore Experience Manager Cloud:
XM Cloud is Sitecore’s latest SaaS offering for developing enterprise level digital web applications based on headless CMS. In simple terms, instead of installing Sitecore XM/XP in our server and developing websites, the equivalent XM/XP will be centrally hosted and can be accessed based on subscription and Content will be delivered to our application via Edge API.
This means that just like how we can login into Azure via portal.azure.com and consume Azure Products similarly we can now login to https://portal.sitecorecloud.io/ and consume XM Cloud products and services.
There are several benefits (and changes) by this SaaS approach in a sitecore application’s development and maintenance lifecycle.
- No infrastructure setup is required from our end. We don’t need to install sitecore in DEV/QA/UAT and of course PROD. All we need is to push some buttons in XM Cloud to create projects and specify the environment needs for each projects.
- As the sitecore instance is not installed and maintained in our servers and that we are consuming them as a service, we don’t need spend much effort on upgrade activities. Which means you can sleep with X Version and wake up to a Y version.Yes I’m over hyping it and that’s not the case (for)now. But XM Cloud is the closest we can get to what I meant. Although the zero code/zero effort needed from our end during upgrade is not an official statement, I assume we might require some work from our end, but that will be way less than how we are doing our upgrades now. (Some of the info mentioned here may be wrong and misleading. I have updated it please check the last)
- Scaling and Availability – Once again, because of SaaS and sitecore owning the infra related components, scale up and down are easy and can be done on demand. * (Updated please check the last)
* As this uses Edge to provide contents to your static site hosting there may be some additional work needed from that end.
Once, you login into XMC, you will be redirected to your organization’s home page
This page has all the modules or at least redirection to all the modules related to managing your XM Cloud instance. XMC classifies each instance Organization level. Organization here implies Customer or Implementation Partners. Each organization can have several XM Cloud projects. This limit is determined by your license. Each projects can have multiple environments. (PROD/Non-PROD(DEV/UAT/QA)) based on your license again. Not sure how the prices are set, but sitecore mentions it as pay per use.

Admin page provides details about the number of users in your organization and their roles. You can invite new members to you XMC from your organization by inviting them. While inviting new users, you can specify the access for them. Admin or User. Admin has full access to all your org. projects. And with User level you can limit the access to a particular project/app.


XM Cloud Deploy
You can create a new project for your organization via Manage my projects-> Which will redirect to https://deploy.sitecorecloud.io/. This is the platform used to create/manage/deploy sitecore XMC projects. This is the devops feature which XM Cloud provides. While creating a new environment, you can specify the repository from where you can deploy your headless sitecore code to XMCloud environment. By default XMC provides UI for GitHub repo. However, you can deploy your project from any git repo(AzureGit,BitBucket) using Sitecore CLI -> Cloud plugin/deployment command or via API. If there is no Headless cloud repo you can make use of sitecore’s sitecorelabs/xmcloud-foundation-head (github.com) repo. While creating a project and environment you can authenticate using git credentials and XMC creates a repo based on the foundation head and maps that to the created environment.


One of the key feature of XMC Deploy is that it can trigger a deployment when a commit is done to a target branch.

XM Cloud Pages:
Apart from the usual Sitecore modules – The Content Editor/PowerShell/Access Management etc. which we already have in XM/XP Sitecore,

There are 3 new modules, Pages, Components and Explorer. Of these, Pages resemble Horizon, but it provides far more features when compared to Horizon.
Components are something that’s entirely new to Sitecore XM/XP landscape. It’s unlike any other existing Sitecore modules. It allows us to create a component in XM Cloud from various external data sources (exposed via GraphQL, REST API). You can setup a data source, configure the end points and map their response to a component ultimately adding the component to a page. How cool is that? More about this in coming days.


First Impressions:
- XM Cloud is the final piece that is needed for the Sitecore’s Composable future.
- Has lot’s of OOTB features that’s gonna save lots of time in bringing a project to live there by drastically reducing the time to market.
- It help’s directing efforts into actually creating a component and sites instead of spending efforts/time in setting up/managing infra. In a project cycle.
- Apart from the new modules and their features mentioned above, all the remaining modules of existing sitecore is included and available in XM Cloud. However, Sitecore + MVC now belongs to a museum. XM Cloud doesn’t support MVC components and there is actually a re-write required.
- XM Cloud Deploy, Components are truly a game changer.
- As far as migrating contents from existing Sitecore XM/XP to XM Cloud, Sitecore CLI’s new cloud plugin comes in to play. (More on this in upcoming days)
Okay all that was discussed so far was about the PROD/Non-PROD environment. What about local?
Sitecore XM Cloud – Local Development setup: (Based on xmcloud-foundation-head)
- Setting up sitecore XM Cloud environment in local for development is straight forward. You have the repo created in your GitHub, while creating an instance.
- Before that the pre req. include
- Powershell
- Docker – Hyper V enabled.
- Node.js LTS
- Dotnet 6
- .NET Framework 4.8
- And most importantly license.
- Clone the repo. Powershell(Admin)-> in the cloned repo folder -> run init.ps1 providing the path to license and the sitecore admin password.
- And then up.ps1
However as simple as it seems, when I setup first time there were a lot of issues. Mostly between Firewalls, VPNs, Proxies and Docker.
I am planning to share the list of issues I faced and how I solved/identified work around in my next article.
*Thanks to @guitarrich,
- Version Upgrade: You can in fact actually go to SLEEP with XM Cloud Version X and WAKE UP to Version Y. Sitecore upgrades will be released in a way they don’t break our code or prevent our code from building. In case if there is any failure while applying the upgrade and the build fails, the update would not be deployed, and you would be notified for a build failure.
- Scaling Up and Down: XM Cloud provides the content via Edge to our Headless Application and scaling of the that part of your web application is completely/only in our hands. XM Cloud can be scaled for Content Authors and editors/storage space needed based on license.
One thought on “Sitecore – Experience Manager Cloud – Introduction”