ビットの海

ゆるふわソフトウェアエンジニアしゃぜのブログ

infrastructure as codeとredfish apiのメモ

概要

(redshiftだと思った人はごめん。)

先日この記事を読みました。

私は Infrastructure as Code をわかっていなかった - メソッド屋のブログ

infrastructure as codeは、VM環境の場合は、VMのコントロールをすること、になるだろうし(例えば、AWSSDKなどから)、物理環境の場合だと、リモートから物理サーバ起動して、bios(UEFI)の設定して、みたいなことになるんだろうと思っています。従来担っていたのは、IPMIなどの仕組みですね。

ふと、2014年ごろに、話題になった、アレ(ポストIPMIが期待される規格)はその後どうなったのかと思い出しました。

News & Trend - データセンターの運用を簡単に、インテルなど大手6社が標準を策定へ:ITpro

結論から言ってしまうと、ポストIPMIは、2015年に、redfish apiという規格にまとまっていたのでした。

REDFISH | DMTF

Dell/HP/Intel/Emerson が構築する Redfish は、IPMI 以来のスタンダードになり得るのか? | Agile Cat --- in the cloud

ざっとネット見た感じ、すでにHP iLO4とかで使えるらしいですね。

概要はこれを見れば良いと思います。以下はただの余談です。

Redfish: サーバ管理のための新しいAPI

余談

IPMIを使ったことのある人はわかると思うのですが、アレでなにかしようととすると、当たり前ですが、低レイヤな知識をかなり要求されるので、現代のゆるふわゆとりエンジニア(俺)には辛いものがあります。たぶん、みんな辛いと思っていたので、Webの世界で一般的なRestfulのAPIで、ハードウェアの操作ができたらいいね、っていうことらしいです。

前述の記事にもあるけど、大手のvendorが組んでできたのが、refish apiの規格。

ここにjsonのmockがあります。

Simple Rack-mounted Server | Redfish Resource Explorer

出力見るとIPMIっぽいですね。

詳細はSPECどうぞ

REDFISH | DMTF

といってもボリュームあって、辛いので、導入としてははこの資料がわかりやすいです。

https://www.dmtf.org/sites/default/files/Introduction_to_Redfish_2015.pdf

幾つか拾うと

  • 今時SOAPじゃなくて、RESTだろう常考
  • 人が見やすい形式でoutputするよ
  • OCP Remote Machine Managementに準拠してるよ
  • IPMIをRetrieveしてるよ

って感じで、ああ、今風を目指したんだなーと。あと、欧米はpythonjava好きだなーという感想をうけましたw

おわりに

各vendorのツールが、redfishに準拠すれば、データセンターの辛いことも、少しは辛くなくなるのかもしれないですね。

ただ、今や(自分も含め)クラウドの普及によって、実際のハードウェアと向き合う人の数は相当減っているので、IPMIと同じくらいか、それ以下のニッチなナレッジにとどまるかもしれないなぁ、とは思います。

実機を触れる幸せな方は試してみていかがでしょうか。

IPMIさんおつかれさまでした。

Linuxデバイスドライバプログラミング

Linuxデバイスドライバプログラミング