Free eBook on “Containerized Docker Application Lifecycle with Microsoft Tools and Platform”


Coinciding with today’s release of Visual Studio 2017 RC1 at CONNECT 2016 in NYC (Nov. 16th 2016), I wanted to announce the availability of this new and free eBook on “Containerized Docker Application Lifecycle with Microsoft Tools and Platform” which covers and end-to-end vision of Docker container based application development plus CI/CD (DevOps) workflows that you can have in Azure with new assets like Azure Container Registry and updates in Azure Container Service (Offering Mesos DC/OS, Kubernetes and Docker Swarm) and Azure Service Fabric with Docker support plus the new tooling created by Microsoft in Visual Studio 2017 like being able to publish a Docker container as an Azure App Service or being able to deploy from your Release Management pipeline in VSTS directly to Azure Container Service and a DC/OS cluster by using the new VSTS Docker Deployment Task.

Download eBook .PDF 
Cover_Image_For_Tweet
  

 
     image

 

Here are a few subjects covered in the eBook.

Development and DevOps workflows for Docker based applications

image

 

image

 

Container Clusters/Orchestrators in Azure (With Docker support)

Currently, the possible choices you have as container clusters and orchestrators in Azure are the following:

  • Azure Container Service (Docker support for Linux containers. Windows Containers will come soon)
    • Mesosphere DC/OS
    • Kubernetes
    • Docker Swarm
  • Azure Service Fabric (Docker support in the Linux Preview of SF. Windows Containers will come pretty soon for SF)
    • Note that you can also use Service Fabric microservices running on Windows without Docker support.

In the eBook I’m explaining what they are and providing further info in links so you can drill-down on it.

image

 

News in VS 2017 and VSTS

Visual Studio 2017 publishing a Docker Container to an Azure App Service through a Docker Registry (like the new Azure Container Registry)

image

Docker Solution Support (debugging a whole docker-compose.yml based set of containers) in VS 2017

Adding Docker Solution support to any project in your solution.

image

Debugging/F5 a whole Docker-compose.yml (Set of containers)

image

 

VSTS Deploy Task to Azure Container Service and Mesos DC/OS

image

Development Languages and Platform

You can, of course, develop your applications by using any language supported by Docker, like Node.js, Java, Go, Python, etc., but our team (the .NET product team) is investing and working hard so you have best-in-class support for .NET Core and .NET Framework in Docker environments. You can actually try the official  .NET and ASP.NET Core images available at Docker Hub as I also explain in the eBook.

Docker_dotNET

Key takeaways

I’d like to finish this blog post with the same key takeaways that I finish the eBook, which, at the end of the day is why you’d want to know more about Docker and how Microsoft’s platform and tools are supporting Docker:

· Container based solutions provide important benefits of cost savings because containers are a solution to deployment problems cause by the lack of dependencies in production environments, therefore, improving DevOps and production operations significantly.

· Docker is becoming the “de facto” standard in the container industry, supported by the most significant vendors in the Linux and Windows ecosystems, including Microsoft. In the future Docker will be ubiquitous in any datacenter in the cloud or on-premises.

· A Docker container is becoming the standard unit of deployment for any server-based application or service.

· Docker orchestrators like the ones provided in Azure Container Service (Mesos DC/OS, Docker Swarm, Kubernetes) and Azure Service Fabric are fundamental and indispensable for any microservice-based or multi-container application with significant complexity and scalability needs.

· An end-to-end DevOps environment supporting CI/CD connecting to the production Docker environments provides agility and ultimately improves the time to market of your applications.

Visual Studio Team Services greatly simplifies your DevOps environment targeting Docker environments from your Continuous Deployment (CD) pipelines, including simple Docker environments or more advanced microservice and container orchestrators based on Azure.

 

So! Check the free eBook out (Download eBook: Containerized Docker Application Lifecycle with Microsoft Tools and Platform) and please, send me feedback directly to:

cesardl at microsoft.com or through this blog post.

Thanks! 🙂

