O Redfish é um padrão de rede e uma interface de programação de aplicativos (API) para o gerenciamento de servidores, redes, dispositivos de armazenamento, equipamentos de instalações e outros componentes de infraestrutura convergente (CI) em ambientes de TI híbridos definidos por software, como data centers em escala da Web e infraestrutura em nuvem.
O Redfish é baseado em esquemas e fornece uma interface RESTful (Representational State Transfer) sobre HTTP (Hypertext Transfer Protocol) usando o formato JSON (JavaScript Object Notation) e CSDL (Common Schema Definition Language), conforme definido pelo OData (Open Data Protocol) v4.
O Redfish abrange várias especificações, incluindo padrões comuns de Internet e serviços da Web, para expor informações à cadeia de ferramentas moderna. Em TI, uma cadeia de ferramentas compreende as ferramentas de programação usadas para realizar tarefas complexas de desenvolvimento de software. O padrão Redfish incorpora especificações não apenas para mensagens de clientes, mas também para serviços incorporados, como gerenciamento de tarefas e usuários, e controle de sessões e eventos.
O Redfish é uma API de hipermídia. O termo hipermídia refere-se à sua capacidade de gerenciar multimídia como texto, áudio, vídeo, gráficos e hiperlinks, o que o torna adequado para sistemas ricos em mídia e sistemas de armazenamento.
O Redfish foi desenvolvido pela Distributed Management Task Force (DTMF), uma organização de padrões do setor sem fins lucrativos que cria padrões para infraestruturas de TI. O Redfish foi originalmente projetado como um padrão de gerenciamento de servidor, mas a versão mais recente oferece suporte a toda a gama de hardware encontrada em um data center.
A primeira versão do padrão Redfish, Redfish 1.0, foi publicada em 2015 e forneceu modelos de esquemas básicos que descreviam quais recursos o Redfish suportava e como acessá-los. As versões subsequentes adicionaram novos modelos de esquema, por exemplo, para padronizar o gerenciamento de memória, unidades de disco, armazenamento, pontos de extremidade etc., e adicionaram novas especificações para recursos como composabilidade e telemetria, que eram essenciais para o gerenciamento eficiente dos recursos de hardware e para uma interface in-band.
Os objetivos da DMTF ao projetar o Redfish eram desenvolver uma interface entre fornecedores que: expusesse as informações diretamente à cadeia de ferramentas moderna; fornecesse um modelo de dados dimensionável e extensível para gerenciar a TI híbrida definida por software; aproveitasse os padrões da Web, as práticas recomendadas e os métodos de segurança comumente usados; tivesse capacidade segura para vários nós; fosse legível por humanos, mas capaz de ser usado por máquinas; e permitisse a interoperabilidade máxima entre diferentes componentes de hardware, como os dispositivos cada vez mais diversos que estão sendo incorporados à computação de borda e à TI.
A principal tarefa de um gerenciador de servidor é gerenciar, configurar e controlar remotamente a infraestrutura de um servidor e responder a alertas e notificações do servidor. Isso é feito por meio de uma interface fora de banda (OOB). O gerenciamento OOB é uma forma de gerenciar remotamente a infraestrutura de TI usando uma conexão segura por meio de uma interface fisicamente separada da rede de produção. Isso permite que os administradores obtenham remotamente o controle do hardware no caso de falha de um sistema ou componente. Por outro lado, o gerenciamento em banda refere-se ao gerenciamento de componentes por meio da própria rede, usando uma conexão Telnet ou SSH ou ferramentas baseadas em SNMP. A especificação mais recente da interface de host do Redfish fornece funcionalidade in-band que permite que aplicativos e ferramentas executados em um sistema operacional (SO) se comuniquem com o Redfish. Esse é um dos recursos que permite aos administradores gerenciar holisticamente os data centers por meio de uma única interface.
O Redfish substitui a IPMI (Intelligent Platform Management Interface), amplamente utilizada, que foi publicada em 1998. Assim como o Redfish, o IPMI especifica padrões para o gerenciamento de componentes de infraestrutura baseados em hardware, como servidores. No entanto, o IPMI não era muito dimensionável, não era fácil de usar e não conseguia abordar com eficácia os desafios modernos de segurança. Como os fornecedores geralmente desenvolviam suas próprias versões e extensões, o IPMI tinha problemas de interoperabilidade e estava se tornando cada vez mais fragmentado.
Os alertas personalizados e a visualização de dados permitem que você identifique e evite rapidamente problemas de saúde e desempenho da rede.
Nos data centers, não são apenas os servidores que precisam ser monitorados remotamente, acessados e potencialmente reiniciados ou ter suas configurações alteradas, mas também equipamentos de instalações como câmeras CFTV ou unidades de ar condicionado.
O Redfish monitora a integridade dos componentes de hardware, como sensores, fontes de alimentação, ventiladores e chassis, e seu estado, ou métricas como tensão ou temperatura. A TI também executa e pode automatizar tarefas de manutenção, como reinicialização de diferentes tipos de hardware, definição de limites de energia, configuração de definições de rede do controlador de gerenciamento de placa de base (BMC) e alteração das configurações do BIOS. O Redfish recupera informações sobre sensores, consumo de energia, memória, espaço de armazenamento e o próprio sistema operacional. TI é usado para executar procedimentos de recuperação remota, fornecer logs de sistema e de eventos, responder a avisos e eventos críticos e gerenciar contas de usuário.
O Redfish foi projetado para reduzir a sobrecarga, aumentar a produtividade dos administradores de sistemas, reduzir a dependência de fornecedores e permitir a interoperabilidade escalonável para TI híbrida e convergente em data centers definidos por software (SDDCs). Ele foi desenvolvido como uma solução para as complexidades crescentes dos SDDCs e aborda as deficiências das soluções tradicionais de gerenciamento de data center, como APIs, padrões, protocolos e interfaces incompatíveis e um número crescente de novos tipos de hardware. A TI foi projetada para solucionar falhas e, eventualmente, substituir o padrão IPMI e uma abordagem de interpretador de linha de comando (CLI) para o gerenciamento de servidores em data centers.
Nos SDDCs modernos, o software virtualizado representa os serviços e recursos de rede. Isso significa que as alterações nas conexões físicas e no hardware não precisam ser feitas manualmente. O Redfish permite que um dispositivo seja virtualmente realocado para um cliente diferente sem que alguém precise estar fisicamente no data center.
O Redfish não se limita ao gerenciamento de componentes. A TI também é usada para gerenciar a energia e o resfriamento do Data Center Infrastructure Management (Data Center Infrastructure Management) e o domínio Ethernet usando YANG, uma linguagem de modelagem de dados. Ele é cada vez mais usado em redes como a TI e a borda. O Redfish também fornece ferramentas e extensões para estruturas como Ansible e Puppet, que automatizam tarefas como provisionamento de nuvem e implementações de aplicativos.
O Redfish pode ser usado com servidores autônomos, em ambientes de montagem em rack e com lâminas, e em ambientes de nuvem de grande escala.
Alguns servidores comerciais que usam o Redfish incluem os servidores Dell PowerEdge 13G/14G, os servidores Supermicro X10/X11 e os servidores HPE ProLiant com iLO 5. Os softwares populares que usam o Redfish incluem o OpenStack Ironic, o Ansible e o ManageIQ.
O Redfish é suportado pela Supermicro, Oracle, Cisco, Lenovo, Dell, HPE, Intel, Microsoft e Huawei, entre outros.
As notificações em tempo real significam uma solução de problemas mais rápida para que você possa agir antes que ocorram problemas mais sérios.
A cadeia de ferramentas do Redfish inclui REST, HTTPS, JSON e OData. Essas tecnologias comumente usadas são familiares aos desenvolvedores e facilitam a implementação e o uso do Redfish, além de serem facilmente acessíveis a aplicativos, bibliotecas de clientes e scripts.
Um recurso importante do Redfish é a separação do protocolo do modelo de dados, tornando os dados agnósticos em relação ao transporte e ao protocolo.
A API do Redfish é definida independentemente de um modelo de dados. A TI usa uma interface RESTful para acessar um modelo de dados baseado em esquema.
Um esquema descreve a relação entre objetos em um sistema. O DMTF hospeda arquivos de esquema para dados padrão usados no Redfish no repositório de esquemas do DMTF. O esquema do Redfish pode ser estendido pela adição de novas propriedades a um esquema existente ou pela criação de uma nova coleção ou recurso subordinado em uma coleção.
A função de um serviço do Redfish é receber uma solicitação HTTPS e retornar uma resposta sobre o recurso. O HTTPS é um protocolo de camada de aplicativo usado para transportar solicitações e respostas usando TCP/IP na camada de transporte. O termo protocolo Redfish refere-se a um mapeamento RESTful para o protocolo de mensagens HTTP.
Um serviço Redfish retorna um código de status HTTPS padrão e pode retornar várias respostas de erro adicionais para fornecer informações ampliadas sobre um erro.
OData é um protocolo de camada de aplicativo que especifica como os serviços REST são chamados por HTTP e como eles respondem. O Redfish usa o padrão OData v4 para definir o esquema e os formatos de carga útil, de modo que os aplicativos OData prontos para uso possam interagir nativamente com o Redfish.
O JSON é um formato de arquivo e de intercâmbio de dados amplamente utilizado que armazena e transmite objetos de dados em texto legível por humanos. Ao usar o JSON, a saída do Redfish pode ser visualizada em um navegador. O OData prescreve a estrutura dos dados codificados no formato JSON.
O DMTF também fornece o esquema do Redfish no formato YAML (Yet Another Markup Language). YAML é uma linguagem de serialização de dados legível por humanos que é frequentemente usada para gravar arquivos de configuração.
Um BCM monitora o estado físico, como temperatura ou tensão, de um computador ou outro dispositivo usando sensores. Ele opera independentemente do software do servidor e permite que os administradores ignorem o sistema operacional para controlar dispositivos e componentes do servidor em locais remotos, o que reduz a sobrecarga e aumenta a confiabilidade.
Quando o IPMI ou seu concorrente Active Management Technology (AMT) era usado para o gerenciamento de banda base, tradicionalmente os fornecedores conseguiam prender os clientes em seus produtos. O Redfish se baseia em soluções de gerenciamento de banda base, como o IPMI. A TI torna o processo de gerenciamento de banda base subjacente transparente para os desenvolvedores e permite a interação com qualquer BMC usando payloads JSON. Uma carga útil JSON são os dados associados a um recurso específico acessado por meio da API do Redfish.
O CI integra componentes de infraestrutura de computação, armazenamento, virtualização e rede, o que reduz a complexidade do gerenciamento do data center e atenua a incompatibilidade de hardware. Com o Redfish, o gerenciamento desses componentes pode ser feito por meio de uma interface única e simples.
O Redfish fornece autenticação básica HTTP usando o cabeçalho Authorization em uma solicitação HTTPS. A autenticação básica geralmente é usada para solicitações únicas. A autenticação baseada em sessão é feita por um cliente que salva o cabeçalho X-Auth-Token retornado em uma resposta HTTPS de uma solicitação do cliente para iniciar uma sessão. A autenticação baseada em sessão é usada quando várias solicitações são feitas sucessivamente. O LDAPS e o Active Directory da Microsoft também podem ser usados para credenciais.
Um serviço Redfish é um aplicativo ou sistema gerenciado que implementa o padrão Redfish por meio de uma interface definida pelo Redfish. Um serviço sempre inclui um URL (uniform resource locator) básico ou um URI (uniform resource identifier) que representa um tipo específico de recurso, por exemplo, um serviço, uma coleção ou um arquivo. Os serviços retornam recursos como cargas úteis JSON.
Os recursos incluem uma propriedade vazia chamada OEM, que é usada para manter propriedades específicas do fornecedor e permite a extensibilidade do recurso.
Os recursos do Redfish, tanto os padrão quanto os criados por outros, seguem um conjunto de convenções de nomenclatura para garantir uma nomenclatura consistente. Eles são organizados em uma estrutura semelhante a uma árvore com coleções que podem incluir vários recursos relacionados. Uma coleção é um conjunto de recursos que compartilham a mesma definição de esquema. As coleções são usadas para dar suporte a sistemas autônomos, de vários nós e agregados em nível de rack.
Os principais recursos do Redfish são divididos em três coleções: sistemas, gerentes e chassis. A coleção de sistemas fornece uma visão lógica de um sistema de computador e inclui recursos de sistema como CPU e armazenamento. A coleção de gerenciamento inclui recursos de gerenciamento como BMCs e gerenciadores de gabinete. A coleção de chassis inclui recursos relacionados a elementos físicos de uma infraestrutura, como gabinetes, racks e blades. As coleções de chassis vinculam os componentes físicos ao software em um sistema.
Os registros são recursos do Redfish usados para fornecer informações adicionais sobre outros recursos. Por exemplo, as informações do BIOS variam entre as plataformas, portanto, o Redfish não pode definir um esquema fixo para essas informações. Em vez disso, os registros são usados para fornecer mais informações sobre esses valores.
O Redfish utiliza recursos adicionais por meio de serviços. As coleções de serviços incluem tarefas, sessões, contas, eventos, atualizações, registros e esquemas. Dois serviços que fornecem os recursos para dois dos principais recursos do Redfish - capacidade de composição e coleta de métricas - são os serviços de composição e telemetria.
Para melhorar o desempenho, os componentes de hardware nos data centers são desagregados ou desacoplados, ou seja, divididos em componentes constituintes, como memória, armazenamento, módulos de computação etc. Esses componentes são atribuídos a pools de recursos disponíveis que podem ser otimizados para cargas de trabalho específicas conforme e quando necessário. Isso significa que eles podem ser remontados para diferentes usos, o que otimiza as resoluções de recursos. Essa arquitetura é chamada de infraestrutura componível.
O serviço de composição do Redfish fornece um modelo de dados para descrever os recursos compostáveis e uma interface que permite aos clientes remontar e configurar componentes compostáveis remotamente.
Telemetria é o processo de coleta de métricas sobre dados brutos de sensores em fontes de hardware remotas. Uma métrica é o valor de uma qualidade ou quantidade mensurável, como temperatura ou corrente elétrica. As métricas são usadas para obter metadados sobre um recurso, para relatar o comportamento dos recursos e para especificar acionadores de limites para métricas que estão sendo monitoradas, por exemplo, a temperatura operacional máxima permitida de um dispositivo.
As métricas aparecem nos recursos do Redfish como propriedades JSON opcionais. O serviço de telemetria do Redfish descreve os recursos que um cliente pode usar para obter métricas de um componente do Redfish.
O Redfish se integra facilmente a tecnologias comumente usadas, como REST, JSON e Odata, e oferece melhor funcionalidade, desempenho e segurança do que outras soluções de gerenciamento de plataformas.
O Redfish ocupa pouco espaço na memória e é compatível com a maioria dos sistemas operacionais, permitindo o gerenciamento eficiente de data centers de vários fornecedores. O Redfish é totalmente extensível e inclui uma estrutura completa de desenvolvimento e um conjunto de testes, além de extensões OEM para implantações personalizadas.
O Redfish usa gerenciamento OOB que permite aos administradores gerenciar remotamente os componentes do data center, mesmo que o equipamento esteja desligado. Isso permite o monitoramento contínuo e a capacidade de correção imediata em caso de falha do sistema.
O Redfish pode ser implantado em controladores de gerenciamento existentes e libera os servidores da dependência do fornecedor. TI reduz a complexidade e a ineficiência inerentes ao uso de várias ferramentas incompatíveis, permitindo que os desenvolvedores inovem com soluções mais flexíveis, estáveis, econômicas e extensíveis.
Com o Redfish, a interoperabilidade pode ser gerenciada durante todo o ciclo de vida de um produto ou serviço, desde a implantação até o suporte.
Embora o Redfish aprimore a interoperabilidade entre os componentes do data center, um cliente Redfish ainda pode precisar usar diferentes elementos de mensagem para produtos de diferentes fornecedores.
O Redfish não permite que um cliente copie o conteúdo de uma árvore de recursos diretamente para outro serviço porque a configuração pode ser diferente. Da mesma forma, o valor dos links de recursos pode variar entre as implementações.
O software do cliente precisará ser atualizado quando houver atualizações no modelo de dados e quando novos componentes forem adicionados.
O Redfish é um padrão de última geração, de crescimento rápido e aberto, que permite a escalabilidade em ambientes com vários servidores, como data centers e infraestruturas de nuvem.
O DMTF está colaborando com vários parceiros de aliança para construir novas extensões do Redfish. Por exemplo, o DMTF, o NVMe e a Storage Networking Industry Association (SNIA) colaboraram no desenvolvimento do Swordfish para gerenciar dispositivos e serviços de armazenamento em data centers. O PICMG (PCI Industrial Computer Manufacturer Group) está trabalhando em extensões para dar suporte a implementações de IoT. A American Society of Heating, Refrigerating and Air Conditioning Engineers (ASHRAE) adotou o Redfish para gerenciamento de energia e térmico em data centers. Juntamente com a DMTF, a OpenFabrics Alliance está desenvolvendo novos modelos e esquemas Redfish para diferentes tecidos. Em TI, fabric refere-se a redes de dados ou de área de armazenamento e a servidores de plataformas em nuvem, além de conexões e switches de alta velocidade. Também se espera que o Redfish substitua o IPMI no Open Compute Project (OCP). O trabalho envolve o uso do Redfish para especificar a capacidade de gerenciamento da plataforma em aplicativos OCP.
A principal desvantagem em potencial do Redfish é o inchaço no futuro devido ao grande número de extensões que estão sendo criadas, especialmente com relação à computação de borda.
O PRTG é um software de monitoramento de rede abrangente e mantém o controle de toda a sua infraestrutura de TI.
O monitoramento do data center é de missão crítica para qualquer empresa. Não é apenas a infraestrutura de rede que precisa ser monitorada, mas também os aplicativos e serviços hospedados e o próprio ambiente físico do data center. O PRTG Network Monitor cobre todo o ecossistema da rede. Ele monitora todos os dispositivos de infraestrutura - como switches, roteadores, servidores, firewalls e balanceamentos de carga - e software de sistema e cliente - como ambientes virtuais e aplicativos da web. O PRTG Network Monitor também rastreia informações de sensores no centro de dados físico que monitoram a temperatura, a umidade, o acesso físico, o fornecimento de energia e as imagens de CFTV. Indiscutivelmente, a função de monitoramento mais importante é a segurança.
No PRTG, você pode criar dispositivos virtuais que representam dispositivos físicos em sua rede, como servidores, dispositivos de armazenamento, etc. Os sensores podem então ser adicionados a esses dispositivos. Os sensores do PRTG são elementos básicos de monitoramento que monitoram os valores medidos, como a carga da CPU ou a quantidade de espaço livre em uma unidade. Os alertas notificam os administradores quando há um problema ou anomalia no sistema, seja uma questão crítica como uma queda de energia ou um aviso de que o toner de uma impressora específica está acabando.
O PRTG lançou recentemente o sensor Redfish System Health, que monitora a saúde geral do sistema e o status dos dispositivos para um servidor habilitado para Redfish.
O sensor Redfish Health monitora o tempo de inatividade, a memória do sistema e as funções do processador. TI fornece monitoramento contínuo do status dos componentes de hardware, como chassis, unidades, ventiladores, fontes de alimentação e dispositivos PCIe (Peripheral Component Interconnect Express).