OpenStackのセミナーでコントリビューターたちが語ったOpenStackの未来
プライベートクラウドプラットフォームのOpenStackに関する最新情報セミナーが開かれた。これは日本仮想化技術株式会社とThinkITが共催したもので、2017年11月6日から8日までシドニーで開かれたOpenStack Summitの直後ということで、最新情報のアップデートをライトニングトーク形式で行ったものだ。
この記事ではセミナーの前半として昼の部のサイバーエージェント、NTT、日立ソリューションズ、サイバートラストのエンジニアが行ったプレゼンテーションを紹介する。後半である夜の部、サミットにも参加した日本仮想化技術の玉置氏、NECの鳥居氏のセッション及びパネルディスカッションに関しては、別記事で紹介したい。
最初に登壇したのはサイバーエージェントのインフラエンジニア、青山真也氏だ。青山氏はサイバーエージェントの広告配信を行うビジネスユニットであるアドテク本部にて、OpenStackをベースにしたプライベートクラウド環境におけるコンテナ、Kubernetes環境の構築に関して解説を行った。OpenStackのコミュニティではZunやMagnumなど様々なプロジェクトが存在するが、サイバーエージェントの環境には適していなかったため、Heat(OpenStackのオーケストレーションを担当するコンポーネント)を活用してGoogleが提供しているGoogle Kubernetes Engineに相当するサービスを構築したユースケースに関する内容だった。
青山氏はインターネットの広告配信というビジネスの性格上、遅延は許されないという厳しい制約の中で、いかにコンテナとKubernetesをベースにした高速なアプリケーションの実行環境を用意するのか? について言及した。特にパブリッククラウドであるGoogleのコンテナサービスであるGKEに、社内の開発者が移行してしまうことに危機感を覚えたことが、システム構築の大きな要因であったと語った。社内のインフラストラクチャーを担当するエンジニアにとって、パブリッククラウドのサービスと戦わなければいけない状況は、サイバーエージェントだけではなくある程度のサーバーリソースを持っている企業にとっては他人事ではないだろう。特にユーザーが少なくなれば、結果的にオンプレミスで調達したハードウェアのユーザーあたりの利用コストが高くなってしまうというコメントがあったが、このあたりの感覚はコストと性能を常に意識しているサイバーエージェントのエンジニアならでは、といったところだろう。
そしてオープンソースソフトウェアの仕様を充分に検討した上で、最新のZunなどのソフトウェアを使わずに、ある程度枯れたソフトウェアであるHeatのテンプレートを書くことで運用を可能にしたという部分も参考になるシステムであったように思われる。ここでは要求仕様に合わせて利用するソフトウェアを選択するというごく一般的なことが、様々なオープンソースソフトウェアが発生し、そして自然淘汰されてしまう状況では難しくなってくるということを示していると言える。
またKubernetesに関しても、まだアプリケーション開発者が容易に触れるレベルには成熟していないため、インフラエンジニア、ネットワーエンジニアが積極的に関わらないといけないというコメントも、コンテナとKubernetesが全てを解決できるわけではないという現実を垣間見せてくれた点であった。
青山氏のプレゼンテーション資料:CyberAgent: How We Deployed Production Kubernetes Clusters on OpenStack without L3 Network - OpenStack最新情報セミナー 2017年11月
次に登壇したのは、OpenStackの分散オブジェクトストレージであるSwiftのコントリビューターであるNTTの露崎浩太氏だ。
最初に露崎氏が紹介したのは、Swiftに新たに実装されたGlobal Erasure Codingだ。一般的なイレイジャーコーディングの場合は分割したデータのブロックをデータセンター内で分散するが、これを複数のデータセンターをまたいでも可能にする機能がGlobal Erasure Codingであり、NTTが提案していた機能を実装したものだという。クラスターの中でデータが分割され、異なるストレージドライブに保存されることで冗長性を上げるのがイレイジャーコーディングの利点だが、それを地理的に離れたデータセンター間でも可能にすることで、ディザスターリカバリー的な観点でも価値がある。データの容量を抑えながら冗長性を高める機能として、注目されている。
次に紹介したのは、ストレージ機器を単にストレージとして使うだけではなく、ストレージクラスターのCPUも活用する新しいプロジェクトである「Storlets」だ。分散ストレージのSwiftは、ネットワーク上に存在するサーバーのストレージをオブジェクトストレージとして扱うためのコンポーネントだが、Storletsはそのストレージが格納されるクラスターの持つCPUも使おうというソフトウェアだ。元々IBMが開発していたものだが、2014年にオープンソースソフトウェアとして公開されたという経緯がある。GitHubのページには「Middleware and Compute Engine for an OpenStack Swift compute framework that runs compute within a Swift cluster」という記述があり、Swiftを構成するクラスターのCPUを使うためのミドルウェアと演算エンジンのためのソフトウェアということだ。これはハイパーコンバージドインフラストラクチャーなどにも見られるが、データに近いところで演算を行うことで処理を高速化しつつ、ストレージとコンピュートノードを効率良く運用するための仕組みという発想だろう。ストレージとコンピュートを分離させて管理を容易にするという発想から、スケーラビリティを重視して、クラウド的な環境を作るためにハイパーコンバージドインフラストラクチャーが注目されているが、それをOpenStackで実装した試みとして興味深い内容であった。
鶴崎氏のプレゼンテーション資料:OpenStack Swiftの最新機能とStorlets
次に登壇したのは、日立ソリューションズの工藤雄大氏だ。
工藤氏は、OpenStackで非常によく使われている分散トレージであるCephに対するベンチマークを紹介した。ここではCephを最大8台の物理サーバーに分散させると同時に、コンピュートノードも同じ物理サーバーに相乗りさせる、いわゆるハイパーコンバージドインフラストラクチャーの構成をOpenStackとCephで構築し、ストレージのベンチマークテストを行ったものだ。
仮想マシンの数は80と規模は小さいものの、ノード数を変えて計測することでCephのストレージとしての特性を見極めようというテストだ。詳細はスライドを参照して欲しいが、ここで興味を惹くのはFioというベンチマークのためのソフトウェアを使った時のTipsとして、ReadとWriteで挙動が異なるという点だ。つまりストレージの性能を測るためにRandom WriteとRandom Readを組み合わせて実行する場合、Write→Readの順番に実行すると正しくI/Oが行わずに正確なベンチマークが実行できないという。そのため、FioでのベンチマークにおいてはReadとWriteの順序を正しく行う必要があると解説した。
ベンチマークは往々にして、その結果の数値だけが独り歩きしてしまうことがあるが、工藤氏のプレゼンテーションで注目したいのは結果もさることながら、ベンチマークを行うソフトウェアに関する知見を獲得し、不具合を発見できたということだろう。ストレージの検証を行うエンジニアにはぜひ、注目していただきたい。
工藤氏のプレゼンテーション資料:Openstack ceph 20171115 vtj
次に登壇したのは、サイバートラスト佐藤剛春氏だ。
佐藤氏はOpenStackにおけるノード間通信の高速化に注目して、OpenStack Summit Sydneyのセッションを聴講したという。現在、ノード間の通信を高速化には、インテルが提供するDPDK(Data Plane Development Kit)やSR-IOV(Single Root I/O Virtualization)を活用する方法もあれば、通信を行うNICにプロセッサを載せてハードウェアにオフロードする方法などもあり、選択肢は様々だ。佐藤氏はそんな中からNUMA(Non-Uniform Memory Access)に関する解説を行った。
佐藤氏のプレゼンテーション資料:2017-11-15 OpenStack最新情報セミナー Lightning Talk OpenStack環境における通信高速化 ~超入門~
前半のライトニングトークは、OpenStackに対する技術的な検証や来るべき方向性が見えてきた内容であった。もう少し時間を取って、より深い考察を聴いてみたいと感じさせるプレゼンテーションであった。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- OpenStackDays Tokyo 2017、コンテナへの応用が目立つOpenStackの現状
- GPUとOpenStackのホットな関係が紹介された日本仮想化技術(株)の技術セミナー
- 次世代のコンバージドインフラストラクチャー、デイトリウムの「いいとこ取り」とは?
- CNDT2020シリーズ:サイボウズのSREが語る分散ストレージの配置問題を解決するTopoLVMとは
- RHEL7やOpenStackなど最新技術が集結するRed Hat Summit 2014 現地レポート(前編)
- ハイパーコンバージドのNutanix、最新のソフトウェアスタックを紹介
- KubeCon Europeに参加した日本人エンジニアとの座談会で見えてきたKubernetesの次の方向性とは
- DellEMCのソフトウェアデファインドストレージのチームが来日、SDSの強化を解説
- OpenStack Summit Sydneyに見るOpenStackの今そしてこれから
- OpenStack Days Tokyo 2017 関係者が語る本音ベースの座談会