Your Guide to the Latest Windows Server Product Information
Many years ago, Microsoft joined with other companies to define the Hardware Abstraction Layer (HAL), a set of standards to abstract the devices on a PC (and later, a server) for the OS. The HAL is the unsung hero of the computing industry, allowing an amazing level of choice and interoperability in the x86 ecosystem. It is one of the critical hidden technologies behind why all this stuff “just works.” With Windows Server 2012, Windows has shifted its focus to become a Cloud OS, so a new abstraction layer is required – a Datacenter Abstraction Layer or DAL. Microsoft is, once again, joining with other companies to define the DAL. Instead of starting from scratch or advancing proprietary standards, we are embracing standards-based management to accelerate the process so we can get the ecosystem and our customers to the cloud as quickly as possible. As we looked at the task of getting the industry to adopt standards-based management, we saw a couple of challenges. The first challenge was to convince the industry that standards-based management was credible and able to do complete management. We proved that with our big investments in standards-based management in Windows Server 2012. In this release, we are fully committed to standards-based management as the primary management path; DCOM is provided only for backwards compatibility. The next big challenge was to help the industry implement standards-based management. The existing open source implementations have a number of problems that stopped the ecosystem from embracing this approach. In today’s blog, Otto Helweg and Wassim Fayed, Program Managers in the Windows Management team, describe what we did to address that concern. It is truly an exciting time to be working in the computer industry – as a community, we are all about to take this to the next level and our customers are going to reap huge rewards. What could be better than that?
Microsoft and The Open Group are going big on standards-based management with a new, free, open source technology called Open Management Infrastructure or OMI (formerly known as NanoWBEM). We are working with Arista and Cisco to port OMI to their network switches for our Windows Azure and cloud data centers. Jeffrey Snover did a technology demonstration at TechEd Europe in which he used a common set of standards-based tools to manage a base-motherboard controller on a server, a Windows operating system, and an Arista switch running OMI.The public availability of OMI means that you can now easily compile and implement a standards-based management service into any device or platform from a free open-source package. Our goals are to remove all obstacles that stand in the way of implementing standards-based management so that every device in the world can be managed in a clear, consistent, coherent way and to nurture spur a rich ecosystem of standards-based management products. Today, datacenters comprise a slew of heterogeneous devices supplied by different hardware and platform vendors and requiring different tools and management processes. Companies are forced to write their own abstraction layer or to be locked into a single vendor, which limits their choice and agility. This problem can be solved only by moving the industry to adopt the right standard for datacenter devices and platform abstractions.In addition, the growth of cloud-based computing is , by definition, driving demand for more automation, which, in turn, will require the existence of a solid foundation built upon management standards. For standards-based management to satisfy today’s cloud management demands, it must be sophisticated enough to support the diverse set of devices that are required and it must be easy to implement by hardware and platform vendors alike. The DMTF CIM and WSMAN standards are up to the task, but implementing them effectively has been a challenge. Open Management Infrastructure (OMI) addresses this problem.
Easy and Diverse Device SupportLet’s start with a little history. Windows has long been a leader in implementing CIM, beginning with WMI (Windows Management Infrastructure). The Distributed Management Task Force (DMTF) Common Information Model (CIM) is an open standard that defines how managed elements are represented as a common set of objects and defines the relationships between them using associations. When WMI was first introduced as an out-of-box install for Windows NT 4.0, it implemented early versions of the standards and schemas. WMI used DCOM for remote management, because no standard protocol was defined at that time. In Windows Server 2012, we invested heavily in standards and remote management, synching WMI with the latest DMTF standards and protocols. The CIM standard is sophisticated and flexible enough to use as a management model for all devices – particularly datacenter devices. Although these DMTF standards have been around for years, they have been a challenge to implement, and existing implementations have been too large for mobile and embedded devices. To address these challenges, Microsoft has built a highly portable, small footprint, high performance CIM Object Manager called OMI that is designed specifically to implement the DMTF standards. We then worked with The Open Group to make the source code for OMI available to everyone under an Apache 2 license. OMI is written to be easy to implement in Linux and UNIX systems.Partners that adopt OMI will get the following:
OMI DetailsFor developers, OMI’s small footprint (250KB base size with a working set memory usage of 1MB) and high quality code will help reduce the complexity of developing a high performance, stable standards-based management stack. For IT pros, OMI greatly amplifies your effectiveness and productivity by increasing the number and types of devices you can manage and by unifying the management experience with standard-based management and automation tools, such as Windows PowerShell and System Center, and other management solutions.OMI includes the following components and tools in its implementation of a CIM server.
ExtensibilityOMI uses a provider model to enable developers to extend OMI to their specific device or platform. Historically, providers have been very hard to write, which made them costly and unstable. OMI leverages a greatly simplified provider model that is also being used by WMI in Windows Server 2012 and Windows 8. In short, OMI simplifies implementation for the developer by providing the following:
The development model begins by specifying what needs to be managed. From the specification, the omigen tools generates a set of C data structures and code that implements management model. The developer adds their code to the skeleton and registers the provider.
OMI is for Embedded and Mobile SystemsEmbedded and mobile device management might be one of the most demanding tasks for a management technology, because they have the most significant processor and memory constraints. We figured that if we could build a management technology that meets their needs, OMI should be well suited to address the management needs of any device. Therefore, to keep OMI small and ideal for embedded systems, the following design characteristics were implemented:
SecuritySecurity matters. Ever since Bill Gates’s famous Trustworthy Computing memo, we committed ourselves to the Secure Development Lifecycle Model. Security is a primary factor in all aspects of our development and coding process. Despite OMI’s small size, OMI implements the following security capabilities:
Great! How Do I Get OMI?Microsoft has partnered with The Open Group to create a hardware, software, and developer community to leverage, support, and enhance OMI. You can download OMI and/or get more details from The Open Group’s project site: http://omi.opengroup.org. In the near future, you will see this site and community grow and support more detailed documentation, contribution facilities, as well as OMI focused developer conferences.
For specific questions, please reach out to firstname.lastname@example.org
Hi, could you please elaborate on what you mean by "high quality code"? (OMI details). Is it written in C directly, or have you been utilizing some kind of functional programming technique first and then just optimized the code further, made it better by hand?
This would really be interesting, as C isn't the most modern language anymore, right?
I got into university (computer science and electrical engineering double major) this year, so please don't judge my comment to hard :-D
This is awesome.. are there any code samples available for writing OMI providers. Also how does OMI memory an d performance compare with other common servers like OpenPegasus and SFCB?
I can vouch for Jeffrey's claim that OMI is easy to port to Linux-based switches. Getting Microsoft's OMI up and running on Arista switches was a breeze. It's an easy build and comes complete with command-line test utilities and a GNU-style autoconf build script. A very nice piece of work.
CTO, Arista Networks
RT @ Brian Kupcik
Yes, there are sample providers in the OMI download available from http://omi.opengroup.org.
This getting started guide will also help you collaboration.opengroup.org/.../documents.phpaction=show&dcat=&gdid=26350
RT @ Kenneth Duda
Thanks Ken, there is no better compliment than from partners and customers.
Osama Sajid, Program Manager
Windows Server - Standards Based Management.