Docker Tools for Modernizing Traditional Applications

Over the past two years Docker has worked closely with customers to modernize portfolios of traditional applications with Docker container technology and Docker Enterprise, the industry-leading container platform. Such applications are typically monolithic in nature, run atop older operating systems such as Windows Server 2008 or Windows Server 2003, and are difficult to transition from on-premises data centers to the public cloud.

The Docker platform alleviates each of these pain points by decoupling an application from a particular operating system, enabling microservice architecture patterns, and fostering portability across on-premises, cloud, and hybrid environments.
As the Modernizing Traditional Applications (MTA) program has matured, Docker has invested in tooling and methodologies that accelerate the transition to containers and decrease the time necessary to experience value from the Docker Enterprise platform. From the initial application assessment process to running containerized applications on a cluster, Docker is committed to improving the experience for customers on the MTA journey.
Application Discovery & Assessment
Enterprises develop and maintain exhaustive portfolios of applications. Such apps come in a myriad of languages, frameworks, and architectures developed by both first and third party development teams. The first step in the containerization journey is to determine which applications are strong initial candidates, and where to begin the process.
A natural instinct is to choose the most complex, sophisticated application in a portfolio to begin containerization; the rationale being that if it works for the toughest app, it will work for less complex applications. For an organization new to the Docker ecosystem this approach can be fraught with challenges. Beginning containerization with an application that is less complex, yet still representative of the overall portfolio and aligned with organizational goals, will foster experience and skill with containers before encountering tougher applications.
Docker has developed a series of archetypes that help to “bucket” similar applications together based on architectural characteristics and estimated level of effort for containerization:

Evaluating a portfolio to place applications within each archetype can help estimate level of effort for a given portfolio of applications and aid in determining good initial candidates for a containerization project. There are a variety of methods for executing such evaluations, including:

Manual discovery and assessment involves humans examining each application within a portfolio. For smaller numbers of apps this approach is often mangeable, however scalability is difficult to hundreds or thousands of applications.
Configuration Management Databases (CMDBs), when used within an organization, provide existing and detailed information about a given environment. Introspecting such data can aid in establishing application characters and related archetypes.
Automated tooling from vendors such as RISC Networks, Movere, BMC Helix Discovery, and others provide detailed assessments of data center environments by monitoring servers for a period of time and then generating reports. Such reports may be used in containerization initiatives and are helpful in understanding interdependencies between workloads.
Systems Integrators may be engaged to undergo a formal portfolio evaluation. Such integrators often have mature methodologies and proprietary tooling to aid in the assessment of applications.

Automated Containerization
Building a container for a traditional application can present several challenges. The original developers of an application are often long gone, making it difficult to understand how the application logic was constructed. Formal source code is often unavailable, with applications instead running on virtual machines without assets living in a source control system. Scaling containerization efforts across dozens or hundreds of applications is time intensive and complicated.
These pain points are alleviated with the use of a conversion tool developed by Docker. Part of the Docker Enterprise platform, this tool was developed to automate the generation of Dockerfiles for applications running on virtual machines or bare metal servers. A server is scanned to determine how the operating system is configured, how web servers are setup, and how application code is running. The data is then assembled into a Dockerfile and the application code pulled into a directory, ready for a Docker Build on a modern operating system. For example, a Windows Server 2003 environment can be scanned to generate Dockerfiles for IIS-based .NET applications running in disparate IIS Application Pools. This automation shifts the user from an author to an editor of a Dockerfile, significantly decreasing the time and effort involved in containerizing traditional applications.

Cluster Management
Running containers on a single server may be sufficient for a single developer, but a cluster of servers working together is used to operationalize container-based workloads. Historically the creation and management of such clusters were either fully controlled by a public cloud provider, tying the user to a particular infrastructure.
A new Docker CLI Plugin, called “Docker Cluster”, is included in the Docker Enterprise 3.0 platform. Docker Cluster streamlines the initial creation of a Docker Enterprise cluster by consuming a declarative YAML file to automatically provision and configure infrastructure resources. Cluster may be used across a variety of infrastructure vendors, including Azure, AWS, and VMware, to stand up identical container platforms across each of the major infrastructure targets. This added flexibility decreases the need to lock into a single provider, enables consistency for multi-cloud and hybrid environments, and provides the option of deploying containers via either the Kubernetes or Swarm orchestrators.

Beyond the automation tooling, Docker also offers detailed, infrastructure-specific Reference Architectures for Certified Infrastructure partners that catalogue best-practices for various providers. These documents offer exhaustive guidance on implementing Docker Enterprise in addition to the automated CLI tooling. Additional guidance on integrating Docker Enterprise with common container ecosystem solutions can be found in Docker’s library of Solution Briefs.
Provisioning and managing a Docker Enterprise cluster has been significantly simplified with the introduction of Docker Cluster, Solution Briefs, and Reference Architectures. These tools allow you to focus on containerizing legacy applications rather than investing additional time into the setup of a container cluster.

Learn more about how #Docker helps customers modernize their portfolios of traditional applications with Docker container #technology and Docker Enterprise, the industry-leading container platform.Click To Tweet

Call to Action

Watch the video 
Learn more about Docker Enterprise
Find out more about Docker containers