Comments (13)

  1. Hi All, I am trying to create three tier architecture in windows container services, like each container is gonna represent each tier. web tier- one container, app tier-one container and db tier-on container. could you guys pass good URL and guide which can lead me to configure these stuff.

    1. @Satish – Hi. This is a very simple example:
      https://github.com/Microsoft/BikeSharing360_MultiContainer

      We’re working on a more advanced microservice and containers based reference application that we’ll be publishing in the first half of January at GitHub. Keep tuned! 🙂
      Cesar.

  2. This is great thanks for sharing. I’ll read this weekend
    . I have a big project on to deliver Sitefinity CMS as fast as possible. Will a Dockerized deployment be faster than an Azure Cloud Services deployment? Currently Azure Cloud Service deployment can take 25-40 mins. Does Dockerized deployment fit into the Azure Resource Manager template deployment model. Scenario is fast deployment of Sitefinity into multiple Geographies with Front End Security Group, Backend Security Group, DB Encrytion and Backup, Docker Image/VM Encryption and Site Backup with Encryption Keys managed by Azure Keyvault. Competitor offering AWS deployment. I need to produce a Proof of Concept asap. Any advice or contacts appreciated!

    1. @Austin – Sure, Docker containers deployed to Azure Container Service (ACS, i.e. Mesos DC/OS or Docker Swarm based) or Docker Containers or plain microservices in Azure Service Fabric deployment take a few secs or less than a sec depending on the microservice.
      The issue with Azure Cloud Services is that you are deployin a service per VM, therefore you need to spin-up a whole VM per service.

      When using microservice/orchestrators clusters it is like deploying a process into an already existing VM. That takes very few seconds or even less than a second depending on the case.

      Azure Resource Manager template deployment is a lower level than Docker, ARM is infrastructure level. You use ARM to deploy either Azure Container Service clusters based on DC/OS or Docker Swarm. you also use ARM to deploy an Azure Service Fabric cluster.

      In any case, you’ll need to choose for an orchestrator/cluster solution, and I would take that decision based on your business application.
      – If your business application is a Windows Server first application, like using .NET on Windows Server, I would choose Azure Service Fabric and microservice deployments (using Docker or just plain microservices)
      – If your business application is a Linux first application, I would choose Azure Container Service which is the infrastructure holding an Open source orchestrator like Mesos DC/OS or Docker Swarm.

      Basically:
      – Azure Service Fabric is a mature platform for Windows based microservice applications. It is less mature on Linux containers (Still in Preview).
      – Azure Container Service (ACS, using internally DC/OS, Docker Swarm or Kubenetes) are mature platforms for Linux Containers. They are less mature for Windows Containers running on Docker engine and those clusters/orchestrators, Preview state, etc.

      In the security area, especially on encryption requirements. There are many possible implementation paths in that area.

      I can put you in contact with the Service Fabric product team or the ACS product team depending on the path you want to go (Linux first or Windows first).
      Docker containers are going to be ubiquitous on any scenario, either Windows or Linux, eventually.

      Send me an email to cesardl at microsoft.com with the path you think you’d like to go and I put you in contact with one or the other team, ok?
      About security, I can put you in contact with security experts from Microsoft Corp and the Azure team, like Vittorio Bertocci.

      1. Great Cesar,

        Thanks for the detailed reply. I will read through the Book and experiment with some simple deployments to get a feel for things. I’ll confer with my colleagues on Monday. I met Vittorio at BUILD a few years ago. Really nice guy. I appreciate the offer for you to put me in contact with some guys on the Service Fabric side. Over the coming months I am hoping to strengthen my Microsoft network so I will be in touch soon. I have plenty of work on the horizon!

  3. julian castiblanco says:

    OMG. That’s wonderful. Thank you for share it!

  4. mikaelkrief says:

    it’s very great thanks

  5. Giulio Vian says:

    No mobi or epub format?

    1. @Giulio – Sorry, we won’t have it for now. Microsoft Press might be helping on that but not as of today. We published it directly from the .NET product team. If MS PRESS gets involved, we might have it in the future. If I get many more requests about having .mobi or .epub I can also try to engage the Marketing team so they invest on that. For now, my priority is to create additional complementary guidance on deeper .NET-Docker content in regards Architecture and Development.

      1. Mark Finucance says:

        another +1 on epub/mobi

    2. +1 on mobi or epub…
      However Great book look fantastic!

      1. Joao soares says:

        +1 Mobi

Skip to main content