DISTRIBUTED TASK FORCE Technical Note March 2018

Copyright © 2018 Distributed Management Task Force, Inc. (DMTF). All rights reserved.

Redfish – Simple and Secure Why Redfish? Management for Converged, Hybrid IT Until Redfish, interoperable management standards were lacking for modern data center environments. As shift to scale‐ Introduction out solutions, legacy standards are insufficient DMTF’s Redfish® is a standard API designed to to successfully manage numerous simple and deliver simple and secure management for multi‐node servers or hybrid infrastructures. converged, hybrid IT and the Software Defined Data Center (SDDC). IPMI, an older standard for out‐of‐band management, is limited to a “least common Both human readable and machine capable, Redfish denominator” set of commands (e.g. Power leverages common and web services On/Off/Reboot, temperature value, text standards to expose information directly to the console, etc.), forcing customers to use a modern tool chain. reduced set of functionality because vendor extensions are not common across all Delivering both in‐band and out‐of‐band platforms. Many users developed their own manageability, Redfish continues to expand to tools for tight integration, often having to rely address customer use cases and technology for a on in‐band management software. holistic data center management experience. This work includes data center infrastructure Seeking a modern interface that builds on management (DCIM) power and cooling schemas, widely‐used tools to accelerate development, as well as YANG mapping that extends Redfish into today’s customers demand a well‐defined API managing the network device domain. In addition, that uses the protocols, structures and security the Storage Networking Industry Association models that are common in Internet and web (SNIA), a long‐time DMTF Alliance Partner, is services environments. building on Redfish’s local storage management capabilities with its Swordfish standard, which Designed from its inception to provide addresses enterprise storage services. interoperable management for converging infrastructures, Redfish delivers powerful This Technical Note provides an overview of the simplicity that integrates within existing tool standard. Developers are encouraged to visit the chains. Redfish Developer Hub ‐ http://redfish.dmtf.org ‐ for more in‐depth information.

Redfish – Simple and Secure Management for Converged, Hybrid IT 1 DMTF’s Redfish Standard RESTful protocols are rapidly replacing SOAP as An open industry standard specification and the cloud ecosystem is adopting REST, and the schema, Redfish specifies a RESTful interface web API community has followed suit. RESTful and utilizes defined JSON payloads ‐ usable by protocols are much quicker to learn than SOAP, existing client applications and browser‐based and they have the simplicity of being a data GUI. pattern (as REST is not strictly a protocol) mapped to HTTP operations directly. Version 1 of Redfish focused on servers, HTTP, with its commonly used security model and providing a secure, multi‐node capable network configuration, is well‐understood by replacement for IPMI‐over‐LAN. Subsequent admins. Redfish releases have added management of network interfaces (such as NIC, CNA, and FC JSON is fast becoming the modern data format. It HBA), PCIe switching, local storage, NVDIMMs, is inherently human readable, more concise than multifunction adapters and composability, as XML, has a plethora of modern language support well as firmware update services, push and is the most rapidly growing data format for methodology for software updates and web service APIs. privileges mapping for security. JSON has an additional advantage for embedded In addition, the Redfish Host Interface manageability environments: most Baseboard Specification allows applications and tools Management Controllers (BMCs) already support running on an Operating System ‐ including in a web server and managing a server through a the pre‐boot (firmware) stage – to browser is common (typically via a Java script‐ communicate with the Redfish management driven interface). By utilizing JSON in Redfish, the service. data from a Redfish service is viewed directly in the browser, ensuring the data and the In defining the Redfish standard, the protocol is programmatic interface is uniform in semantics separate from the data model, allowing them to be and value. revised independently. The schema‐based data model is scalable and extensible, and will continue In addition to REST, HTTP and JSON, Redfish to develop with additional human‐readable adopts common OData v4 conventions for definitions as the industry evolves. describing schema, URL conventions, and naming, as well as the structure of common Why REST, HTTP and JSON? properties in a JSON payload. This further Combining language support with the ubiquity of enables Redfish services to be consumed by REST, HTTP and JSON, Redfish enables IT a growing ecosystem of generic client management tasks to be performed using the libraries, applications, and tools. same skill set and tool chain as other IT and dev/ops tasks.