The post Docker Tools for Modernizing Traditional Applications appeared first on Docker Blog.

At A Glance: The Mid-Atlantic + Government Docker Summit

Last week, Docker hosted our 4th annual Mid-Atlantic and Government Docker Summit, a one-day technology conference held on Wednesday, May 29 near Washington, DC. Over 425 attendees in the public and private sector came together to share and learn about the trends driving change in IT from containers, cloud and DeVops. Specifically, the presenters shared content on topics including Docker Enterprise, our industry-leading container platform, Docker’s Kubernetes Service, Container Security and more.

Attendees were a mix of technology users and IT decision makers: everyone from developers, systems admins and architects to Sr. leaders and CTOs.
Summit Recap by the Numbers:

428 Registrations
16 sessions
7 sponsors
3 Tracks (Tech, Business and Workshops)

Highlights include a keynote by Docker’s EVP of Customer Success, Iain Gray, and a fireside chat by the former US CTO and Insight Ventures Partner, Nick Sinai, and current Federal US CIO, Suzette Kent.

The fireside highlighted top of mind issues for Kent and how that aligns with the White House IT Modernization Report; specifically modernization of current federal IT infrastructure and preparing and scaling the workforce. Kent mentioned, “The magic of IT modernization is marrying the technology with the people and the mission.” And that’s exactly what her efforts support:“What’s being doing inside the federal government and serving the entire population of the American people is the largest technology transformation, with the most valuable data, in the world.”
Session Content
This year we had three tracks – business, technical and workshops – with presentations from Docker, ecosystem partners, customers and Docker captains to drive discussions, technology deep dives and hands on tutorials. Attendees loved having varying options to dive into from business to technical, beginner to advanced. 
Whether you could make it or not, dive into the program content to learn more!
For more information:

Learn more about Docker Enterprise and get a free trial today
Check out Docker for Government

Discover what @Docker Summit attendees learned about the IT trends and technologies driving change in the #cloud and in #DevOps including #Docker container platform, #container security, @kubernetesio and more:Click To Tweet

The post At A Glance: The Mid-Atlantic + Government Docker Summit appeared first on Docker Blog.

A First Look at Docker Desktop Enterprise

Delivered as part of Docker Enterprise 3.0, Docker Desktop Enterprise is a new developer tool that extends the Docker Enterprise Platform to developers’ desktops, improving developer productivity while accelerating time-to-market for new applications.
It is the only enterprise-ready Desktop platform that enables IT organizations to automate the delivery of legacy and modern applications using an agile operating model with integrated security. With work performed locally, developers can leverage a rapid feedback loop before pushing code or docker images to shared servers / continuous integration infrastructure.

Imagine you are a developer & your organization has a production-ready environment running Docker Enterprise. To ensure that you don’t use any APIs or incompatible features that will break when you push an application to production, you would like to be certain your working environment exactly matches what’s running in Docker Enterprise production systems. This is where Docker Enterprise 3.0 and Docker Desktop Enterprise come in. It is basically a cohesive extension of the Docker Enterprise container platform that runs right on developers’ systems. Developers code and test locally using the same tools they use today and Docker Desktop Enterprise helps to quickly iterate and then produce a containerized service that is ready for their production Docker Enterprise clusters.
The Enterprise-Ready Solution for Dev & Ops
Docker Desktop Enterprise is a perfect devbed for enterprise developers. It allows developers to select from their favourite frameworks, languages, and IDEs. Because of those options, it can also help organizations target every platform. So basically, your organization can provide application templates that include production-approved application configurations, and developers can take those templates and quickly replicate them right from their desktop and begin coding. With the Docker Desktop Enterprise graphical user interface (GUI), developers are no longer required to know lower-level Docker commands and can auto-generate Docker artifacts.

With Docker Desktop Enterprise, IT organizations can easily distribute and manage Docker Desktop Enterprise across teams of developers using their current  third-party endpoint management solution.
A Flawless Integration with 3rd Party Developer Tools

Docker Desktop Enterprise is designed to integrate with existing development environments (IDEs) such as Visual Studio and IntelliJ. And with support for defined application templates, Docker Desktop Enterprise allows organizations to specify the look and feel of their applications.
Exclusive features of Docker Desktop Enterprise

Let us talk about the various features of Docker Desktop Enterprise 2.0 which is discussed below:

Version selection: Configurable version packs ensure the local instance of Docker Desktop Enterprise is a precise copy of the production environment where applications are deployed, and developers can switch between versions of Docker and Kubernetes with a single click.

Docker and Kubernetes versions match UCP cluster versions.
Administrator command line tool simplifies version pack installation.

Application Designer: Application Designer provides a library of application and service templates to help developers quickly create new container-based applications. Application templates allow you to choose a technology stack and focus on the business logic and code, and require only minimal Docker syntax knowledge.

Template support includes .NET, Java Spring, and more.
Single service and multi-services applications are supported.
Deployable to Kubernetes or Swarm orchestrators
Supports Docker App format for multi-environment, parameterized application deployments and application bundling

Device management:

The Docker Desktop Enterprise installer is available as standard MSI (Win) and PKG (Mac) downloads, which allows administrators to script an installation across many developer workstations.

Administrative control:

