A 2020 McKinsey Global Study found that due to the COVID-19 pandemic, businesses have been pushed “beyond the technological tipping point”. Research has found that as digital adoption has accelerated in response to pandemic-related changes in the business environment, companies have accelerated the digitization of their interactions with their customers and their supply chain. , as well as their internal operations, up to four years.
Companies had already started to ramp up digital transformation (DX) projects – replacing manual IT tasks with software to automate testing, configuration and execution processes – and for good reason. It has been recognized for decades that DX can not only dramatically improve IT and business capabilities, but can also save money. As a result, organizations that leverage DX can create and maintain a competitive advantage by:
- Transform employee experience (EX) and customer experience (CX)
- Increase revenue growth
- Contribute to a substantial increase in results
But while many companies had already begun to recognize the value of a DX approach, the pandemic introduced a new sense of urgency for the company to meet the goals related to digital adoption. Organizations that previously had the luxury of remaining reluctant about e-commerce were suddenly forced to speed up their DX work.
Using the DX Drives software container
One of the results of all of these DX initiatives has been an explosion in the use of software containers, and âexplosionâ is not an exaggeration. A 2021 report from ResearchAndMarkets predicts that the application container market will experience a 29% CAGR over the five-year period between 2021 and 2026. In a separate study, the Cloud Native Computing Foundation (CNCF) survey 2020 announced that the use of containers in production has increased by 300% since 2016, reaching 92%, up from 84% last year.
The CNCF survey also revealed a steady growth in the number of containers managed by organizations. Those using more than 5,000 containers reached 23% in 2020, up 109% from 2016. Those using more than 250 containers reached 61% in 2020, up from 57% in 2019.
The emergence of stateful containers
While containers were originally designed to be entirely stateless and ephemeral, DX initiatives also lead to the adoption of stateful containers. Previously, containers would rotate, do their job and disappear, leaving no trace of what happened while they were in operation.
The reason for moving to stateful containers is that most real-world applications need to maintain state; Respondents to the CNCF survey confirm this:
- 55% use state-in-production containers
- Almost a quarter (22%) only use stateless containers
- 12% rate stateful containers
- 11% plan to use stateful containers next year
Good, better, better HA
But how can organizations move these projects from development and testing to production? The answer is that organizations will need to deploy a good, better, and better high availability (HA) methodology for their stateful containers. Keep in mind that the large-scale container deployment architecture typically consists of three components:
- Knots, which can be a virtual or physical machine and can have multiple pods.
- Pods, which are a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers.
- Container orchestrator, like Kubernetes or Docker Swarm
âGood high availabilityâ looks like this: When a node fails, the container orchestration solution (for example, Kubernetes) that hosts the node starts a replica pod on a different node. The container reconnects to services such as storage and networking, and the application reconnects to the container. This entire process is relatively long and can take several minutes.
However, you can add good HA to get âbetter HAâ. With this capability, when the container fails, the Container Orchestrator boots another instance of the container, then attaches it to services, and the application reconnects to the container. Restarting the best HA process is usually faster than âmovingâ a Pod to a different node as in a good HA, but it can still take a few minutes to complete.
Ideally, you want âbest high availabilityâ where, as part of a containerized application deployment, the container application instance, for example, mssql-server, is replicated to a group of containers. This group can be distributed across separate container orchestrator clusters and, if deployed in one or more clouds, deployed across multiple availability zones and regions. The benefit of better high availability is that if the primary node, pod, or container fails, the application is reconnected almost instantly to a secondary container running on another node in another pod. This means that the âgoodâ and âbetterâ HA scenarios are improved with almost zero downtime.
Optimize your Kubernetes cluster
The best high availability, as described above, is beyond the capabilities of container orchestrators such as Kubernetes and Docker Swarm. For medium to large organizations running enterprise database systems such as SQL Server on bare metal or virtual machines, high availability at the database level has traditionally been provided by SQL Server Availability Groups (AG ). However, highly available SQL Server AGs were not supported in containers until recently, hampering the ability of organizations to take advantage of DX.
For SQL Server users, an ideal solution is one that speeds up an enterprise’s DX by accelerating the adoption of stateful HA containers. The solution must provide highly available SQL Server AG support for SQL Server containers, including Kubernetes clusters.
Look for a system that helps customers deploy stateful containers to build new and innovative applications, while improving operations with near-zero recovery time targets. This feature enables a business to more efficiently deliver better products and services on a lower budget. The goal is to help organizations generate new sources of revenue, enabling them to create containerized AG clusters distributed in areas and regions of availability. The result: hybrid and multi-cloud environments that can quickly adapt to changing market conditions and consumer preferences.