Having zero downtime and rollback in a Sitecore application and infrastructure environment is like having a safety net for a high-wire performer. Just as a safety net provides a cushion and a backup plan in case of a misstep, zero downtime and rollback provide a safety net for the Sitecore platform, allowing for seamless deployment of changes without the risk of downtime or permanent damage.
This safety net allows the digital team to confidently make changes and take risks without fear of failure, just as a high-wire performer can confidently attempt daring stunts knowing that a safety net is in place to catch them if they fall.
CIO’s, CMOs and Digital Teams that own a Sitecore implementation want to be seen as business enablers. To do this release velocity is important. How quickly can an idea go from the digital board to their production environment and begin serving customers?
While there are many aspects to this, the key is a seamless, fault tolerant release process that is automated, reliable, stable and enables teams to deliver at pace – without having to worry about scheduled outages and complex rollback processes.
We see that many Sitecore Platform owners and their digital teams find it hard to get ahead of the platform. They have unreliable infrastructure that stifles innovation, combined with a problematic, partially manual release process that typically has embedded tech debt. This causes Digital Teams to focus on maintaining infrastructure and release process rather than building new and more valuable digital experiences. This challenge at its worst causes Business and Digital teams to be nervous about releases. They become a big (and complex) time sink for Business and Technical teams – just to ‘make sure’ it goes ok.
To overcome these challenges, platform owners really need flawless performance of their Sitecore DXP release, providing the ability to make decisions with velocity because they have a platform they can trust.
The ability to maintain zero downtime deployments and immediate rollback where necessary is essential for platform owners who want to be true business enablers and keep up with the dynamic world of customer experience transformation.
In-short, the key baseline capability to overcome stifled innovation in your Sitecore ecosystem is the ability to decide on a feature at velocity, have that feature created and released to production quickly for your customers to experience. You want to move your Digital teams from quarterly or monthly releases to sprint based (typically 2-weekly) releases and finally to daily releases. For this you need to enable zero downtime deployments and have a solid and simple rollback approach.
While it sounds simple, many digital teams running a Sitecore digital experience platform know the challenges of both implementing and experiencing zero downtime deployments and rollback, and there are several common frustrations and mistakes that they may encounter.
These are a few highly common mistakes & frustrations.
These are built up over years of Digital Practice enablement, with ineffective cross tool handovers, meaning, that often many manual ‘in between’ steps or post deploy ‘final config’ steps exist. Taking a step back and looking at the entire process is important.
Working towards a single tool that Orchestrates your build and release process is critical, even as it invokes other specialist tools. This will ensure your processes can be centrally controlled and built to be fault tolerant.
The build and release process typically evolves over time, accumulating elements of legacy infrastructure and outdated Sitecore version limitations. Even when these elements are no longer relevant, they continue to be embedded in the process.
For example, migrating to Cloud-Based services like Azure PaaS offers new opportunities for High Availability (HA) and introduces concepts such as Slot Swapping, which can significantly enhance the ability to release with zero downtime and facilitate better verification and roll-forward/roll-back approaches. However, many organisations fail to take advantage of these advancements.
Moreover, the choice of Serialization framework used in the past is often left unchanged and not automatically integrated into pipelines, leading to the need for partial manual steps during the process. It is essential to re-evaluate these legacy aspects and embrace modern practices to ensure smoother and more efficient release processes.
This is the bucket where the sentiment of "it is too hard" lies.
During the DXP standup project, release automation with zero downtime and rollback is often considered "too costly" or "too hard" to implement properly. This issue primarily stems from poorly calculated Economics of Automation. The hours spent on enabling automation and the time saved in all future releases are not accurately measured.
Often, the value of time saved is only considered for the current project and not over the longer Business-As-Usual (BAU) period. Opportunity cost is almost always forgotten, leading to the oversight of both consistency and end customer experience. Additionally, the impact of having fewer releases on the strategic Digital programs' velocity in the future is often overlooked.
Considering that DXP platforms like Sitecore have long tenures, both holistically and between upgrades (with most undergoing major upgrades approximately every 3 years), being constrained by poor automation and reliability for such a long time is undesirable.
The effort and cost required to fully automate are often overestimated, especially when teams are starting from scratch or trying to implement best practices for the first time around Sitecore. This is where specialized, pragmatic, prebuilt product capabilities like Dataweavers WebOps come into play. We have already codified all these key aspects, making automation feasible and efficient.
Finally, it’s crucial to ensure that all team members are trained and knowledgeable about the deployment process.
Often, the wider team does not have a picture of how the release process runs. Rather team members must be familiar with the process, understand their role in the deployment, and have the necessary skills and permissions to troubleshoot and resolve any issues that may arise. When the process is codified, automated, and simplified as directed above, then it is much easier for the entire team to understand the process and the part they may need to play
This has been a detailed article, so to wrap it up: For Sitecore platform owners aspiring to be true business enablers, achieving zero-downtime deployments and strong rollback capabilities is essential. Simplify, automate, and orchestrate the release process, while addressing legacy limitations and adopting prebuilt product capabilities to boost release velocity and innovation.
Embrace these measures to confidently make decisions, deliver valuable digital experiences, and stay ahead in the dynamic world of customer experience transformation.
To find more information visit dataweavers.com/cxt/performance
Download our 13 Key Practice Check list for Sitecore, to self-measure where you land in your current DevOps process to enable zero downtime and rollback: