Redfish es un estándar de red y una interfaz de programación de aplicaciones (API) para la gestión de servidores, redes, dispositivos de almacenamiento, equipos de instalaciones y otros componentes de infraestructura convergente (IC) en entornos de TI híbridos definidos por software, como centros de datos a escala web e infraestructuras en la nube.
Redfish se basa en esquemas y ofrece una interfaz RESTful (Representational State Transfer) a través del Protocolo de Transferencia de Hipertexto (HTTP) utilizando el formato JavaScript Object Notation (JSON) y el Common Schema Definition Language (CSDL), tal y como se define en el Open Data Protocol (OData) v4.
Redfish comprende múltiples especificaciones, incluidas normas comunes de Internet y servicios web, para exponer información a la moderna cadena de herramientas. En TI, una cadena de herramientas comprende los instrumentos de programación utilizados para realizar complejas tareas de desarrollo de software. El estándar Redfish incorpora especificaciones no sólo para la mensajería de clientes, sino también para servicios integrados como la gestión de tareas y usuarios, y el control de sesiones y eventos.
Redfish es una API hipermedia. El término hipermedia se refiere a su capacidad para gestionar multimedia como texto, audio, vídeo, gráficos e hipervínculos, lo que la hace muy adecuada para sistemas ricos en multimedia y sistemas de almacenamiento.
Redfish fue desarrollado por la Distributed Management Task Force (DTMF), una organización de normalización industrial sin ánimo de lucro que crea estándares para infraestructuras de TI. Redfish se diseñó originalmente como un estándar de gestión de servidores, pero la última versión es compatible con toda la gama de hardware que se encuentra en un centro de datos.
La primera versión del estándar Redfish, Redfish 1.0, se publicó en 2015, y proporcionaba modelos de esquema base que describían qué recursos soportaba Redfish y cómo acceder a ellos. Las versiones posteriores añadieron nuevos modelos de esquema, por ejemplo para estandarizar la gestión de memoria, unidades de disco, almacenamiento, puntos finales, etc., y añadieron nuevas especificaciones para características como la componibilidad y la telemetría que eran esenciales para gestionar los recursos de hardware de manera eficiente, y para una interfaz en banda.
Los objetivos del DMTF al diseñar Redfish eran desarrollar una interfaz entre proveedores que: expusiera la información directamente a la cadena de herramientas moderna; proporcionara un modelo de datos escalable y extensible para gestionar TI híbrida definida por software; aprovechara los estándares web, las mejores prácticas y los métodos de seguridad de uso común; tuviera capacidad multinodo segura; fuera legible por humanos pero apta para máquinas; y permitiera la máxima interoperabilidad entre diferentes componentes de hardware, como los dispositivos cada vez más diversos que se están incorporando a la informática Edge y al IoT.
La principal tarea de un gestor de servidores es gestionar, configurar y controlar la infraestructura de un servidor de forma remota, y responder a las alertas y notificaciones del servidor. Esto se hace a través de una interfaz fuera de banda (OOB). La gestión OOB es una forma de gestionar remotamente la infraestructura de TI mediante una conexión segura a través de una interfaz separada físicamente de la red de producción. Esto permite a los administradores hacerse con el control remoto del hardware en caso de que falle un sistema o componente. En cambio, la gestión en banda se refiere a la gestión de componentes a través de la propia red, mediante una conexión Telnet o SSH, o herramientas basadas en SNMP. La última especificación de interfaz de host de Redfish proporciona una funcionalidad en banda que permite a las aplicaciones y herramientas que se ejecutan en un sistema operativo (SO) comunicarse con Redfish. Esta es una de las características que permite a los administradores gestionar de forma integral los centros de datos a través de una única interfaz.
Redfish sustituye a la interfaz de gestión de plataformas inteligentes (IPMI), de uso generalizado y publicada en 1998. Al igual que Redfish, IPMI especifica estándares para la gestión de componentes de infraestructura basados en hardware, como los servidores. Sin embargo, IPMI no era muy escalable, no era fácil de usar y no podía abordar con eficacia los retos de seguridad modernos. Dado que los proveedores a menudo desarrollaban sus propias versiones y extensiones, IPMI tenía problemas de interoperabilidad y estaba cada vez más fragmentado.
Las alertas personalizadas y la visualización de datos le permiten identificar y prevenir rápidamente los problemas de salud y rendimiento de la red.
En los centros de datos, no sólo es necesario monitorear a distancia los servidores, acceder a ellos y, potencialmente, reiniciarlos o cambiar su configuración, sino también los equipos de las instalaciones, como las cámaras de CCTV o las unidades de aire acondicionado.
Redfish monitorea la salud de componentes de hardware como sensores, fuentes de alimentación, ventiladores y chasis, y su estado, o métricas como el voltaje o la temperatura. También realiza y puede automatizar tareas de mantenimiento como reiniciar distintos tipos de hardware, establecer umbrales de potencia, configurar ajustes de red del controlador de gestión de placa base (BMC) y cambiar ajustes de la BIOS. Redfish recupera información sobre sensores, consumo de energía, memoria, espacio de almacenamiento y el propio sistema operativo. Se utiliza para realizar procedimientos de recuperación remota, proporcionar registros de eventos y del sistema, responder a avisos y eventos críticos y gestionar cuentas de usuario.
Redfish se diseñó para reducir la sobrecarga, aumentar la productividad de los administradores de sistemas, reducir la dependencia de un proveedor y permitir una interoperabilidad escalable para TI convergente e híbrida en centros de datos definidos por software (SDDC). Se desarrolló como solución a las crecientes complejidades de los SDDC y aborda las deficiencias de las soluciones tradicionales de gestión de centros de datos, como API, estándares, protocolos e interfaces incompatibles, y un número cada vez mayor de nuevos tipos de hardware. Se diseñó para subsanar los defectos del estándar IPMI y un enfoque de intérprete de línea de comandos (CLI) para la gestión de servidores en los centros de datos, y con el tiempo sustituirlos.
En los SDDC modernos, el software virtualizado representa servicios y recursos de red. Esto significa que los cambios en las conexiones físicas y el hardware no necesitan hacerse manualmente. Redfish permite reasignar virtualmente un dispositivo a un cliente diferente sin que nadie tenga que estar físicamente en el centro de datos.
Redfish no se limita a la gestión de componentes. También se utiliza para gestionar la energía y refrigeración del Data Center Infrastructure Management (Data Center Infrastructure Management) y el dominio Ethernet mediante YANG, un lenguaje de modelado de datos. Se utiliza cada vez más en redes como IoT y Edge. Redfish también proporciona herramientas y extensiones para marcos de trabajo como Ansible y Puppet que automatizan tareas como el aprovisionamiento de nubes y la implantación de aplicaciones.
Redfish puede utilizarse con servidores autónomos, en entornos de montaje en bastidor y bladed, y en entornos de nube a gran escala.
Algunos servidores comerciales que utilizan Redfish son los servidores Dell PowerEdge 13G/14G, los servidores Supermicro X10/X11 y los servidores HPE ProLiant con iLO 5. Entre el software popular que utiliza Redfish se incluyen OpenStack Ironic, Ansible y ManageIQ.
Redfish es compatible con Supermicro, Oracle, Cisco, Lenovo, Dell, HPE, Intel, Microsoft y Huawei, entre otros.
Las notificaciones en tiempo real se traducen en una solución de problemas más rápida para que pueda actuar antes de que se produzcan problemas más graves.
La cadena de herramientas de Redfish incluye REST, HTTPS, JSON y OData. Estas tecnologías de uso común resultan familiares a los desarrolladores y facilitan la implementación y el uso de Redfish, además de ser fácilmente accesibles para aplicaciones, bibliotecas de clientes y scripts.
Una característica clave de Redfish es la separación del protocolo del modelo de datos, lo que hace que el transporte de datos y el protocolo sean agnósticos.
La API de Redfish se define independientemente de un modelo de datos. Utiliza una interfaz RESTful para acceder a un modelo de datos basado en esquemas.
Un esquema describe la relación entre los objetos de un sistema. El DMTF aloja archivos de esquemas para los datos estándar utilizados en Redfish en el repositorio de esquemas del DMTF. El esquema Redfish puede ampliarse añadiendo nuevas propiedades a un esquema existente o creando una nueva colección o recurso subordinado dentro de una colección.
La función de un servicio Redfish es recibir una solicitud HTTPS y devolver una respuesta sobre el recurso. HTTPS es un protocolo de capa de aplicación que se utiliza para transportar solicitudes y respuestas utilizando TCP/IP en la capa de transporte. El término protocolo Redfish hace referencia a un mapa RESTful del protocolo de mensajes HTTP.
Un servicio Redfish devuelve un código de estado HTTPS estándar y puede devolver varias respuestas de error adicionales para proporcionar información ampliada sobre un error.
OData es un protocolo de capa de aplicación que especifica cómo se llaman los servicios REST a través de HTTP y cómo responden. Redfish utiliza el estándar OData v4 para definir el esquema y los formatos de carga útil, de modo que las aplicaciones OData estándar puedan interactuar de forma nativa con Redfish.
JSON es un formato de archivo e intercambio de datos ampliamente utilizado que almacena y transmite objetos de datos en texto legible por humanos. Al utilizar JSON, la salida de Redfish puede visualizarse en un navegador. OData prescribe la estructura de los datos codificados en formato JSON.
El DMTF también proporciona el esquema de Redfish en formato YAML (Yet Another Markup Language). YAML es un lenguaje de serialización de datos legible por humanos que suele utilizarse para escribir archivos de configuración.
Un BCM monitoriza el estado físico, como la temperatura o el voltaje, de un ordenador u otro dispositivo mediante sensores. Funciona independientemente del software del servidor y permite a los administradores evitar el sistema operativo para controlar dispositivos y componentes del servidor en ubicaciones remotas, lo que reduce la sobrecarga y aumenta la fiabilidad.
Cuando se utilizaba IPMI o su competidora Active Management Technology (AMT) para la gestión de la banda base, los fabricantes podían imponer sus productos a los clientes. Redfish se asienta sobre soluciones de gestión de banda base como IPMI. Hace que el proceso subyacente de gestión de la banda base sea transparente para los desarrolladores y permite interactuar con cualquier BMC mediante cargas JSON. Una carga útil JSON son los datos asociados a un recurso específico al que se accede a través de la API de Redfish.
CI integra componentes de infraestructura de computación, almacenamiento, virtualización y red, lo que reduce la complejidad en la gestión de centros de datos y mitiga la incompatibilidad de hardware. Con Redfish, la gestión de estos componentes puede realizarse mediante una única y sencilla interfaz.
Redfish proporciona autentificación básica HTTP utilizando el encabezado Authorization en una solicitud HTTPS. La autentificación básica se utiliza normalmente para solicitudes únicas. La autenticación basada en sesión se realiza mediante un cliente que guarda el encabezado X-Auth-Token devuelto en una respuesta HTTPS de una solicitud de cliente para iniciar una sesión. La autenticación basada en sesión se utiliza cuando se realizan varias solicitudes sucesivamente. LDAP y Microsoft Active Directory también se pueden utilizar para las credenciales.
Un servicio Redfish es una aplicación o sistema gestionado que implementa el estándar Redfish a través de una interfaz definida por Redfish. Un servicio siempre incluye un localizador uniforme de recursos (URL) o un identificador uniforme de recursos (URI) que representa un tipo concreto de recurso, por ejemplo, un servicio, una colección o un archivo. Los servicios devuelven recursos como cargas JSON.
Los recursos incluyen una propiedad vacía llamada OEM, que se utiliza para contener propiedades específicas del proveedor y permite la extensibilidad de los recursos.
Los recursos de Redfish, tanto los estándar como los creados por terceros, siguen una serie de convenciones de nomenclatura para garantizar la coherencia. Están organizados en una estructura arborescente con colecciones que pueden incluir múltiples recursos relacionados. Una colección es un conjunto de recursos que comparten la misma definición de esquema. Las colecciones se utilizan en sistemas independientes, multinodo y agregados a nivel de bastidor.
Los principales recursos de Redfish se dividen en tres colecciones: sistemas, gestores y chasis. La colección de sistemas proporciona una visión lógica de un sistema informático e incluye recursos del sistema como CPU y almacenamiento. La colección de gestión incluye recursos de gestión como BMC y gestores de armarios. La colección de chasis incluye recursos relacionados con elementos físicos de una infraestructura, como armarios, bastidores y blades. Las colecciones de chasis vinculan los componentes físicos al software de un sistema.
Los registros son recursos de Redfish que se utilizan para proporcionar información adicional sobre otros recursos. Por ejemplo, la información de la BIOS varía según la plataforma, por lo que Redfish no puede definir un esquema fijo para esta información. En su lugar, los registros se utilizan para proporcionar más información sobre estos valores.
Redfish aprovecha los recursos adicionales a través de los servicios. Las colecciones de servicios incluyen tareas, sesiones, cuentas, eventos, actualizaciones, registros y esquemas. Los servicios de composición y telemetría son dos de las características clave de Redfish: la capacidad de composición y la recopilación de métricas.
Para mejorar el rendimiento, los componentes de hardware de los centros de datos se desagregan o desacoplan, es decir, se dividen en componentes constituyentes como memoria, almacenamiento, módulos de cálculo, etc. Estos componentes se asignan a grupos de recursos disponibles que pueden optimizarse para cargas de trabajo específicas en función de las necesidades. Esto significa que pueden reensamblarse para diferentes usos, lo que optimiza las resoluciones de recursos. Esta arquitectura se denomina infraestructura componible.
El servicio de composición de Redfish proporciona un modelo de datos para describir los recursos componibles y una interfaz que permite a los clientes reensamblar y configurar componentes componibles de forma remota.
La telemetría es el proceso de recopilación de métricas sobre datos brutos procedentes de sensores en fuentes de hardware remotas. Una métrica es el valor de una cualidad o cantidad medible, como la temperatura o la corriente eléctrica. Las métricas se utilizan para obtener metadatos sobre un recurso, informar sobre el comportamiento de los recursos y especificar umbrales de desencadenamiento para las métricas que se están monitoreando, por ejemplo, la temperatura máxima de funcionamiento permitida de un dispositivo.
Las métricas aparecen en los recursos Redfish como propiedades JSON opcionales. El servicio de telemetría de Redfish describe los recursos que un cliente puede utilizar para obtener métricas de un componente de Redfish.
Redfish se integra fácilmente con tecnologías de uso común como REST, JSON y Odata, y ofrece mejor funcionalidad, rendimiento y seguridad que otras soluciones de gestión de plataformas.
Redfish ocupa poca memoria y es compatible con la mayoría de los sistemas operativos, lo que permite una gestión eficaz de centros de datos de múltiples proveedores. Redfish es completamente extensible e incluye un completo marco de desarrollo y conjunto de pruebas, así como extensiones OEM para despliegues personalizados.
Redfish utiliza la gestión OOB, que permite a los administradores gestionar de forma remota los componentes del centro de datos aunque los equipos estén apagados. Esto permite monitorear de forma continua y poner remedio de inmediato en caso de fallo del sistema.
Redfish puede implantarse en los controladores de gestión existentes y libera a los servidores de la dependencia de un solo proveedor. Reduce la complejidad y la ineficacia inherentes al uso de múltiples herramientas incompatibles, lo que permite a los desarrolladores innovar soluciones más flexibles, estables, rentables y ampliables.
Redfish permite gestionar la interoperabilidad a lo largo de todo el ciclo de vida de un producto o servicio, desde la implantación hasta la asistencia.
Aunque Redfish mejora la interoperabilidad entre los componentes de los centros de datos, es posible que un cliente de Redfish tenga que utilizar distintos elementos de mensaje para los productos de distintos proveedores.
Redfish no permite a un cliente copiar el contenido de un árbol de recursos directamente a otro servicio porque la configuración puede ser diferente. Del mismo modo, el valor de los enlaces de recursos puede variar entre implementaciones.
El software cliente deberá actualizarse cuando se produzcan actualizaciones del modelo de datos y cuando se añadan nuevos componentes.
Redfish es un estándar de nueva generación, abierto y de rápido crecimiento que permite la escalabilidad en entornos multiservidor, como centros de datos e infraestructuras en la nube.
El DMTF colabora con varios socios aliados para compilar nuevas extensiones de Redfish. Por ejemplo, el DMTF, NVMe y la Storage Networking Industry Association (SNIA) han colaborado en el desarrollo de Swordfish para gestionar dispositivos y servicios de almacenamiento en centros de datos. El grupo de fabricantes de ordenadores industriales PCI (PICMG) está trabajando en extensiones para dar soporte a los despliegues de IoT. La American Society of Heating, Refrigerating and Air Conditioning Engineers (ASHRAE) ha adoptado Redfish para la gestión energética y térmica de los centros de datos. Junto con el DMTF, la OpenFabrics Alliance está desarrollando nuevos modelos y esquemas Redfish para diferentes tejidos. En TI, tejido se refiere a redes de datos o de área de almacenamiento, y a servidores de plataformas en nube, así como a conexiones y conmutadores de alta velocidad. También se espera que Redfish sustituya a IPMI en el Open Compute Project (OCP). Se trata de utilizar Redfish para especificar la gestionabilidad de la plataforma en las aplicaciones OCP.
La principal desventaja potencial de Redfish es la hinchazón en el futuro debido al gran número de extensiones que se están creando, sobre todo en lo que respecta a Edge computing.
PRTG es un software de monitoreo de red integral y realiza un seguimiento de toda su infraestructura de TI.
El monitoreo del centro de datos es una misión crítica para cualquier empresa. No sólo hay que monitorear la infraestructura de red, sino también las aplicaciones y servicios alojados y el propio entorno físico del centro de datos. PRTG Network Monitor cubre todo el ecosistema de red. Monitorea todos los dispositivos de infraestructura - como switches, routers, servidores, firewalls y balanceadores de carga - y software de sistema y cliente - como entornos virtuales y aplicaciones web. PRTG Network Monitor también rastrea la información de los sensores del centro de datos físico que supervisan la temperatura, la humedad, el acceso físico, el suministro de energía y las imágenes de CCTV. Podría decirse que la función de monitoreo más importante es la seguridad.
En PRTG, puede crear dispositivos virtuales que representan dispositivos físicos en su red, como servidores, dispositivos de almacenamiento, etc. A continuación, se pueden añadir sensores a estos dispositivos. Los sensores de PRTG son elementos básicos de monitoreo que monitorean valores medidos, como la carga de CPU o la cantidad de espacio libre en un disco. Las alertas notifican a los administradores cuando se produce un problema o anomalía en el sistema, ya sea una cuestión crítica como un corte de electricidad o un aviso de que se está agotando el tóner de una impresora concreta.
PRTG ha lanzado recientemente el sensor Redfish System Health, que monitorea la salud general del sistema y el estado de los dispositivos de un servidor habilitado para Redfish.
El sensor Redfish Health monitorea el tiempo de inactividad, la memoria del sistema y las funciones del procesador. Además, monitorea continuamente el estado de componentes de hardware como chasis, unidades de disco, ventiladores, fuentes de alimentación y dispositivos PCIe (Peripheral Component Interconnect Express).