By Muggie van Staden, MD and CEO of Obsidian Systems.
Cloud-native technologies have become fundamental in helping enterprises drive innovation faster than before. The likes of Kubernetes, Docker, and serverless functions are the central building blocks when it comes to how applications are created and deployed, regardless of whether it is for a public, private, or hybrid cloud environment.
As you know, containers package applications with the configuration and deployment files on which they depend. From a business perspective, this speeds up the time between development and deployment while empowering technology teams to accelerate delivery cycles. It is almost as if containers are embedded with the principles of the Agile methodology without explicitly stating it as such. In effect, a container provides a better way to get the most out of technology resources while creating a more enabling environment for people to work more efficiently.
Perhaps this quote best sums up why cloud-native (and all the related technologies) is so important at a time when many businesses have had to accelerate their digital transformation journeys:
“Cloud-native is structuring teams, culture, and technology to utilise automation and architectures to manage complexity and unlock velocity.” – Joe Beda, Co-Founder, Kubernetes and Principal Engineer, VMware.
For instance, the Kubernetes open source system provides virtually limitless possibilities for transforming how we live and work. It has therefore become increasingly important for any business to incorporate the development of containerised applications into their cloud strategy. This is vital to support the ‘new wave’ of technology-driven innovation done more efficiently and securely than ever before.
Take the work Red Hat and Microsoft have done to provide a production-ready, containerised environment with a hybrid cloud environment. Together, the native high-availability features of Microsoft Azure and the advanced application management capabilities of Red Hat OpenShift Container Platform create a reliable, stable container-ready environment. The Red Hat OpenShift Container Platform interface lets users easily create and deploy applications on Microsoft Azure using Linux-based microservices. Migrating on-site development and test environments to a container-ready environment can also improve performance, flexibility, and control.
This has contributed to how technology leaders within a company are using containers at scale to deliver the flexibility, agility, and automation required for rapid application deployment while remaining agile to shifting market conditions.
Some of the best practices to consider that can ease the transition to help a business adopt containers at scale is:
- standardise
- automate wherever possible
- collaborate, collaborate, collaborate
- security is paramount; and
- modernise your culture.
There are way more to these practices, but just being aware of them highlights how it is not just one thing that contributes to the success of containers helping drive innovation. In fact, containers must permeate every facet of the company’s IT and cloud strategies to embed the business with the ability to innovate faster and at scale.
This is where orchestration is so important. Research by Datadog shows that nearly 90% of containers are orchestrated. Orchestration helps manage container workloads. By using an orchestrator to automate aspects of container deployment and maintenance, companies can not only deploy faster, but also ensure that their applications run reliably at scale. Datadog research indicates that orchestration is now the norm for container environments of all sizes.
Of course, one of the challenges facing companies looking at a containerised approach is the lack of internal IT skills to do so effectively. Certainly, there is a steep learning curve especially when it comes to how best to integrate cloud-native into any existing environment. This becomes increasingly difficult when there are extensive legacy systems in place.
Trusted technology partners like Obsidian can assist in this regard or business leaders creating an enabling environment for technical teams to upskill and reskill themselves as required. Containers themselves play a significant role in the success of DevOps initiatives.
One of the key success criteria in DevOps is to increase the developer’s stake in operations. Developers should not only hand off code to operations, but also, they should be concerned about how their code runs in the production. The common technique is to treat ‘infrastructure as code.’ Rather than provide pages of installation instructions that are error prone, the development team should provide the environment setup as code. This is the exact problem that containers solve. Container images, which are templates for containers, include the entire stack, starting from the base operating system through to the application code.
Ultimately, any cloud-native strategy must be able to adapt to future technologies and innovations. Going cloud-native with containers requires continuous iteration and change to keep up with new shifts and the availability of more sophisticated solutions. And yet, the reward that results from going the container route can be significant as it frees up vital internal resources to focus more on delivering innovative products, services, and business value.