Friday, 12 November 2021

 Virtualization Trends

Compute:

Started with mainframes and its virtualizing OS zVM that inspired power hypervisor on Power systems. Same idea were applied on Intel/AMD systems by VMware, KVM, Hyper-V and many others with various degree of virtualization in the hypervisor type 1 (bare metal hypervisor), type 2 hypervisor VMware Workstation, Virtual Box. From Physical to Virtual systems to Windows/Linux container to workload partition (WPAR in AIX) to Docker container 

Moving to Virtualization has signification improved resource utilization cause, time provision and reduction in the footprint. These benefits are evident on reduction of CAPEX and OPEX.  Moving from VM to Container has revolutionized the pace of deployment and delivery of services with ease. Virtual Machines are not more a new to many of IT professional. Use of container has been growing rapidly.  

Container is self contained environment capable of running complete application and are well isolated from each other. There are container who shares kernel of single host and there are container which are stripped down virtual machine (Linux Container and Windows Hyper-V Container)

Windows Container are containers in windows that share same windows kernel.  Single host can have multiple windows container. Problem is with this is that it is not suitable for multitenancy. A single problematic or resource hungry containers can after all other container running on that hosts. Even though there are ways to put a cap on resource utilization but security is still the concern as they will be share same OS. Required windows server 2016 and windows 10 anniversary edition.  It required daemon dockerd and docker.exe

Windows Hyper-V Container are stripped down version of Hyper-V VM but these container will not be visible on Hyper-V manager however you can see the process used by these container in task manager. These container are completed isolated and good for multitenancy environment. Requires windows server 2016 / windows 10 anniversary edition 1501+ with Hyper-V role. Can be managed using docker for windows desktop that creates a docker VM in Hyper-V.

LXD/LXC - Linux Container are similar to Hyper-V container on Linux side. These are in between VM and docker container.

Docker is an open source tool that enable containerization of application using simple text docker file (something like Infrastructure as code). You create application and create docker file with specification and build docker image.

Docker images can be kept in hub.docker.com as a public / private. some of the commands

Docker uses concepts from union filesystem layers to build Docker images. This is why you can see seven layers being pulled from Docker Hub. One stacks up onto another, building a final image

By default, Docker will try to pull the image with the latest tag, but we can also download an older, more specific version of an image we are interested in using different tags.

docker pull nginx, docker run -dp   80;80 nginx, docker stop <containerid> , docker login, docker info, docker version, docker insepct <containerid>, docker pull microsoft/nanoserver, docker images, docker ps, docker run -it microsft/nanoserver cmd, docker ps -a, docker run -it microsoft/nanoserver cmd,  docker run -it microsoft/nanoserver cmd echo /c "hello world", docker network ls, docker inspect <containerid>, docker run -d -p 8000:8000 microsft/iis:nanoserver ,docker pull microsoft/windowsservercore, docker run -it microsoft/nanoserver cmd /c "echo hellow world",  docker run --rm -it microsoft/nanoserver, docker save httpd -o httpd.tar, docker rmi httpd, docker load -i httpd.tar, docker login, docker tag httpd:latest vijayraj/httpd:latest,docker logs 5e3, docker run -d httpd (to run in background), docker exec -i 5e3 ls -l / , docker  exec -it 5e3 (interactive and tty)

docker rm -f $(docker ps -qa)

It can be very well integrated with git hub in CI/CD model. As soon as the docker code is updated it is build and pushed to hub.docker.com to be used by end user.

Kubernetes and Docker Swarm are the used to orchestrate docker container. Kubernetes by default container runtime is docker. K8 can work other runtime as well.


Docker Swarm vs Kubernetes


Sotrage: --- coming soon


Network: --- coming soon



No comments:

Post a Comment