From a developer’s desktop to a testing machine to a set of production machines, a Docker image can be created that will deploy identically across any environment in seconds. This story has created a massive and growing ecosystem of applications packaged in Docker containers, with DockerHub, the public containerized-application registry that Docker maintains, currently publishing more than 180,000 applications in the public community repository.
When you containerize an app, only the app and the components needed to run the app are combined into an “image”. Containers are then created from this image as you need them. You can also use an image as a baseline to create another image, making image creation even faster. Multiple containers can share the same image, which means containers start very quickly and use fewer resources. For example, you can use containers to spin up light-weight and portable app components – or ‘micro-services’ – for distributed apps and quickly scale each service separately.
Because the container has everything it needs to run your application, they are very portable and can run on any machine that is running Windows Server 2016. You can create and test containers locally, then deploy that same container image to your company’s private cloud, public cloud or service provider. The natural agility of Containers supports modern app development patterns in large scale, virtualized and cloud environments.
With containers, developers can build an app in any language. These apps are completely portable and can run anywhere – laptop, desktop, server, private cloud, public cloud or service provider – without any code changes.
Containers helps developers build and ship higher-quality applications, faster.
Docker runs processes in isolated containers. A container is a process which runs on a host. The host may be local or remote. When an operator executes docker run, the container process that runs is isolated in that it has its own file system, its own networking, and its own isolated process tree separate from the host.
The Microsoft Assessment and Planning Toolkit (MAP) is an agentless, automated, multi-product planning and assessment tool for quicker and easier desktop, server and cloud migrations. MAP provides detailed readiness assessment reports and executive proposals with extensive hardware and software information, and actionable recommendations to help organizations accelerate their IT infrastructure planning process, and gather more detail on assets that reside within their current environment. MAP also provides server utilization data for Hyper-V server virtualization planning; identifying server placements, and performing virtualization candidate assessments. More information about MAP Toolkit can you find here
Software Requirements:
Operating system. Any of the following:
Windows 10 (Professional, Enterprise and Ultimate editions only)
Windows 8.1 (Professional and Enterprise editions only)
Windows 8 (Professional and Enterprise editions only)
Windows 7 with Service Pack 1 (Professional, Enterprise, and Ultimate editions only)
Installation of all updates for the operating system. Note: In some cases updates may not install automatically. To download updates for your computer manually, go to http://update.microsoft.com/.
By default, the MAP Toolkit will install SQL Server 2012 Express LocalDB during setup. You may also use an existing installation of SQL Server 2008, SQL Server 2008 R2, or SQL Server 2012 if you create an instance named “MAPS” before running the MAP Toolkit installer. The MAP Toolkit requires the collation order of the database engine to be set to “SQL_Latin1_General_CP1_CI_AS”.
Notes:
Some of these prerequisites require restarting your computer. You may have to restart multiple times if all the prerequisites are not met prior to running Microsoft Assessment and Planning Toolkit setup.
Scenario-dependent requirements:
For machines that will be used to run the Forefront Endpoint Protection Usage Tracking, Lync Usage Tracking, Exchange Server Usage Tracking, or Volume Licensing scenarios, please note: PowerShell 2.0 or higher must be installed.
For machines that will be used to collect Oracle schema information, please note: The 64 bit Oracle client must be installed on the MAP machine to collect the schema information. If the 64 bit client is not installed, MAP will only be able to collect instance information. MAP will not collect schema information if the 32 bit Oracle client is installed.
Export results in Excel for Windows Server 2016 Assessment Example
Microsoft Azure Virtual Machine Sizing Example in Excel
They are an isolated, resource controlled, and portable operating environment.
Basically, a container is an isolated place where an application can run without affecting the rest of the system and without the system affecting the application. Containers are the next evolution in virtualization.
If you were inside a container, it would look very much like you were inside a freshly installed physical computer or a virtual machine. And, to Docker, a Windows Server Container can be managed in the same way as any other container.
Windows Container Types
Windows Containers include two different container types, or runtimes.
Windows Server Containers – provide application isolation through process and namespace isolation technology. A Windows Server container shares a kernel with the container host and all containers running on the host.
Hyper-V Containers – expand on the isolation provided by Windows Server Containers by running each container in a highly optimized virtual machine. In this configuration the kernel of the container host is not shared with the Hyper-V Containers.
Container Fundamentals
When you begin working with containers you will notice many similarities between a container and a virtual machine. A container runs an operating system, has a file system and can be accessed over a network just as if it was a physical or virtual computer system. That said, the technology and concepts behind containers are very different from that of virtual machines.
The following key concepts will be helpful as you begin creating and working with Windows Containers.
Container Host: Physical or Virtual computer system configured with the Windows Container feature. The container host will run one or more Windows Containers.
Container Image: As modifications are made to a containers file system or registry, such as with software installation they are captured in a sandbox. In many cases you may want to capture this state such that new containers can be created that inherit these changes. That’s what an image is – once the container has stopped you can either discard that sandbox or you can convert it into a new container image. For example, let’s imagine that you have deployed a container from the Windows Server Core OS image. You then install MySQL into this container. Creating a new image from this container would act as a deployable version of the container. This image would only contain the changes made (MySQL), however would work as a layer on top of the Container OS Image.
Sandbox: Once a container has been started, all write actions such as file system modifications, registry modifications or software installations are captured in this ‘sandbox’ layer.
Container OS Image: Containers are deployed from images. The container OS image is the first layer in potentially many image layers that make up a container. This image provides the operating system environment. A Container OS Image is Immutable, it cannot be modified.
Container Repository: Each time a container image is created the container image and its dependencies are stored in a local repository. These images can be reused many times on the container host. The container images can also be stored in a public or private registry such as DockerHub so that they can be used across many different container host.
You have to install these Windows Server 2016 Rolls and Feature first before you start with Containers :
Hyper-V
Containers
My Windows 2016 Server Build version.
Install Hyper-V
Install Containers
Here is an example on my Windows 2016 Server to get started with Windows Containers :
Here we pull out of the Docker Hub the Microsoft Nanoserver Container.
Downloading the Image.
Automatically extract the image.
Docker Container Image Microsoft/nanoserver is downloaded.
Docker run -i -t microsoft/nanoserver
docker ps
( you will see the container with Nanoserver is running)
Inside the container.
Running Powershell inside the container.
Containers for Developers
From a developer’s desktop to a testing machine to a set of production machines, a Docker image can be created that will deploy identically across any environment in seconds. This story has created a massive and growing ecosystem of applications packaged in Docker containers, with DockerHub, the public containerized-application registry that Docker maintains, currently publishing more than 180,000 applications in the public community repository.
When you containerize an app, only the app and the components needed to run the app are combined into an “image”. Containers are then created from this image as you need them. You can also use an image as a baseline to create another image, making image creation even faster. Multiple containers can share the same image, which means containers start very quickly and use fewer resources. For example, you can use containers to spin up light-weight and portable app components – or ‘micro-services’ – for distributed apps and quickly scale each service separately.
Because the container has everything it needs to run your application, they are very portable and can run on any machine that is running Windows Server 2016. You can create and test containers locally, then deploy that same container image to your company’s private cloud, public cloud or service provider. The natural agility of Containers supports modern app development patterns in large scale, virtualized and cloud environments.
With containers, developers can build an app in any language. These apps are completely portable and can run anywhere – laptop, desktop, server, private cloud, public cloud or service provider – without any code changes.
Containers helps developers build and ship higher-quality applications, faster.
Containers for IT Pro’s
IT Professionals can use containers to provide standardized environments for their development, QA, and production teams. They no longer have to worry about complex installation and configuration steps. By using containers, systems administrators abstract away differences in OS installations and underlying infrastructure.Containers help admins create an infrastructure that is simpler to update and maintain
Lot of Success with Containers and Nanoserver #MVPbuzz
Windows Server has powered a generation of organizations, from small businesses to large enterprises. No matter what your role in IT, you can be guaranteed you that have touched Windows Server at some point in your career or at very least you have seen it from afar! This book introduces you to Windows Server 2016, which is the next version of Windows Server. No matter what your area of expertise, this book will introduce you to the latest developments in Windows Server 2016.
This feature comparison guide compares selected features of Microsoft Windows Server 2008 R2,Windows Server 2012 R2, and Windows Server 2016. Its goal is to help customers understand the differences from the version they are running today and the latest version available from Microsoft.
The comparison table includes comments about each feature, as well as notation about how well each feature is supported in each release.
Get a head start evaluating Windows Server 2016—guided by the experts. Based on Technical Preview 4, John McCabe and the Windows Server team introduce the new features and capabilities, with practical insights on how Windows Server 2016 can meet the needs of your business. Get the early, high-level overview you need to begin preparing your deployment now
Get a look at Windows Server 2016 Preview, and see how it is the heart of the next generation of the Microsoft datacenter platform and how it provides a foundation for other modules in this course.
2 | Server Virtualization
Explore the new capabilities of Hyper-V virtualization. Check out improvements in Failover Clustering and the new rolling upgrade capability.
3 | Software-Defined Storage
Look beyond Storage Spaces to enhanced storage capabilities that improve efficiency, performance, and scalability, along with new deployment models that can help to reduce costs.
4 | Software-Defined Networking
Explore new and enhanced networking features: Network Controller, Software Load Balancer, Generic Routing Encapsulation (GRE) Tunneling, IP Address Management (IPAM), DNS, and DHCP.
5 | Introducing Nano Server
Examine Nano Server, a complete refactoring of Windows Server that provides the smallest footprint, fastest booting, and most cloud-optimized version of Windows Server.
6 | Introducing Windows Server and Hyper-V Containers
Find out about container technology, compare Windows Containers and Hyper-V Containers, and hear use cases for each.
7 | Automation in Windows Server 2016
Learn about scripting with the powerful new Windows PowerShell 5.0 and PowerShell Desired State Configuration (DSC) features that support improved control and management.
Data disk drive configuration: All data drives must be of the same type (SAS or SATA) and capacity. If SAS disk drives are used, the disk drives must be attached via a single path (no MPIO, multi-path support is provided)
HBA configuration options: 1. (Preferred) Simple HBA 2. RAID HBA – Adapter must be configured in “pass through” mode 3. RAID HBA – Disks should be configured as Single-Disk, RAID-0
Supported bus and media type combinations
SATA HDD
SAS HDD
RAID HDD
RAID SSD (If the media type is unspecified/unknown*)
SATA SSD + SATA HDD
SAS SSD + SAS HDDExample HBAs: LSI 9207-8i, LSI-9300-8i, or LSI-9265-8i in pass-through mode
Sample OEM configurations are available.
* RAID controllers without pass-through capability can’t recognize the media type. Such controllers will mark both HDD and SSD as Unspecified. In that case, the SSD will be used as persistent storage instead of caching devices. Therefore, you can deploy the Microsoft Azure Stack POC on those SSDs.
Deploy Azure Stack POC
Before you deploy, prepare the Azure Stack POC machine and make sure it meets the minimum requirements.
Install Windows Server 2016 Datacenter Edition Technical Preview 4 EN-US (Full Edition).
Download the Azure Stack POC deployment package to a folder on your C drive, (for example, c:\AzureStack).
Run the Microsoft Azure Stack POC.exe file.
This creates the \Microsoft Azure Stack POC\ folder containing the following items:
MicrosoftAzureStackPOC.vhdx: Azure Stack data package
SQLServer2014.vhdx: SQL Server VHD
WindowsServer2012R2DatacenterEval.vhd
WindowsServer2016Datacenter.vhdx: Windows Server 2016 Data Center VHD (includes KB 3124262)
Important: You must have at least 128GB of free space on the physical boot volume.
Copy WindowsServer2016Datacenter.vhdx and call it MicrosoftAzureStackPOCBoot.vhdx.
In File Explorer, right-click MicrosoftAzureStackPOCBoot.vhdx and click Mount.
Run the bcdboot command:
bcdboot <mounted drive letter>:\windows
Reboot the machine. It will automatically run Windows Setup as the VHD system is prepared.
Configure the BIOS to use Local Time instead of UTC.
Verify that four drives for Azure Stack POC data:
Are visible in disk management
Are not in use
Show as Online, RAW
Verify that the host is not joined to a domain.
Log in using a local account with administrator permissions.
Verify network connectivity to Azure.com.
Important: Only one NIC is allowed during the deployment process. If you want to use a specific NIC, you must disable all the others.
Run the PowerShell deployment script
Open PowerShell as an administrator.
In PowerShell, go to the Azure Stack folder location (\Microsoft Azure Stack POC\ if you used the default).
Run the deploy command:
I’m running the script with Proxy settings.
Deployment starts and the Azure Stack POC domain name is hardcoded as azurestack.local.
At the Enter the password for the built-in administrator prompt, enter a password and then confirm it. This is the password to all the virtual machines. Be sure to record this Service Admin password.
At the Please login to your Azure account in the pop-up Azure authentication page, hit any key to open the Microsoft Azure sign-in dialog box.
Enter the credentials for your Azure Active Directory Account. This user must be the Global Admin in the directory tenant
Back in PowerShell, at the account selection confirmation prompt, enter y. This creates two users and three applications for Azure stack in that directory tenant: an admin user for Azure Stack, a tenant user for the TiP tests, and one application each for the Portal, API, and Monitoring resource providers. In addition to this, the installer adds consents for the Azure PowerShell, XPlat CLI, and Visual Studio to that Directory Tenant.
At the Microsoft Azure Stack POC is ready to deploy. Continue? prompt, enter y.
The deployment process will take a few hours, during which several automated system reboots will occur. Signing in during deployment will automatically launch a PowerShell window that will display deployment progress. The PowerShell window closes after deployment completes.
On the Azure Stack POC machine, sign in as an AzureStack/administrator, open Server Manager, and turn off IE Enhanced Security Configuration for both admins and users.
There are two ways to log in to the Azure Stack POC.
Log in as a service administrator
A service administrator manages resource providers, tenant offers, plans, services, quotas, and pricing.
Log in to the Azure Stack POC physical machine.
Double-click the AzureStack.local.rdp desktop icon to open a Remote Desktop Connection to the client virtual machine. This automatically uses the AzureStack\AzureStackUser account that was created by the deployment script. Use the admin password you gave in step 5 of the script process at the Enter the password for the built-in administrator prompt.
On the ClientVM.AzureStack.local desktop, double-click Microsoft Azure Stack POC Portal icon (https://portal.azurestack.local/).
Log in using the service administrator account.Click on Accept
Log in as a tenant
Tenants provision, monitor, and manage services that they subscribe to, like Web Apps, storage, and virtual machines. A service administrator can log in as a tenant to test the plans, offers, and subscriptions that their tenants might use. If you don’t already have one, Create a tenant account before you log in.
Log in to the Azure Stack physical machine.
Double-click the AzureStack.local.rdp desktop icon to open a Remote Desktop Connection to the client virtual machine. This automatically uses the AzureStack\AzureStackUser account that was created by the deployment script. Use the admin password you gave in step 5 of the script process at the Enter the password for the built-in administrator prompt.
On the ClientVM.AzureStack.local desktop, double-click Microsoft Azure Stack POC Portal icon (https://portal.azurestack.local/).