Redfish – Simple and Secure Management for Converged, Hybrid IT 2 How simple is it? Major resource types are structured in The graphic below shows example Python “collections” to allow for standalone, multi‐node, code used to retrieve the serial number from or aggregated rack‐level systems. Additional a server using Redfish: related resources fan out from members within these collections. rawData = urllib.urlopen(‘http://192.168.1.135 Collections /redfish/v1/Systems/1’) jsonData = json.loads(rawData) In Redfish, a collection represents a group of print( jsonData[‘SerialNumber’] ) similar resources. Examples include Systems, Managers and Chassis.

The output in this example would look like:

Basic Concepts In Redfish, every URL represents a resource, a service, or a collection of resources. In RESTful Fig 1: Redfish Resource Map Highlights

terms, these Uniform Resource Identifiers (URIs) A System represents the logical view of a computer point to resources and clients interact with system. Any subsystem accessible from the host resources. CPU is represented in a System resource. Each The resource format is defined by the Redfish System instance will have CPUs, memory and other Schema, which the client can use to components. Computer systems are contained as determine the correct semantics, if needed members of the Systems collection. (Redfish semantics are designed to be largely The Managers collection contains BMCs, Enclosure intuitive). Managers or any other component managing the The Redfish Schema is defined in two formats. It is infrastructure. Managers handle various defined in the OData Common Schema Definition management services and can also have their own Language (CSDL), so generic OData tools and components (such as NICs). applications can interpret it. The schema is also The Chassis collection contains resources that defined in the JSON Schema format for other represent the physical aspects of the environments, such as Python scripts, JavaScript infrastructure. A single Chassis resource can code and visualization. house sensors, fans and the like. Racks, In Redfish, all resources are linked from a Service enclosures and blades are examples of Chassis Entry point (root), which is always located at URL: resources included in the Chassis collection. /redfish/v1. Redfish also provides a method to represent a Chassis contained within another Chassis.

Redfish – Simple and Secure Management for Converged, Hybrid IT 3 Open Approach to Development Acknowledgements DMTF welcomes open source contributions Work on the Redfish standard takes place in to the Redfish ecosystem, as well as DMTF’s Scalable Platforms Management collaborative review and feedback on the Forum (http://dmtf.org/standards/spmf). standard from the industry at large. The SPMF members contributed to this has released numerous open Technical Note. source tools for testing, validation and other SPMF Promoting Members include areas on its public GitHub repository ‐ Broadcom Limited; Cisco; Dell Inc.; Ericsson https://github.com/DMTF/. AB; Hewlett Packard Enterprise; Intel ; Lenovo; Supermicro; Vertiv; Conclusion and VMWare Inc. As the management of platforms and devices continues to overlap and converge in increasingly SPMF Supporting Members include hybrid IT environments, Redfish enables the American Megatrends, Inc.; ARM, Inc.; management of compute, network, storage and Artesyn Embedded Technologies; Cray, Inc.; facilities equipment using the same simple Flex; Fujitsu; Huawei; IBM; Insyde Software interface. Corp.; Mellanox Technologies; Microsemi; MPSTOR; NetApp; OSIsoft, LLC; Quanta As a result of broad industry , Computer; Solarflare Communications; Redfish reduces vendor lock‐in and increases Toshiba America Electronic Components Inc; the productivity of system administrators. and Western Digital Corporation.

Recommended Resources  Redfish Developer Hub – http://redfish.dmtf.org  “Redfish School” YouTube Tutorials – https://www.youtube.com/dmtforg  Redfish Standard Page – www.dmtf.org/standards/redfish

Redfish – Simple and Secure Management for Converged, Hybrid IT 4