IT organizations can specify and lock configuration parameters for creation of a standardized development environment, including disabling drive sharing and limiting version pack installations. Developers can then run commands using the command line without worrying about configuration settings.

Under this blog post, we will look at two of the promising features of Docker Desktop Enterprise 2.0:

Application Designer 
Version packs

Installing Docker Desktop Enterprise
Docker Desktop Enterprise is available both for Microsoft Windows and MacOS. One can download via the below links:


The above installer includes:

Docker Engine,
Docker CLI client, and
Docker Compose

Please note that you will have to clean up Docker Desktop Community Edition before you install Enterprise edition. Also, Enterprise version will require a separate License key which you need to buy from Docker, Inc.
To install Docker Desktop Enterprise, double-click the .msi or .pkg file and initiate the Setup wizard:

Click “Next” to proceed further and accept the End-User license agreement as shown below:

Click “Next” to proceed with the installation.

Once installed, you will see Docker Desktop icon on the Windows Desktop as shown below:

License file
As stated earlier, to use Docker Desktop Enterprise, you must purchase Docker Desktop Enterprise license file from Docker, Inc.
The license file must be installed and placed under the following location: C:UsersDockerAppDataRoamingDockerdocker_subscription.lic
If the license file is missing, you will be asked to provide it when you try to run Docker Desktop Enterprise. Once the license file is supplied, Docker Desktop Enterprise should come up flawlessly.

What’s New in Docker Desktop UI?
Docker Desktop Enterprise provides you with additional features compared to the Community edition. Right click on whale icon on Task Manager and select “About Docker Desktop” to show up the below window.

You can open up Powershell to verify Docker version up and running. Click on “Settings” option to get list of various sections like shared drives, advanced settings, network, proxies, Docker daemon and Kubernetes.

One of the new features introduced with Docker Desktop Enterprise is to allow Docker Desktop to start whenever you login automatically. This feature can be enabled by selecting “Start Desktop when you login” under General Tab. One can automatically check for updates by enabling this feature.
Docker Desktop Enterprise gives you the flexibility to pre-select resource limitations to make available for Docker Engine as shown below. Based on your system configuration and type of application you are planning to host, you can increase or decrease the resource limit.

Docker Desktop Enterprise includes a standalone Kubernetes server that runs on your Windows laptop, so that you can test deploying your Docker workloads on Kubernetes.

The Kubectl is a command line interface for running commands against Kubernetes clusters. It comes with Docker Desktop by default and one can verify by running the below command:

Running Your First Web Application
Let us try running the custom built Web application using the below command:

Open up the browser to verify that web page is up and running as shown below:

Application Designer

Application Designer provides a library of application and service templates to help Docker developers quickly create new Docker applications. Application templates allow you to choose a technology stack and focus on the business logic and code, and require only minimal Docker syntax knowledge.
Building a Linux-based Application Using Application Designer
Under this section, I will show you how to get started with Application Designer feature which was introduced for the first time.

Right click on whale-icon in the Taskbar and choose “Design New Application”. Once you click on it, it will open the below window:

Let us first try using the set of preconfigured application by clicking on “Choose a template”

Let us test drive Linux-based application. Click on “Linux” option and proceed further. This opens up a variety of ready-made templates as shown below:

Spring application is also included as part of Docker Desktop Enterprise which is basically a sample Java application with Spring framework and a Postgres database as shown below:

Let us go ahead and try out a sample python/Flask application with an Nginx proxy and a MySQL database. Select the desired application template and choose your choice of Python version and accessible port. You can select your choice of MySQL version and Nginx proxy. For this example, I choose Python version 3.6, MySQL 5.7 and Nginx proxy exposed on port 80.

Click on “Continue” to build up this application stack. This should build up your application stack.
Done. Click on “Run Application” to bring up your web application stack.
Once you click on “Run Application”, you can see the output right there on the screen as shown below:

As shown above, one can open up code repository in Visual Studio Code & Windows explorer. You get options to start, stop and restart your application stack.

To verify its functionality, let us try to open up the web application as shown below:

Cool, isn’t it?
Building Windows-based Application using Application Designer
Under this section, we will see how to build Windows-based application using the same Application Designer tool.
Before you proceed, we need to choose “Switch to Windows container” as shown below to allow Windows based container to run on our Desktop.

Right click on whale-icon in the Taskbar and choose “Design New Application”. Once you click on it, it will open the below window:

Click on “Choose a template” and select Windows this time as shown below:

Once you click on Windows, it will open up a sample ASP.Net & MS-SQL application.

Once clicked, it will show frontend and backend with option to set up desired port for your application.

I will go ahead and choose port 82 for this example. Click on “Continue” and supply your desired application name. I named it as “mywinapp2”. Next, click on “Scaffold” to build up your application stack.

While the application stack is coming up, you can open up Visual Studio to view files like Docker Compose, Dockerfile as shown below:

One can view logs to see what’s going on in the backend. Under Application Designer, one can select “Debug” option to open up “View Logs” to view the real time logs.

By now, you should be able to access your application via web browser.
Version Packs
Docker Desktop Enterprise 2.0 is bundled with default version pack Enterprise 2.1 which includes Docker Engine 18.09 and Kubernetes 1.11.5. You can download it via this link.

