Monday, August 15, 2016

HyperForm: A Practical Guide to Docker For Windows Administrators






Linux & Docker has succeeded in finding a place alongside Windows in many enterprise environments. More than ever before, Windows administrators need to be familiar with Linux & Docker and understand the relative strengths and weaknesses of the two platforms. Written for the Windows administrator, this guide provides practical information on integrating Linux, Docker, and Windows.
At the writing of this guide Docker container tech for Windows is in the Tech-Preview state. And it will take even more time for most of the official docker images to be available for Windows. 
In this guide, we'll be focussing on automation of the following workflows.

  1. Docker Containers running on top of Linux Virtual Machines.
  2. Linux Virtual Machines running on top of Hyper-V
  3. Windows Virtual Machines running on top of Hyper-V



First, let's quickly glance over Docker terminology and container lifecycle.
  • Image
    • Is a container snapshot just like in a virtualization world a VM checkpoint or a VM snapshot. 
    • Refer to docker image documentation for more details.
  • Repository
    • Provides a standard interface for storing and retrieving images. 
    • e.g. Docker Hub, Nexus, Artifactory, Quay.io
  • Container
    • Wraps a piece of software (e.g. MySQL, IIS) in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries - Anything that can be installed on a server.
  • Container Lifecycle
    • Just like VM, container supports similar lifecycles states like Start, Stop, Restart, Pause, Snapshot, Destroy etc.



Secondly, It is important to use proper management products to administer Docker, Linux, and Windows environments. Having direct access to Hosts and Docker CLI gives unprecedented access with no access controls, policies, governance, and ability to support multi-tenancy.


A quick introduction to HyperForm (DCHQ) from HyperGrid - HyperForm is a Hybrid Cloud/Container Management platform.

  • Seamlessly works with Docker Ecosystem supports.
    • Docker Engine
    • Swarm
    • Docker-Compose
    • Docker-Machine
    • Docker-Volumes
    • Weave (Networking)
    • Repository etc



  • Seamlessly works with Hyper-V. 
    • Register a Hyper-V or Hyper-V Failover Cluster.


















  • Build-in Orchestrator can provision Windows, Linux based VM's on Hyper-V.
    • UI based workflow for provisioning VM's.
    • Simplifies and introduces Cloud-Provider like discipline for "Instance Types".

    • Text Template based workflow for provisioning VM'





















    • Build-In Ops Module can do real-time monitoring, scripting of both Windows, Linux VM's.












































Governance & Access-controls
    • Seamlessly control which Users are entitled to provision VM on the registered Hyper-V.
    • Control what VM templates and blueprints are allowed.
    • Control whether a user can request custom VM.
    • Optionally enforce Approvals for VM requests.
    • Set Max VM's that can be provisioned on the Hyper-V.
    • Ability to set Custom Quota per user/groups.



Lastly, let's deploy Docker containers on provisioned VM's. Note: Multiple VM's can be grouped into a single Cluster which can optionally have an overlay network (Weave, Swarm) for the container to discover each other and communicate across hosts.


  • The Cluster/DataCenter view in HyperForm






  • The Library view in HyperForm

















  • Customize and deploy "Wordpress with MySQL" image.










































  • Deployed Application and Management options.
    • Seamlessly real-time monitoring, and alerts of containers
    • In-browser Terminal
    • Scale-out, Scale-in individual nodes
    • Update, Refresh running container.
    • Access to logs, timeline etc


















Conclusion

Containerizing enterprise applications is still a challenge mostly because existing application composition frameworks do not address complex dependencies, external integrations or application life-cycle management tasks post-provision.

HyperForm, available in hosted and on-premise versions, addresses all of these challenges and simplifies the containerization of enterprise applications through an advanced application composition framework that extends Docker Compose supporting
  • advanced plug-ins that can be invoked at more than 20 different lifecycle stages to enable service discovery, on-the-fly containerization and application storage automation, and
  • data injection to support complex application dependencies.

To run & manage the simple Docker ASP.NET "Hello MVC" and “Hello Web” applications on 18 different clouds and virtualization platforms (including HyperGrid, vSphere, OpenStack, AWS, Rackspace, Microsoft Azure, Google Compute Engine, DigitalOcean, IBM SoftLayer, etc.), make sure that you either: