Thoughts on Nano Server improving Infrastructure Architect Designs
This week at Ignite we uncovered more details on the new and exciting products that will be fundamental to our cloud platform moving forward. This includes a smaller installation footprint for Windows Server, known as Nano Server. Microsoft currently offers an installation option for Windows Server named Server Core that provides a minimal installation of Windows Server without many of the components that are traditionally installed on a general purpose Windows Server. Nano Server takes this concept much further. You define an installation based on which hardware drivers and server components you need, and only that software is included in the image. To introduce this concept there are three server roles in focus:
Host OS for Cloud Compute – Hyper-V platform with optional support for Clustering
Cloud Native Applications – Platform for deploying born-in-the-cloud applications
File Services – Host for Scale Out File Server
If you are in an architect role for your organization you might be asking, “How does this new technology affect the designs I will recommend going forward?” The answer is you should always try to favor the smallest footprint available for a given server role, and select the leanest management solution that meets the requirements for your design. Using the smallest footprint available will reduce the attack surface for the servers in your environment, improve performance, reduce the number of patches that must be applied, reduce the total number of required reboots, and increase efficiency so you can get the most value out of your investment in server hardware by deploying more services per server.
To maximize the benefits of small-footprint servers, we recommend that your compute capacity should be built on Nano Server. A typical Nano Server installation will include Hyper-V, optionally in a Cluster, and the agents to assist with automation and management of the host environment. The management environment for your cloud platform will typically be built on Server Core (as explained below, not all applications and services can run on Nano Server). The management environment includes server roles for monitoring, reporting, security, and fabric management. The interfaces where you interact with the environment will be built on either MinShell, which is a small footprint like Server Core but with the Server Manager UI tools available, or an installation of Windows Server with the full desktop interface. Across these platforms, PowerShell provides a common scripting language for both administration and automation of an environment at scale. If your administrators have access to production server networks from their daily-use desktop/laptop devices you might choose to install management consoles or enable remote management tools on client platforms. Finally, consider mobile-based administrative requirements that include tablets and smartphones.
Applications and services will need to be evaluated on a case by case basis to determine the best operating system footprint based on whether CoreCLR, the .NET implementation on Nano Server, will meet your requirements or if the application should be deployed on Server Core. In other cases a full installation will be required, typically for reasons related to supportability such as software that requires point and click interaction or Remote Desktop Session Host experiences that take advantage of GPU capabilities for graphics acceleration.
Looking forward, you absolutely should be thinking about how container technologyand the concept of microservices will impact enterprise infrastructure designs. These evolving concepts will affect where you stage compute capacity and how you will manage dynamic/temporal deployments that exist for very limited periods of time.
Always aim towards the smallest installation of the Operating System. Application owners should be thinking about how to support services without a local GUI interface. Note, this is not the same as saying no GUI interface. Remote administration is still an important concept whether it be from a browser-based point of administration, a remote PowerShell session, or a management console provided by a remote host.
Slimming down the local interface means that an admin can complete all required steps for deployment, configuration, and troubleshooting through an automated process without the expectation that they will need to log in to a point-and-click interface on the console of each machine. This is central to cloud scale computing.
Thank you, and stay tuned to Building Clouds!