If you want to use a different version of the Docker Engine and Kubernetes for development work install version pack Enterprise 2.0, you can download version pack Enterprise 2.0 via this link.
Version packs are installed manually or, for administrators, by using the command line tool. Once installed, version packs can be selected for use in the Docker Desktop Enterprise menu.
Installing Additional Version Packs
When you install Docker Desktop Enterprise, the tool is installed under C:Program FilesDockerDesktop location. Version packs can be installed by double-clicking a .ddvp file. Ensure that Docker Desktop is stopped before installing a version pack. The easiest way to add Version Pack is through CLI running the below command:
Open up Windows Powershell via “Run as Administrator” and run the below command:
dockerdesktop-admin.exe’ -InstallVersionPack=’C:Program Files
Uninstalling Version Packs
Uninstalling Version Pack is a matter of single-line command as shown below:
dockerdesktop-admin.exe’ -UninstallVersionPack <VersionPack>
In my next blog post, I will show you how to leverage Application Designer tool to build custom application.

The post A First Look at Docker Desktop Enterprise appeared first on Docker Blog.

Kubernetes Lifecycle Management with Docker Kubernetes Service (DKS)

There are many tutorials and guides available for getting started with Kubernetes. Typically, these detail the key concepts and  outline the steps for deploying your first Kubernetes cluster. However, when organizations want to roll out Kubernetes at scale or in production, the deployment is much more complex and there are a new set of requirements around both the initial setup and configuration and the ongoing management – often referred to as “Day 1 and Day 2 operations.”

Docker Enterprise 3.0, the leading container platform, includes Docker Kubernetes Service (DKS) – a seamless Kubernetes experience from developers’ desktops to production servers. DKS makes it simple for enterprises to secure and manage their Kubernetes environment by abstracting away many of these complexities. With Docker Enterprise, operations teams can easily deploy, scale, backup and restore, and upgrade a certified Kubernetes environment using a set of simple CLI commands. In this blog post, we’ll highlight some of these new features.
A Declarative Kubernetes Cluster Model
A real Kubernetes cluster deployment will typically involve design and planning to ensure that the environment integrates with an organization’s preferred infrastructure, storage and networking stacks. The design process usually requires cross-functional expertise to determine the instance size, disk space, the load balancer design, and many other factors that will be custom to your particular needs.
To help simplify the deployment, Docker has created a CLI plugin for simplified Docker cluster operations. It’s based on Docker Certified Infrastructure that was launched last year for AWS, Azure, and vSphere environments. It’s now an automated tool using a declarative model so you can “source control” your cluster configurations with a cluster YAML file with the following structure:
The file defines your configuration settings, including the instance types, Docker Enterprise versions which reflect different Kubernetes versions, the OS used, networking setup and more. Once defined, this file can be used with the new ‘docker cluster’ CLI commands:

Create & Inspect
Once a cluster YAML is defined, it can be used to create and clone environments with the same desired configurations. This makes it simple to set up identical staging and production environments and to move between them using the new context switching features of Docker Enterprise. With Docker Enterprise, the Kubernetes managers and workers are automatically installed with all of the necessary components and we also include built-in “batteries included” CNI plugin with Calico:

You can also inspect the cluster you are looking at to view the settings from which it is deployed.
Simple Day 2 Operations
One of the more challenging facets of managing your own Kubernetes infrastructure is upgrades and backups. In a manual deployment, each of the components would need to be upgraded on its own and scripts would be necessary to help automate this. With Docker Enterprise, these are incredibly simple.
Changes to your environment are simple with ‘docker cluster update’. Using the declarative model, you can now change, for example, a version number in your configuration file. The CLI plugin will identify the change and implement a safe upgrade of that particular component. This helps with upgrading the engine, Universal Control Plane, and Docker Trusted Registry using a single command by utilizing a simple configuration file.
`docker cluster` also takes advantage of a new Docker Enterprise 3.0 enhancement which supports upgrading the cluster without any downtime using a blue-green deployment model for worker nodes. Instead of upgrading worker node engines in-place, a new set of worker nodes may also be joined to the cluster with the latest engine to upgrade worker nodes in a blue-green fashion. This allows you to migrate an application from older “green” nodes to newer “blue” nodes that have joined the cluster without downtime.
Backup & Restore
The ‘docker cluster backup’ command stores your cluster environment as a single tarball file that can be stored in your desired location. You can optionally encrypt that back up and then easily restore a cluster from that backup.

With #Docker Enterprise, operations teams can easily deploy, scale, backup and restore, and upgrade a certified #Kubernetes environment using a set of simple CLI commands. Check out these new features to help you get started:Click To Tweet

To learn more about Docker Kubernetes Service in Docker Enterprise 3.0

Watch the DockerCon talk: Lifecycle Management of Docker Clusters
Watch the OnDemand webinar: How Docker Simplifies Kubernetes for the Masses
Get access to the Docker Enterprise 3.0 beta

The post Kubernetes Lifecycle Management with Docker Kubernetes Service (DKS) appeared first on Docker Blog.

3 Customer Perspectives on Using Docker Enterprise with Kubernetes

We’ve talked a lot about how Docker Enterprise supports and simplifies Kubernetes. But how are organizations actually running Kubernetes on Docker Enterprise? What have they learned from their experiences?

