Getting Started with Containers for ASP.NET Developers on Windows

worksonmymachineContainers give you a way to run you application in a controlled environment, isolated from other applications running on the machine and from the underlying infrastructure.

It means that when you go to deploy, all the dependencies are published together. So you can finally say, “It worked on my machine” and mean it. All the dependencies with the same versions in your container will be there when you deploy to the cloud.

Continue reading “Getting Started with Containers for ASP.NET Developers on Windows”

Container Ecosystem on Windows, Linux – When to Choose

Everything the application depends on to run successfully can lives inside a container. Containers are an isolated, resource controlled, and portable runtime environment which runs on a host machine or virtual machine. An application or process which runs in a container is packaged with all the required dependencies and configuration files.

Containers grew up in Linux. In Windows Server 2016, containers can run on Windows and run Windows on the inside.

The idea is that you can run containers in the cloud, in the customer data center, or in container services and manage them consistently.

DockerAndAzureEcosystem_thumb

Continue reading “Container Ecosystem on Windows, Linux – When to Choose”

Container Orchestration with Docker Swarm, Marathon, Kubernetes

You need orchestration when transitioning from deploying containers individually on a single host to deploying complex multi-container apps on many machines.

The following describes some of the most popular:

  • Docker Swarm
  • Mesos DC/OS
  • Kubernetes

The purpose of this post is to define the terms and to surface the main features. The goal of the post is not to compare, but to provide definitions of the container technologies.

In general, these container solutions run and support Linux containers.

Continue reading “Container Orchestration with Docker Swarm, Marathon, Kubernetes”

Docker Container Concepts, Architecture, Overview

Containers are key to the modern datacenter.

Docker is an open platform for developing, shipping, and running applications in containers.
This post describes the conceptual parts that you will use in setting up Docker. Here are the primary parts:

  • Docker Image is a read-only template for creating a Docker container. You can create your own Dockerfile to define the steps to create an image.
  • Docker Container is a runnable instance of an image. You can create, start, stop, move, or delete a container using the Docker API or CLI.
  • You talk to the Container through the Docker Engine that provides the Docker client which talks to the Docker daemon. The Docker daemon listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes.
  • Docker Registries stores Docker images. You pull Docker images from the registries. There are public registries and private registries. One private registry is Azure Container Registry provides a private registry for your containers.
  • Task of automating and managing a large number of containers and how they interact is known as orchestration.

Continue reading “Docker Container Concepts, Architecture, Overview”

The Value Proposition of Containers

Containers are key to the modern datacenter.

There’a a lot of buzz around containers. At its core, containers provides a way for you to deploy your app with all of its depenencies. Your container run on premises the same way it will in the cloud.

For the application in its container, it has no knowledge of any other applications or processes that exist outside of its box. Everything the application depends on to run successfully also lives inside this container. Wherever the box may move, the application will always be satisfied because it is bundled up with everything it needs to run.

For developers, it means that you no longer have to say, “Well it ran on my machine.” And it means that when you have larger apps, you can deploy in smaller chunks of code, where the dependencies do not need to cascade between teams. For IT Pros, it means that you can more effectively use those virtual machines. Instead of having one virtual machine for each app, you use the same VM for multiple apps. And when the VM is being used, you can quickly scale based on user demand.

Continue reading “The Value Proposition of Containers”