How Windows container platforms can set you up for success
- Posted on February 25, 2019
- Estimated reading time 4 minutes
Containers are one of the hottest IT trends, and the trend is expected to dominate IT transformation through the coming decade, just like the huge impact hypervisors had to our industry over the past 15+ years.
Kubernetes and Linux containers are maturing and evolving rapidly, and Windows containers are an equally viable modern application hosting platform, albeit playing a game of catch-up in the Kubernetes orchestration space.
I want Windows containers and Kubernetes today! (sorry, you can’t)
The market has spoken, and Kubernetes has definitively won the battle for container orchestration. However, as Microsoft .NET-centric organizations look to containers, they realize Kubernetes support for Windows is not yet released as generally available (GA), as it is for Linux today. As I work with clients on Windows container platform selection, I’ve noticed there is a fair bit of uncertainty about the availability of Kubernetes support. According to market info, Kubernetes for Windows is still several months away. This results in a delay in action to containerize Windows .NET applications which can inhibit opportunities to realize inherent benefits.
There is a roadmap for Windows containers available now
Most traditional .NET apps are compatible with Windows containers today. You can expect compatibility for containerization of custom-developed apps based on .NET Framework 2.0 or higher. Many clients have found success in migrating existing .NET apps to Windows containers. A key component of any container solution is the orchestration capability.
Fortunately, there are some great container orchestration platforms available now that support Windows .NET apps and will position you for a future transition to Kubernetes for Windows. Investing in your container strategy now will position you to move to a future transition to Kubernetes and give your organization momentum with containers that will make that transition easier.
Docker Enterprise Edition (EE) and Microsoft Service Fabric are industry leading container platforms that include orchestrators to run Windows and Linux containerized apps. Docker EE integrates two leading orchestrators at once; Swarm for Windows workloads and Kubernetes for Linux workloads. Service Fabric is the orchestrator provided with the Microsoft-provided container platform for both Windows and Linux.
For example, where Docker EE is deployed, migrating from Swarm to Kubernetes can be achieved by converting Docker-Compose files to Kubernetes resource files, which is not terribly challenging; this can even be automated with available tooling.
Start the Windows container journey and begin realizing results today
Starting a container journey with Windows today means acknowledgement of running a non-Kubernetes orchestrator, at least for a while. Starting with choices in the market today is less likely to require a platform change down the road. Focus on realizing the benefits of containerized applications, no matter the orchestrator platform:
- Cost savings from infrastructure consolidation and optimization
- Agility and portability with rapid application development and deployment
- Speed with DevOps and automation
We recommend beginning the journey now by learning to containerize Windows apps, establishing a container platform, automating deployments using CI/CD tools, and implementing foundational components such as image repositories, data persistence, security, networking and new operating models. All these core foundations will apply to Kubernetes for Windows when it is released. The main transition effort will be around transforming the deployment automation to Kubernetes resources.
Kubernetes is known to have a steep and long learning curve and can be challenging to optimize correctly. Many clients have found a sensible approach is to ease into containers by first learning the much simpler Docker Swarm, and then transferring that knowledge to Kubernetes orchestration. The similarity of creating deployments and resources is surprising similar across the different container orchestrators. Learning Docker → Swarm → Kubernetes is quite applicable to the familiar agile model of Crawl → Walk → Run.
How Avanade can help
Application containers are a major enabler for a variety of business and IT programs, and we see many clients using containers for initiatives such as digital disruption, cloud transformation, data center migration, and server end of support programs.
Let Avanade help you select and implement the right container platform to get you started on the right path to realize results with our expertise on the Microsoft ecosystem. See how Avanade’s Cloud Platform Services can help with your cloud journey.