Here are three of their stories:
McKesson Corporation
When you visit the doctor’s office or hospital, there’s a very good chance McKesson’s solutions and systems are helping make quality healthcare possible. The company ranks number 6 in the Fortune 100 with $208 billion in revenue, and provides information systems, medical equipment and supplies to healthcare providers.
The technology team built the McKesson Kubernetes Platform (MKP) on Docker Enterprise to give its developers a consistent ecosystem to build, share and run software in a secure and resilient fashion. The multi-tenant, multi-cloud platform runs across Microsoft Azure, Google Cloud Platform and on-premise systems supporting several use cases:

Monolithic applications. The team is containerizing an existing SAP e-commerce application that supports over 400,000 customers. The application platform needs to be scalable, support multi-tenancy and meet U.S. and Canadian compliance standards, including HIPAA, PCI and PIPEDA.
Microservices. Pharmaceutical analytics teams are doing a POC of blockchain applications on the platform.
CI/CD. Developer teams are containerizing the entire software pipeline based on Atlassian Bamboo.
Batch jobs. Other teams are moving ETL (extract, transform, load) data functions to the new platform.

You can learn more about McKesson’s story in their recorded DockerCon 2019 talk.
Fortune 500 Financial Services Firm
One of the most recognizable financial services brands is using Docker Enterprise to build a on-premise Kubernetes deployment to support machine learning projects.
Docker Enterprise provides a secure runtime environment for Kubernetes. The team selected Kubernetes as their orchestration solution for several reasons:

Support for machine learning solutions such as Kubeflow, Tensorflow and Jupyter.
GPU support for compute-intensive workloads.
Extensive container storage interface (CSI) options give them flexibility to provide persistent storage to data-intensive applications.

Even though the company has internal expertise in Kubernetes, they already use Docker Enterprise to support their e-commerce applications. The team recognized the benefits of running Kubernetes within Docker Enterprise.
Citizens Bank
The mortgage division at Citizens Bank has been running Docker Enterprise in production since February 2017. The team used Swarm for orchestration from the start, and quickly scaled to supporting 1,000 containers in a single cluster in just over a year.
The deployment grew, and by the fall of 2018 they were running 2,000 containers. When Docker added support for Kubernetes, the team evaluated migrating some applications — particularly stateful services like Kafka and Zookeeper — to take advantage of native automatic scaling and application deployment in Kubernetes.
But for Citizens Bank, the complexity/simplicity trade-off led them to reconsider and keep all workloads on Swarm. As Mike Noe, one of their DevOps engineers put it:
“Swarm and Kubernetes were built with two different philosophies in mind. Swarm aims to offer high impact solutions while prioritizing simplicity. Kubernetes aims to offer a solution for literally every conceivable problem.”
Their advice – pick the right orchestrator for your situation. You can learn more about the Citizens story in their DockerCon 2019 session recording.
The Best of Both Worlds
The Docker platform includes a secure and fully-conformant Kubernetes environment for developers and operators of all skill levels, providing out-of-the-box integrations for common enterprise requirements while still enabling complete flexibility for expert users. That means you can run Kubernetes interchangeably with Swarm orchestration in the same cluster for ultimate flexibility at runtime.

Hear from three #Docker customers on how they are running #Kubernetes on Docker Enterprise:Click To Tweet

For more information

Register for a webinar in the Kubernetes webinar series.
Learn about Docker Kubernetes Service
Find out about Docker Enterprise

The post 3 Customer Perspectives on Using Docker Enterprise with Kubernetes appeared first on Docker Blog.

Introducing Docker Kubernetes Service

Kubernetes is a powerful orchestration technology for deploying, scaling and managing distributed applications and it has taken the industry by storm over the past few years. However, due to its inherent complexity, relatively few enterprises have been able to realize the full value of Kubernetes; with 96% of enterprise IT organizations unable to manage Kubernetes on their own. At Docker, we recognize that much of Kubernetes’ perceived complexity stems from a lack of intuitive security and manageability configurations that most enterprises expect and require for production-grade software.

Docker Kubernetes Service (DKS) is a Certified Kubernetes distribution that is included with Docker Enterprise 3.0 and is designed to solve this fundamental challenge. It’s the only offering that integrates Kubernetes from the developer desktop to production servers, with ‘sensible secure defaults’ out-of-the-box. Simply put, DKS makes Kubernetes easy to use and more secure for the entire organization. Here are three things that DKS does to simplify (and accelerate) Kubernetes adoption for the enterprise:
Consistent, seamless Kubernetes experience for developers and operators
DKS is the only Kubernetes offering that provides consistency across the full development lifecycle from local desktops to servers. Through the use of Version Packs, developers’ Kubernetes environments running in Docker Desktop Enterprise stay in sync with production environments for a complete, seamless Kubernetes experience. With a quarterly release cycle for Kubernetes and new APIs getting added every release, different environments may end up running different versions of Docker and Kubernetes. Developers can switch between version packs with a single click to stay aligned to different resulting environments.
Streamlined Kubernetes lifecyle management ( Day 1 and Day 2 operations) 
New cluster management tools enable operations teams to easily deploy, scale, backup and restore and upgrade a certified Kubernetes environment using a set of simple CLI commands. This delivers an automated way to install and configure Kubernetes applications across hybrid and multi-cloud deployment, including AWS, Azure, or VMware.

