Those of us who have been working in the DevOps industry for a while will be well versed in the Windows conundrum but for the sake of clarity here is an example of what it is and the problem that it poses. Let’s take a CTO within an enterprise organisation – someone in charge of a complex estate of business applications. This estate might include numerous Linux-based applications or in some cases hundreds of legacy windows-based applications. This CTO is already a containerisation convert and is bought into the benefits of added portability, security and agility, and like many organisations in the industry, he recognises Kubernetes as the standard for container orchestration. However, up until now, container orchestration for Windows applications has been limited – and this limitation has caused conflict between the need to run Windows containers in Productions and the largely agreed best practice approach of using Kubernetes.
To those less embedded in the DevOps world, this might sound like an implementation detail to be overcome by the ‘DevOps engineer’ (usually sat in a darken room), but it has a real impact on the business because of the time, resource and cost involved in solving it. To get the real benefits from a containerisation approach you need to have a unified strategy that works across your entire technology suite. Having to manage different approaches and different processes reduces the beneficial impact. Thankfully the coming together of Docker, Kubernetes and Microsoft has at last provided a solution to the problem with the launch of Kubernetes 1.14 (https://kubernetes.io/blog/2019/03/25/kubernetes-1-14-release-announcement/).
Of course, Docker has had a solution to the Windows Containers problem for a while, with a well-established and well-tested security model in the form of Docker Enterprise using Swarm orchestration. However, the rise of Kubernetes (it is increasingly the first choice among container users, with Datadog reporting its use increasing from 22.5 percent in October 2017 to 32.5 percent in October 2018) has meant that Docker had two choices. It could either continue to try and push users towards its own container orchestration solutions or it could take a more collaborative approach and embrace the fact that Kubernetes has become accepted as best of breed in this space. Thankfully for those at the sharp end of implementing containerisation strategies, they seem to have decided on the latter.
You really have to give kudos to Docker for this. It has understood the needs of its community and given it what it needs – a route to a single strategy across both Linux and Windows applications. It also means a big step forward in the move towards serverless environments.
The people who are going to feel the benefits of this most acutely (at least in the short term) are the applications teams. These are the folks at the coal face of implementing a containerisation strategy that is part of a wider IT transformation designed to speed up delivery and reduce complexity. They may also sit below a strategy team who all too often have selective blindness when it comes to looking at the technology stack and seem not to be able to see the Windows elements. It therefore falls to the men and women on the ground to deliver a series of benefits that have been sold in further up the chain based on a view of the application environment that is not entirely accurate.
So, if I am a head of architecture what can I take from the launch of Kubernetes 1.14?
Firstly – if you have been hesitant about moving forward with a containerisation approach because of the complexity of your applications environment, you now have a solution that will work across the entire environment. Not only does it mean a single control plane across different platforms and orchestrations, the UCP GUI (rather than script) means operation is simplified which will increase RUN team use.
Secondly, you can relax in the knowledge that finding yourself the right skillsets to get your containerisation strategy underway is going to be just that little bit easier!
Here’s how ECS Digital can help you use Docker:
There are significant benefits to containerisation, including portability, improved security and increased infrastructure efficiency. ECS Digital is a leading Docker Certified Delivery Partner and can help you use and extend the Docker Container platform.
Docker Modernising Traditional Applications
ECS Digital has the knowledge and experience to bring the benefits of containerisation to your more traditional applications. Working with Docker customers across EMEA, we undertake MTA Modernising Traditional Applications engagements, taking a traditional application into containers to realise the value of Docker in just five days with a turnkey program.
- 1-week onsite support / 3 weeks remote
- Deploy Docker EE to cloud or on-prem infrastructure
- Containerise an existing application
- End-to-end app deploy using Docker EE
- App operations using Docker EE
Official Docker Training
As well as Docker Authorised Consulting Partners, ECS Digital is also a Docker Authorised Training Partners offering a range of official Docker training courses for all skills levels.
ECS Digital’s Container Enablement PodsTM are an outcome-focused solution that deliver the capability you need, when you need it. Each Enablement PodTM starts with a Sprint Zero in order to establish a backlog of target outcomes with measurable KPIs and the resource.
Our Enablement PodTM approach has been massively successful in delivering large scale digital transformation projects in some of the UKs largest retail and commercial banks, as well as news publishers and international energy providers. Click hereto find out more about how our Enablement PodsTM work.
Here at ECS Digital we’re always happy to talk about how what we do can help benefit you and your business. If you’re interested in finding out how we can help, please do get in touch.
*Kubernetes 1.14 is available for download on GitHub.