Getting started with Windows Containers: In Practice

In previous blog post, we discussed what are windows containers, how they are different from Hyper-V containers and how they are beneficial to developers and sysadmins. We also discussed how Docker as a company has played an important part in the story. In this blog post, we will get quickly get started with installing windows containers and run our first container image by pulling it from docker registry.

Environment Pre-Requisites

  1. You must have a machine with Windows Server 2016 or Windows 10 installed on it. It may be a physical machine or the virtual machine. On the Sku side, you can have either DataCenter version or Standard version as well. Or you may also use Windows Server Core version.
  2. If its a virtual machine, make sure it has nested virtualization enabled.
  3. All windows updates should be installed on the machine.
  4. Administrative access to the machine.

Continue reading “Getting started with Windows Containers: In Practice”

Getting started with windows Containers : Covering Basics

Windows Server 2016 introduced a new feature called Containers. By installing this feature, you can run windows containers on your server. However, these are not Linux-based and they are not related to docker (as in docker software) as well. These containers run on Windows and run Windows on the inside. Also, These conform to the Open Container Initiative (OCI). They allow you to run applications insulated from the rest of the system, within portable containers that include everything an application needs to be fully functional.

The windows containers technology from Microsoft shares many similarities with its Linux counterpart. Both provide an isolated environment for running applications without affecting the rest of the system and without being affected by that system.
Continue reading “Getting started with windows Containers : Covering Basics”

Azure RM Resource group deployment failed with error: Creating the deployment xx would exceed the quota of ‘800’.

Recently while deploying the source code using our CI/CD pipelines, we have got this error:

There were errors in your deployment. Error code: DeploymentQuotaExceeded.

2018-05-30T04:52:38.0042831Z ##[error]Creating the deployment ‘azuredeploy-20180430-045236-1abd’ would exceed the quota of ‘800’. The current deployment count is ‘800’, please delete some deployments before creating a new one. Please see https://aka.ms/arm-deploy for usage details.

2018-05-30T04:52:38.0051084Z ##[error]Task failed while creating or updating the template deployment.

One of the steps used by our release pipelines uses ARM template to make sure that resource being targeted has required azure configuration.
Continue reading “Azure RM Resource group deployment failed with error: Creating the deployment xx would exceed the quota of ‘800’.”

Cloning Virtual Machines in Hyper-V

Microsoft introduced Hyper-V as a virtualization platform in 2008, and it continued to release new Hyper-V versions with new Windows server versions. Since Hyper-V’s debut, it has always been a Windows Server feature, which could be installed whenever a server administrator decided to do so. It’s also available as a separate product called Microsoft Hyper-V Server.  These days its also available in the Windows Client OS versions since Windows 8. So IT Pros and other people can quickly create their own VMs (or Virtual Machines) as and when they need it.

Cloning Virtual Machines refers to creating another copy of the existing virtual machines. Continue reading “Cloning Virtual Machines in Hyper-V”

Load balance Azure Web Apps Using Nginx Server

Azure Web Apps is a peculiar case as it uses ARR (Application Request Routing) by using cookies. By enabling this, they get the functionality of the sticky sessions. A session is called as sticky session when subsequent requests that are made within an established session get processed by the same instance of an app that served the very first request of the session. However if you’ve built your app to be stateless ARR actually limits scalability of your system. It also disallows the Azure Web Apps to be configured behind a highly efficient web server like nginx.

In this blog post, we’ll learn how to configure nginx server so that you can configure multiple Azure Web Apps behind it.  Continue reading “Load balance Azure Web Apps Using Nginx Server”

Enable and Use Nested Virtualization on Azure Virtual Machine

Nested Virtualization is one of the cool new features in Windows Server 2016 that allows you to install hyper-v, create and run virtual machines inside a hyper-v virtual machine itself. In other words, a hyper-v virtual machine can act as a virtual host server. A great benefit of nested Hyper-V virtualization is for labs and training scenarios where you can, for instance, build a cluster of several virtual Hyper-V hosts on a single physical computer. This also allows one to use hyper-v containers and is required by Docker.

Also, provided you have required resource capacity, there are no depths of this feature. That means, you can create a virtual machine, inside a virtual machine, install hyper-v on guest virtual machine and then create virtual machines inside it. Well if you have seen inception, its something like it.  In this blog post, we will learn how to do the same for Azure Virtual Machine.  Continue reading “Enable and Use Nested Virtualization on Azure Virtual Machine”

Working with Git and Visual Studio – Use Git Rebase inside Visual Studio

This blog post is part of in-depth blog series on the working with Git command line and Git in Visual Studio. You can find the previous blog post here. In previous blog post, we discussed how to use git rebase commands, the effects of same on the branching strategy and also rebasing on the same branch. In this post, we’ll discuss how to use git rebase inside Visual Studio.

Re-creating Problem Scenario

For starters, we have two branches named master and newQuickFix branch in Continue reading “Working with Git and Visual Studio – Use Git Rebase inside Visual Studio”