Redfish 1.0はスケールアウトコモディティサーバの管理のための標準およびRESTful APIとして定義されている。Redfishは最近のスケーラブルアーキテクチャのニーズを考慮して作られたものだが、古いプラットフォームやツールチェーンの管理や統合にも利用できる。
Redfish APIはODataもしくはJSON スキーマに基づいて表現されたリソース(Resources)を扱う。リソースは通常のHTTPオペレーション(GET、PUT、POSTなど)もしくはCRUD HTTPオペレーションが実行できること以上のことをするアクション(Actions)群を通してアクセスされる。アクションの一例には、システムリセットの実行がある。APIクライアントはスキーマを使って、リソースプロパティのセマンティックスを見つけることができる。仕様はオブジェクトの3つの主要カテゴリに言及している。
- システム(Systems) – サーバ、CPU、メモリ、デバイスなど
- マネージャ(Managers) – BMC、エンクロージャマネージャなど
- シャーシ(Chassis) – ラック、エンクロージャ、ブレードなど
システムに複数のマネージャが、シャーシに複数のシステムがあってもよい。
仕様には、機能を実装するたくさんのサービスも定義されている。
- タスク(Tasks) – リソースに対して同期もしくは非同期に発行および実行される各種ジョブ
- セッション(Sessions) – 特定のリソースに対して実行された、関連するオペレーションの集合
- アカウントサービス(AccountService) – ユーザを作成するサービス
- イベントサービス(EventService) – 関心のあるパーティにイベントをプッシュするサービス
詳しくは、Redfish Specificationを参照のこと。Redfish Resource Explorerには単純なモックアップが含まれており、この標準でできることを実演している。
RedfishはDMTFによって開発され、Dell、富士通、HP、Intel、Lenovo、Microsoft、Oracle、VMware他がサポートしている。