Click here to learn more about Ariff Kassam.
We’re at a unique inflection point in the database industry. Many things have changed over the last decade, but the cloud, containers, microservices, and the broader drivers for innovation – such as digital transformation – have created significant demand for new database technologies. Given the widespread focus on modernizing applications, it’s no wonder NoSQL experienced a lot of early adoption in the cloud as organizations moved some of their applications there.
While emerging social or web-based enterprises already have nearly all of their applications in the cloud, such applications represent a small portion of the existing database workload in traditional enterprises. These organizations have significant technical debt and thus only a small portion of their applications have been moved.
And yet, enterprises are under intense pressure to modernize IT infrastructure in order to address key business challenges and respond quickly to emerging opportunities. So how can they find a low-risk way to adopt new technology and be as agile as their web-based counterparts? Here are three ideas:
1. Capitalize on cloud and container-native applications
Cloud providers will continue to compete with on-premises offerings based on increased services and the potential to lower costs. However, your cloud provider of choice today should not prevent you from switching to a different cloud in the future. Avoiding cloud “lock in” is not a new concept, but it has taken on new urgency as more and more critical business applications and heavy transactional systems move to the cloud. By default, software applications that are cloud and container-native – built and architected to perform in a cloud or container environment – will garner more traction.
These applications are designed for scalability, resiliency, and flexibility, enabling the infrastructure to keep pace with business demands. This goes beyond a simple containerization approach. Container-native applications are optimized to take advantage of all the benefits that containers and the cloud have to offer. For example, organizations can speed the application delivery process by capitalizing on container runtime management and orchestration platforms such as Kubernetes.
2. Leverage Kubernetes to reduce complexity and costs
As software developers are pushed to speed up the process from application development to production, many have discovered that building and deploying stateless applications in containers is relatively easy. These types of applications can quickly scale out with increased user demands and protect against failures. There’s just one catch: The vast majority of applications used by enterprises (personalized applications or those that handle business-critical data) require a persistent state. They require storing data to protect against failures so that the application won’t lose its state. As it turns out, these stateful applications are harder to fit into the new world of microservices and containers.
Kubernetes has emerged as the de facto way to simplify and automate control of container processes. Databases have long been the standard for managing state for applications. To work in containers and the Kubernetes orchestration environment, databases must be able to support the dynamic nature of Kubernetes. Most traditional databases assume a static environment and do not work well within Kubernetes. As enterprises move more critical applications to the cloud, automating and simplifying deployment of distributed, stateful applications in Kubernetes will only increase.
3. Accelerate a multi-cloud strategy
In an always-on world, availability is a key requirement for application success. And yet high-profile outages from major cloud vendors persist. To combat that risk of data loss and potential customer impact during such instances, organizations can accelerate the adoption of multi-cloud, or even better, inter-cloud strategies. This is particularly relevant in heavily regulated industries such as banking. To run core banking applications in the cloud – such as mortgage applications, credit card processing, and even fraud prevention – supporting multi-cloud environments becomes critical to provide the necessary level of data protection and availability.
In the future, specific banking regulations may require deployment in more than a single cloud (inter-cloud). As the ability to deploy stateful applications reliably grows, there will be greater emphasis on the need to provide continuous availability through the use of distributed deployments and multiple clouds.
As organizations continue down this path of application modernization and business agility, traditional enterprises can develop the modern architecture needed to compete in today’s on-demand world. By capitalizing on the opportunities to move to the cloud or distributed environments – leveraging technologies that are cloud or container-native and managing application complexity with new tools – these organizations can ensure they are ready to meet customer demands in 2020 and beyond.