This post was written by Michael Kelley, Principal PM Manager, Cloud + Enterprise team
This blog post is #6 in a series of technical posts about running and managing Linux and FreeBSD in your on-premises datacenter. Other posts in the series are here:
Running Linux and FreeBSD as a guest operating system on Hyper-V
- Microsoft Loves Linux Deep Dive #1: Introduction to Linux and FreeBSD on Hyper-V
- Microsoft Loves Linux Deep Dive #2: Linux and FreeBSD Integration Services Core Features
- Microsoft Loves Linux Deep Dive #3: Linux Dynamic Memory and Live Backup
- Microsoft Loves Linux Deep Dive #4: Linux Network Features and Performance
- Microsoft Loves Linux Deep Dive #5: FreeBSD Overview and Status
Managing Linux and UNIX using System Center and PowerShell DSC
- Microsoft Loves Linux Deep Dive #6: Linux and UNIX Systems Management Overview
- Microsoft Loves Linux Deep Dive #7: Managing Linux in System Center Virtual Machine Manager
- Microsoft Loves Linux Deep Dive #8: Linux and UNIX Monitoring with Operations Manager
- Microsoft Loves Linux Deep Dive #9: Monitoring Open Source Middleware
- Microsoft Loves Linux Deep Dive #10: Managing the Software Configuration on Linux and UNIX Servers
- Microsoft Loves Linux Deep Dive #11: Linux Configuration Management with PowerShell DSC
- Microsoft Loves Linux Deep Dive #12: Summary of Running and Managing Linux and FreeBSD in Your Datacenter
Managing Linux and UNIX
Previous posts in this series discussed running Linux and FreeBSD on Hyper-V. This post shifts the focus to managing Linux and UNIX servers, with an overview of Microsoft systems management products and the environments in which you can use them. Management of client devices – desktop, laptops, tablets, and smartphones – is outside the scope of this post.
To start, it’s useful to consider the different environments in which you might be running Linux or UNIX servers. I like to talk about the four environments shown in the diagram below.
Traditional is individual physical servers in your datacenter, each running an operating system instance directly on the hardware.
Virtualized runs a hypervisor on the hardware in your datacenter, and an operating system instance in each guest virtual machine. The virtualized environment achieves higher utilization compared with individual physical servers as well as some management benefits. But typically each virtual machine is individually managed and creating a new virtual machine requires IT intervention.
Private Cloud is the next level beyond virtualization. Your IT staff manages a pool of hardware resources in your datacenter. Creation of a new virtual machine is done via a self-service portal with turnaround time of only a few minutes.
Public Cloud is Microsoft Azure or another large cloud provider/hoster running in the cloud provider’s datacenter. New virtual machines and associated network and storage resources can easily be created and deleted, and you pay only for what you use. The cloud provider does all the work of operating the hardware and the software infrastructure.
Since this blog series focuses on our Linux capabilities on-premises in your datacenter, this post will be looking primarily at the first three environments. Within these environments, it’s useful to consider two types of systems management:
- Managing the overall fabric in which multiple virtual machines operate
- Managing the configuration and operation of an individual operating system instance (either directly on physical hardware or in a virtual machine) and the workload it is running
Microsoft has products that provide both types of systems management, and these products are equally capable in managing virtual machines running Windows and running Linux.
Fabric Management applies to virtualized and private cloud environments, but not to traditional since purely physical environments don’t have the virtualization layer. Virtualized and private cloud environments can use System Center Virtual Machine Manager to manage multiple Hyper-V hosts and automate the lifecycle of individual virtual machines running Windows or running Linux. VMM provides a central console to create, delete, start, stop, suspend, and resume individual virtual machines. It provides a view to resource utilization across multiple Hyper-V hosts, and the ability to live migrate virtual machines from one host to another. VMM can also do sophisticated management of the networks that virtual machines use to communicate and the underlying storage on which the virtual disks reside. All of VMMs capabilities work for virtual machines running Linux, just like for virtual machines running Windows.
The Windows Azure Pack (WAP) extends VMM to provide a full private cloud experience. WAP is a self-service portal that enables your end users to create virtual machines and manage their lifecycle without IT intervention. IT can define the specific offers, configurations, and quotas to be made available to end users, and then allow end users to self-service within those boundaries. WAP works with Linux VMs as well as with Windows VMs.
VMM and Windows Azure Pack are core components of Microsoft’s Cloud Platform System (CPS). CPS is a private-cloud-in-a-box: a combined hardware and software offering that is pre-assembled, pre-installed, and fully tested end-to-end. Because of the standardized and tested configuration, you get fast time-to-value and decreased risk and complexity. Just like with VMM and WAP, you can run Linux workloads on CPS with the same capabilities as Windows workloads.
Finally, the newly announced Microsoft Azure Stack is a private cloud offering that is fully consistent with public cloud Azure. Azure Stack runs on Hyper-V with a fabric management layer, compute/network/storage resource models, and a user interface that are fully consistent with Azure. Using Azure Resource Manager (ARM) templates and virtual machine images, you can deploy exactly the same workload to public Azure or to your on-premises Azure Stack. Of course, that workload can be based on Linux or on Windows operating systems.
All of the fabric management capabilities for Linux guests in System Center VMM/WAP, in CPS, and in Azure Stack are based on the core ability to run Linux as a guest operating system on Hyper-V, as described in the previous blog posts in this series.
OS and Workload Management
Regardless of whether you are operating in a traditional, virtualized, or private cloud environment, System Center provides the core capabilities to manage the operating system instances and the workloads running in those instances. Out of the box, System Center Operations Manager (OpsMgr) does day-to-day monitoring of the Linux operating system as well as key open source middleware components such as the Apache web server, the MySQL database, and several different Java application servers. OpsMgr monitoring can also be easily extended to cover your specific application and workload needs via custom shell command lines or other scripts running on Linux. System Center Configuration Manager (ConfigMgr) provides hardware inventory and installed software inventory across all of your Linux instances, and does software distribution, enabling you to push out new software packages to large groups of Linux servers based on criteria you control.
OpsMgr and ConfigMgr also go beyond just Windows and Linux, providing the same capabilities for UNIX operating systems and their chip set architectures: Oracle Solaris (x86 and SPARC), HP-UX (PA-RISC and Itanium), and IBM AIX (POWER). Within each console, OpsMgr and ConfigMgr give you consistent management views of the Windows, Linux, and UNIX servers that make up your heterogeneous datacenter.
System Center Data Protection Manager (DPM) provides full virtual machine backup and restore for virtual machines running on Hyper-V, including Linux virtual machines. DPM makes use of the live backup capabilities described in Deep Dive #3 to ensure that the Linux VM backups are file system consistent.
PowerShell Desired State Configuration (DSC) for Linux is a declarative configuration platform for Linux. You define the intended state, and DSC will “make it so” using the PowerShell interface and DSC syntax that you are likely already familiar with on Windows. For Linux, DSC can install packages in rpm or deb format, create and manage file contents, and create and manage services, users, and groups. DSC for Linux is well suited for detecting and repair configuration drift on your Linux servers.
Microsoft Operations Management Suite (OMS) is a new cloud-based offering that complements System Center for managing on-premises Windows and Linux servers. OMS provides log analytics, IT automation, backup & recovery, and security & compliance reporting. Because it is cloud-based, there is no on-premises infrastructure to install and manage. Initial versions of OMS are now available for Windows, and the public preview for Linux is coming soon.
Wow! That’s a lot of Linux capabilities across a range of systems management products that work in the different environments that may be present in your datacenter: traditional, virtualized, and private cloud. Linux is fully covered in managing the fabric of your virtualized and private cloud environments, as well as in the OS and workload management of individual operating system instances. These management capabilities also extend to UNIX for OS and workload management.
This post is a broad overview that provides context for Microsoft’s systems management offerings. The next few weeks of the blog series will drill down into all aspects of systems management for Linux and UNIX. Next week will focus on System Center VMM and the Windows Azure Pack, looking more closely at the capabilities they provide to deploy and manage Linux-based virtual machines.