Enhanced security with ‘sensible defaults’
DKS comes hardened with “sensible defaults” that enterprises expect and require for production-level deployments. These include out-of-the-box configurations for security, encryption, access control, and lifecycle management — all without having to become a Kubernetes expert. DKS also allows organizations to integrate their existing LDAP and SAML-based authentication solutions with Kubernetes RBAC for simple multi-tenancy.
Take the next step to Kubernetes success

Try it for yourself: Sign up for the Docker Enterprise 3.0 public beta
Watch the webinar: How Docker Simplifies Kubernetes for the Masses

Introducing #Docker #Kubernetes Service (DKS). Discover the 3 ways DKS simplifies and accelerates Kubernetes adoption for the enterprise:Click To Tweet

The post Introducing Docker Kubernetes Service appeared first on Docker Blog.

Your Guide to KubeCon + CloudNativeCon EU

Following on the heels of DockerCon SF, the team is packing their bags and heading to Barcelona for KubeCon + CloudNativeCon EU from May 20- 23. Docker employees, community members and Docker captains will be there speaking about and demonstrating Docker and Kubernetes.
Stop by Booth G14 to learn more about our Docker Kubernetes Services (DKS), which is part of the recently announced Docker Enterprise 3.0. Docker Enterprise 3.0 is the only container platform that provides a simple and integrated desktop-to-cloud experience for both Docker and Kubernetes.

Get Involved with Open Source
Get involved in and learn more about some of the projects Docker has been working on with the Kubernetes community:

containerd – the core container runtime that was recently graduated from the CNCF and is in use by millions of users
Notary/TUF –  a project designed to address the key security challenge for enterprises working with containers
Docker Compose on Kubernetes – a recently open-sourced project that enables users to take a Docker Compose file and translates it into Kubernetes resources.

Also, there is an opportunity to join Docker and Microsoft in contributing to the Cloud Native Application Bundle (CNAB) specification – an open source, cloud-agnostic specification for packaging and running distributed applications. With CNAB, organizations can package Helm charts, Kubernetes YAML files and Docker Compose files in a single format that is easily shareable and distributed in Docker Hub and Docker Trusted Registry.
Learn More from Docker Experts
KubeCon will also provide a great opportunity to learn from industry experts and hear from those working with Kubernetes for their production applications. To help you navigate your way through the hundreds of sessions, Docker has put together a helpful guide to key talks being given during the event:
Tuesday, May 21

Building Images Efficiently and Securely on Kubernetes with BuildKit – Akihiro Suda, NTT Corporation – In this talk, Akihiro shows practical tips for running BuildKit on Kubernetes clusters.
Intro: TUF / Notary – Justin Cappos, NYU & Justin Cormack, Docker – This talk provides an accessible overview of two CNCF projects (Notary and TUF), that provide what has been roundly described as the most secure mechanism for distributing software.
Intro to CNAB: Packaging Cloud Native Applications with Multiple Toolchains – Chris Crone, Docker- This talk will introduce the Cloud Native Application Bundle (CNAB) specification and tooling
Panel Discussion: GitOps & Best Practices for Cloud Native CI/CD –Allison Richardet, Asteris, LLC; Laura Tacho, CloudBees; Ivan Pedrazas, State Street; Tracy Miranda, CloudBees; and Alexis Richardson, Weaveworks – This panel provides insights into GitOps, best practices for CI/CD for cloud native and tooling that can help automate these practices. It also features end user stories of their experiences learning the best ways to setup CI/CD for their specific applications and needs

Wednesday, May 22

Inside the CNCF Project Security Reviews – Justin Cormack, Docker   – The talk will cover how to make the most of a security review, what to expect from it, what to bring to the review process, and how to maximise the benefits of a review. It will be illustrated with details of the review process for the Notary and TUF audits from the inside as I was involved in this process, and with a detailed analysis of the public reports, including Prometheus, CoreDNS, Envoy, containerd and more.
5 Steps to Building Inclusive Communities – Ashlynn Polini, Docker – With 10 DockerCons under her belt, Ashlynn Polini shares the secrets behind creating inclusive events and programs for developers and operator communities
Service Meshes: At What Cost? – Lee Calcote, Layer5 & Girish Ranganathan SolarWinds – This talk will share methodology and results of performance testing research done in collaboration with a university, through the lens an open source service mesh benchmark tool – a tool used to provide a common benchmark across service meshes (their control planes, like Istio) and modern proxies (their data planes, like Envoy).

Thursday, May 23

Storage Provisioning for Kubernetes on Windows – Anusha Ragunathan & Jean Rouge, Docker – As support for Windows container workloads on Kubernetes heads to GA, the ecosystem will need robust storage interfaces for the many Windows apps that need to manage state. This session will explore the foundational constructs around persistent storage in Kubernetes, go over existing mechanisms in-tree that support stateful Windows workloads, dive into enhancements necessary in existing external storage provisioners and discuss the future of the space.
Intro + Deep Dive: containerd – Wei Fu, Alibaba & Mike Brown, IBM – This talk will give attendees an overview of how they extend/modify containerd to support enhanced integrations for custom production deployments.

