IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

クラウド時代のオープンソース実践活用

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第71回 究極にシンプルなストレージに挑戦する「Minio」 (中井悦司) 2015年7月

はじめに

 先日、日本OpenStackユーザ会による「5周年特別企画:OpenStack Summitの歩き方」に参加して、「クラウド時代のエンジニア魂と企業に必要なカルチャーチェンジ」という少し風変わりなタイトルの講演を行いました。OpenStack、Dockerなど新しい技術が次々とオープンソースで登場する中、ITエンジニアは、自分が得意とする技術分野をどのように広げていけばいいのか、ということを中心にお話をさせていただきました。

 特に、オープンソースとして開発される技術を学ぶ際は、「開発者自身が何を目指しているのか」を理解することが大切になります。商用のソフトウェア製品とは異なり、オープンソースは、まだ未完成の段階から世の中に公開され、利用者のフィードバックを受けながら進化していきます。この時、多くの開発者は、これまでにない新しい技術を生み出そうと挑戦しています。当然ながら、「開発者が目指す世界」を理解しなければ、その技術を正しく利用することはできません。今回紹介する「Minio」は、そのようなオープンソースの中でも、とりわけ挑戦的な目標を持ったソフトウェアです。

Minioが目指す「究極に単純」なストレージ

 Minioは、OpenStack SwiftやAmazon S3などに代表される「オブジェクトストレージ」を提供するソフトウェアです。GlusterFSのオリジナルの開発者であるAnand Babu氏(通称「AB」)が新たに立ち上げたスタートアップ企業である、米Minio社のメンバーが開発を進めています。

 実は、3年近く前になる、本コラムの第2回を振り返ると、Red HatがGluster社を買収した直後に、横浜の居酒屋でABと一緒に日本酒を飲んだ事を書いています。そこでも触れているように、彼は、常に独自の哲学を持ってソフトウェア開発に取り組んでおり、Minioについてもそれがあてはまるようです。オンラインチャットで会話した所、GlusterFSの開発を通して、ストレージソフトウェアに求められる様々な要件のトレードオフを学んだ結果、「機能を徹底的に単純化することで、どのようなメリットが得られるのか」ということを追求しようという意図があるようです。

 これまでのソフトウェアは、利用目的に応じて自由に構成を変えることができ、多数のチューニングパラメーターを持つほうがよいと考えられる傾向がありました。一方、Minioは、提供する機能を極限まで絞り込むことにより、決められた構成で一切のパラメーター設定なしに利用することができ、それでいて、十分に高性能で、信頼性と拡張性に優れたストレージを実現することを目指しているようです。実際、低レベルのディスクアクセス部分のコードでは、Intel社が提供する「ISA-L(Intel Storage Acceleration Library)」を利用するなど、性能を意識した実装がなされています(*1)。

 なお、MinioのソースコードはGitHubで公開されていますが、現在はまだプロトタイプの段階で、複数のノードで分散処理する形にはなっていません。あくまで、1台のサーバーにインストールして利用する形になります。分散処理の実装は、2~3ヶ月後に公開予定ということです。

次回予告

 今回は、Minioが生まれた背景を簡単に紹介しました。まだプロトタイプの段階ですが、実際にMinioをインストールして利用してみることは可能です。まずはとにかく試してみたいという方は、筆者のBlog記事を参考にしてください(*2)。Dockerを使って、簡単にMinioサーバーを起動する方法を紹介しています。次回は、Minioの利用方法と内部構造について、説明を進めていきたいと思います。

 なお、次回は、少し夏休みをいただいて、8月下旬に掲載の予定です。それまでにMinioの実装がどこまで進んでいるか、楽しみにしていましょう。

参考資料

*1Intel® Storage Acceleration Library (Open Source Version)

*2Using minio server with Docker

 

++ CTC教育サービスから一言 ++
このコラムでLinuxや周辺技術の技術概要や面白さが理解できたのではないかと思います。興味と面白さを仕事に変えるには、チューニングやトラブルシューティングの方法を実機を使用して多角的に学ぶことが有効であると考えます。CTC教育サービスでは、Linuxに関する実践力を鍛えられるコースを多数提供しています。興味がある方は以下のページもご覧ください。
 CTC教育サービス Linuxのページ
 http://www.school.ctc-g.co.jp/linux/
 

Linux研修トレーニングならCTC教育サービス


 

筆者書籍紹介

Software Design plusシリーズ
「独習Linux専科」サーバ構築/運用/管理
  ――あなたに伝えたい技と知恵と鉄則

本物の基礎を学ぶ!新定番のLinux独習書

中井悦司 著
B5変形判/384ページ
定価3,129円(本体2,980円)
ISBN 978-4-7741-5937-9
詳しくはこちら(出版社WEBサイト)
「独習Linux専科」サーバ構築/運用/管理

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes