Containerization is a trend that has been around for a while in the world of data architecture and virtualization, providing a more efficient and flexible way to manage the infrastructure that supports your website and other online properties. In recent years, Sitecore has increased support for popular containerization frameworks such as Docker and Kubernetes, providing opportunities for digital teams to drive efficiencies and make life easier when managing more complex digital environments.
In this post, we’re going to look at the topic of containerization in more depth, particularly in relation to Sitecore, and consider some of the advantages for both IT and marketing teams.
What is containerization?
Containerization as a general term is all about placing things into different containers for ease of use. Applied to technical infrastructure, the same principle applies – software, apps and related code are packaged into different “containers” to support efficiency. The folks over at Docker define a “container” as a “standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another”.
Containerization relies on a framework that enables the packages to be created. Popular standard container frameworks that thousands of development teams rely upon include Docker and the container management system Kubernetes; both these frameworks can be applied across different cloud providers, including Azure and AWS. Here at Cylogy, we tend to use Docker as our framework of choice, typically with a Kubernetes instance appropriate to the target infrastructure.
Containerization has benefits for both digital marketers and IT teams. Let’s explore these in more detail.
Advantages of containerization for digital marketing teams
Generally, containerization will lead to a reduction in ongoing infrastructure costs compared to the practice of running full-blown virtualization with multiple machines which is common in more traditional environments. Fewer resources are required for ongoing management as well as during deployments. Depending on who controls different aspects of your budget, this could be very beneficial for your IT team too. More than any other advantage, reduced costs is at the center of any business case for containerization.
Sitecore environments can be complex; changes such as moving between cloud providers or executing deployments require careful planning and can be subject to constraints. Containerization gives you significantly more flexibility when making substantial changes to your environment. For example, using a standard container framework that works across the major cloud providers makes it easier to change your host when moving from AWS to Azure. The easier deployment facilitated by using Docker can also support a more flexible approach to managing your overall digital footprint.
Faster time to market and faster issue resolution
Because containerization makes your infrastructure significantly easier to manage, it means changes can be rolled out more rapidly with less dependency on IT resource allocation, less planning required and fewer associated risks that can come with a complex Sitecore environment. Part of the reason for this is that only the layers of the solution that changed are ‘reacquired’ during each deployment, dramatically reducing the time spent. For marketing teams, the result of this can be to facilitate a faster time to market for new sites or improvements, and quicker fixes when resolving any issues.
Advantages of containerization for IT teams
Easier day to day management
If your Sitecore instance currently involves multiple virtual machines, there are simply more things to manage and configure, as well as more potential points of failure. Containerization reduces both effort and risk by completely abstracting the system as your team no longer have an operating system to manage. For smaller IT teams this is highly significant, and provides both a far less resource-intensive approach and easier day-to-day management of your infrastructure, freeing up time to manage already heavy workloads.
Easier and faster deployments
When your development team are working with a more traditional infrastructure, they may have to spend days setting up a local developer environment, adding significant time and cost to your project. Containerization means you can deploy a development environment on a local laptop in a quick and straightforward process. It’s also far more efficient, supporting smooth DevOps processes that can ensure quicker project phases and site deployments with fewer associated risks and increased confidence for everyone involved. The net result is easier and faster deployment with fewer headaches and missed deadlines, faster onboarding of new development staff as well as greater outcomes.
Swifter issue resolution
Because a container framework like Docker provides a robust approach to DevOps, you can use it to easily replicate specific environments for development, debugging and testing purposes, helping to support swifter issue resolution. This can be a huge advantage when contending with multiple environments across more than one client. Containerization can really help when you have very complex Sitecore issues which require more thorough investigation and testing in isolation.
Container frameworks like Docker come with a plethora of options, including off-the-shelf dashboards for monitoring your project. This provides excellent options to continue to monitor the success of your environment, providing overall insights into the health of your site, all without requiring significant management overhead from your team.
Containerization and Sitecore
The Sitecore team have provided a useful guide to when containerization can work particularly well for teams working with Sitecore, with instances including:
· When it’s hard to manage Sitecore infrastructure due to different versions of Sitecore
· When a lot of time is being wasted setting up Sitecore environments
· When your Sitecore environments are hosted by different providers, such as across AWS and Azure
· When developers are moving rapidly between Sitecore projects, causing operational issues
· Where testing Sitecore in isolation is a challenge.
The guide is also worth a read as it provides a heads-up on some of the potential challenges associated with moving to a container framework, such as working in a regulated industry. If you foresee potential challenges to implementing a containerization strategy and framework, then get in touch to discuss how to overcome these hurdles.
Thinking about containerization?
We’re helping IT and marketing teams working with Sitecore to implement a container-based architecture and enjoy the various benefits it brings. Get in touch if you’re thinking about containerization and want to discuss next steps!