Get involved with #Docker at #KubeCon + CloudNativeCon EU. Learn more about Docker #Kubernetes Services (DKS), hear from industry experts, contribute to open source and more:Click To Tweet

For More Information:

Learn more about Docker Enterprise 3.0
Download The Forrester New Wave for Enterprise Container Platform Software Suites
Find out more about Kubernetes in Docker Enterprise

The post Your Guide to KubeCon + CloudNativeCon EU appeared first on Docker Blog.

5 Reasons to Containerize Production Windows Apps on Docker Enterprise

We started working with Microsoft five years ago to containerize Windows Server applications. Today, many of our enterprise customers run Windows containers in production. We’ve seen customers containerize everything from 15 year old Windows .NET 1.1 applications to new ASP.NET applications.

If you haven’t started containerizing Windows applications and running them in production, here are five great reasons to get started:
1. It’s time to retire Windows Server 2008
Extended Support ends in January 2020. Rewriting hundreds of legacy applications to run on Windows Server 2016 or 2019 is a ridiculously expensive and time-consuming headache, so you’ll need to find a better way — and that’s Docker Enterprise.
2. It’s much easier than you think to containerize legacy Windows apps
You can containerize legacy Windows applications with Docker Enterprise without needing to rewrite them. Once containerized, these applications are easier to modernize and extend with new services.
3. Both Swarm and Kubernetes will support Windows nodes
The recently announced Kubernetes 1.14 includes support for Windows nodes. With Docker Enterprise, you will soon be able to use either orchestrator to run Windows nodes.
4. Your Windows apps become fully portable to the cloud
Once you containerize your Windows applications, it’s easy to migrate them to almost any cloud. With Docker Enterprise, applications are fully portable.
5. You’re in good company
Hundreds of enterprises now run Windows container nodes in production. Last fall, we talked about how GE Digital, Jabil and the largest bank in Italy have containerized Windows Server applications. Two of the world’s top ten bio-pharmaceutical companies and one of the largest manufacturers now run production Windows containers on Docker Enterprise.
At DockerCon Barcelona 2018 and DockerCon 2019, we heard from several other customers about how they use Docker Enterprise to containerize Windows applications:

Quicken Loans, a $3 billion home mortgage lender, is rolling out the Docker Enterprise container platform to support hundreds of Windows applications. Docker Captain Tommy Hamilton, who works at Quicken Loans, shared his advice on how to successfully containerize Windows applications at DockerCon this year.
Mitchell International, a software company in the auto insurance industry, is containerizing over 400 Windows .NET and IIS applications with Docker Enterprise. Marius Dornean, Director of R&D at Mitchell International, explains how they modernized .NET applications in his DockerCon session.
Entergy, a large utility company headquartered in New Orleans, is modernizing its infrastructure and reducing security exposure by containerizing over 500 Windows 2000, 2003 and 2008 applications.
Mizuho Financial Group, an international financial services firm with over $1.9 trillion in assets, modernized its JVM-based internal service bus by containerizing Windows Server applications on Docker Enterprise.
Tele2, a Dutch telecom company, has containerized over 500 legacy applications, including .NET, Magento and Jenkins. Application updates that used to take 3+ days to deploy now take minutes, and the company saw a significant increase in customer satisfaction metrics within 6 months.

If you’re thinking about containerizing old or new Windows applications, there’s never been a better time to do it.

5 reasons to containerize production #Windows apps on #Docker EnterpriseClick To Tweet

For more information:

Learn more about containerizing Windows Server applications with Docker Enterprise.
Register for the Docker for Windows Container Development webinar.
Learn more about Docker Enterprise 
Read the blog on Windows Containers with Kubernetes

The post 5 Reasons to Containerize Production Windows Apps on Docker Enterprise appeared first on Docker Blog.

What’s in a Container Platform?

Fresh off the heels of DockerCon and the announcement of Docker Enterprise 3.0, an end-to-end and dev-to-cloud container platform, I wanted to share some thoughts on what we mean when we say “complete container platform”.

Choice and Flexibility
A complete solution has to meet the needs of different kinds of applications and users – not just cloud native projects but legacy and brownfield applications on both Linux and Windows, too. At a high level, one of the goals of modernization – the leading reason organizations are adopting container platforms – is to rid ourselves of technical debt. Organizations want the freedom to create their apps based on the “right” stack and running in the “right” place, even though what’s “right” may vary from app to app. So the container platform running those applications should be flexible and open to support those needs, rather than rigidly tying application teams to a single OS or virtualization and cloud model.
High-Velocity Innovation
To deliver high velocity innovation your developers are a key constituent for the container platform. That means the container platform should extend to their environment, so that developers are building and testing on the same APIs that will be used in production environments.

Your platform of choice should have tools that integrate into your developers’ preferred workflow, rather than forcing a new or different tool or completely new workflow on them that only works for one deployment pattern. Developers are hired for their creative ability to solve problems with code so adopting a platform that requires your teams to abandon their intuition and prior knowledge in favor of tools that only work with one prescriptive methodology not only slows down innovation, it also increases the risk of developers going outside the IT-approved processes to get the job done.

Operations teams also want to run a platform that enables applications to be deployed faster. That means making complex tasks simpler from day one with the assurance that the platform will work as expected, while still allowing them to grow their skills over time. The number true Kubernetes experts is relatively small, so if your platform of choice requires admins and operators to know Kubernetes on day one, in addition to learning the ins and outs of the container platform itself, you’re easily looking at 12 months or more of training, services, and proof of concept trials and errors before your container platform is ready for its first “real” workload.
In addition, Kubernetes is a trusted orchestrator and the Docker Engine, built on the CNCF-graduated containerd project, is a trusted and widely used container runtime. Your container platform should be built on these fundamental components because this will give you the most flexibility in the future. Docker Enterprise and all the major public clouds use Kubernetes and the Docker engine (in some cases containerd) because they are open and mature. If your container platform vendor says they’ve built their own projects which are “mostly compatible” with one or both of these then you might want to take note.
Operations teams are also interested in stability. Container platforms will get frequent updates but that does not mean you should be required to rip and replace your container platform every two years, and along with it all the skills, scripts, and other tooling your operations teams built up around the platform over time. When we added Kubernetes in Docker Enterprise 2.0 it was a major upgrade, but we made that upgrade as simple as possible, including continuing to provide and develop Docker Swarm. If you are evaluating container platforms, look at their history. It’s a relatively new market. If you see three major platform architecture redesigns which all forced a major operations shift, you might be in for a bumpy ride in the future.
Intrinsic Security
Last, but absolutely not least, security has to be built-in at all layers of the platform. With the push for more frequent and faster software releases, security has to be part of both the developer’s experience and the operator’s experience. But security cannot be so restrictive or obtrusive that nobody wants to use the platform. You should have guardrails that help developers get started quickly from known good foundations, shifting left in your security process instead of finding out later that something is broken. And your platform should give you visibility into every application you ship: Windows or Linux, Edge or data centers. Security must be a fundamental building block of your container platform and that includes security for your running applications, too.

In Summary
We were proud that Docker was named a Leader in The Forrester New Wave for Enterprise Container Platform Software Suites in Q4 2018. We believe that our 3.0 platform adds even greater capabilities in a non-disruptive fashion and is the only end-to-end platform for building, sharing and running container-based applications, from the developer’s desktop to the cloud and managing the entire application lifecycle at every stage without dependencies based on a particular OS version, virtualization platform, or public cloud stack.


What’s in a #container platform? Learn more about what makes #Docker Enterprise the leading platform:Click To Tweet

For more information:

Learn more about Docker Enterprise 3.0
Watch the DockerCon 2019 Day 1 Keynote
Download The Forrester New Wave for Enterprise Container Platform Software Suites

The post What’s in a Container Platform? appeared first on Docker Blog.

It’s a Wrap – Highlights from the DockerCon 2019 Keynote Sessions

If you missed DockerCon in San Francisco this year or were unable to watch the livestream, no need to worry – we have you covered. You can catch all the demos, get the latest announcements and find out what is next for the Docker ecosystem by watching the replay sessions on demand.

Day 1: Docker Enterprise 3.0, Customer Innovation Awards, Robots and More
On Tuesday,  we kicked off the first day of DockerCon with product announcements, demos and customer guest speakers. During the session, we presented Docker Enterprise 3.0, the only desktop-to-cloud enterprise container platform enabling organizations to build and share any application and securely run them anywhere – from hybrid cloud to the edge. Additionally, we announced this year’s winners of the Customer Innovation awards, featuring Carnival, Citizens Bank, Liberty Mutual, Lindsay Corporation and Nationwide.

On-stage, the Docker team also demonstrated  Docker Applications, Docker Kubernetes Service (DKS) and new features and capabilities in Docker Desktop Enterprise – all designed to accelerate the application development and deployment pipeline. They keynote closed with a demonstration from R.O.S.I.E, the robot built by two Liberty Mutual engineers using Docker.
 To learn first hand everything featured on stage, watch the replay here:

The Docker Foundation, Community and Captain Awards and What’s Next for Docker
In Wednesday’s general session, we shared a bit more about our values as a company. First, we announced the creation of the Docker Foundation, a philanthropic organization that will focus on enabling education opportunities. The first organization Docker Foundation will be working with is, an organization focused on eliminating educational inequity in computer science by providing the tools and connections that empower software engineers of any race, gender, or background to access jobs in the technology industry. 

We followed this by announcing this year’s Community Leader Award winners and the Docker Captain Award – recognizing the importance of the extended Docker community. Finally our CTO, Kal De, took the stage to share more about Docker’s engineering tenets and technology areas where we are investing. This included demonstrations of forthcoming features for multi-architecture builds, automated cloud deployments, and the addition of commercial support for containerd.

To get a closer look at Day 2, watch the replay here:

Did you miss the @DockerCon keynote sessions featuring #Docker demos, new products and customer updates? Learn more and watch the replay:Click To Tweet

For more information:

Learn more about Docker Enterprise
Find out more about the Docker Foundation
Meet our Customer Innovation Award Winners
Check out more DockerCon content 

The post It’s a Wrap – Highlights from the DockerCon 2019 Keynote Sessions appeared first on Docker Blog.