IDCF テックブログ

IDCF テックブログ

クラウド・データセンターを提供するIDCフロンティアの公式テックブログ

『Infra Study 2nd #2「クラウドネイティブを支えるインフラ技術」』でお話してきました

こんにちわ。ITシステム本部の加藤です。イベント中はハンドルTenForward(@ten_forward)で紹介されていました。

6/11(金)にオンライン開催された『Infra Study 2nd #2「クラウドネイティブを支えるインフラ技術」』というイベントで少しお話をしてきましたので、そのイベントのレポートをしたいと思います。ここではメインの講演のみ紹介しますが、他にもLTがあり、そちらも勉強になりました。

この"Infra Study"というイベントはForkwellさんが主催されており、これまでのいずれの回も知らない人はいないであろう、国内トップレベルのインフラエンジニアが登壇していました。

私はこれまですべての回を聴講しています。どの回もかなりの盛り上がりを見せる、インフラエンジニアであれば知らない人はいないと言っても過言ではないようなイベントです。

まさか自分に登壇のお誘いがくるとは思っていませんでした! しかも第2回はクラウドネイティブ界隈では知らない人はいないであろう青山さん(@amsy810)のご紹介で、ストレージのスペシャリスト坂下さん(@ysakashita3)、データベースのスペシャリストこばさん(@tzkb)と一緒の登壇でした。大規模で著名なイベントですし、他の登壇者の方もすごい方ばかりなので、いつも以上に準備に時間をかけて臨みました。

このイベントはアーカイブ動画が公開されていますので、まだご覧になっていない方はぜひご覧になってください!

また、当日のTwitterでの盛り上がりは、当日登壇者でもあるこばさんがまとめてくださっています。

最初に青山さんが私を含めた登壇者全員を紹介して、登壇者全員のハードルを上げた所で本編が始まりました。

コンテナの歴史を追いながらいまいちどコンテナについておさらいしてみる / 加藤泰文

speakerdeck.com

トップバッターは私でした。長ったらしいタイトルですね。適当に決めた仮タイトルがそのまま正式タイトルになってしまいました。

事前に紹介者である青山さんから私に期待する内容をおうかがいして、仮想化の歴史を追いながら、なぜコンテナがこれほど注目されるようになったのかという流れをお話すれば良いのかな、と理解して内容を考えました。

ただ、私は仮想マシンについては歴史を語れるほどの知見はないので、そこは軽く触れながらコンテナに関係する機能が実装されてきた歴史を追い、キーとなる技術を説明するような内容にしました。

そうは言っても20分で1970年前半からの歴史と技術の詳細を語るのは無理なので、いくつか選択した技術に限って少しだけ中身を説明し、その他の技術は名前を順に紹介するだけの軽めな内容になりました。

f:id:deepspace9:20210624000646p:plain

この登壇では、ちょうど私が昨年1年間開発に関わった「IDCFクラウド コンテナ」のサービスリリース直後ということもあり、その宣伝も行いながら、なんとか20分を少し超えるくらいでまとめることができました。

この記事をご覧いただいているみなさま、改めてIDCFクラウド コンテナをよろしくお願いいたします(^^)。

VM時代からコンテナ時代へストレージ管理の移り変わり / 坂下幸徳氏

speakerdeck.com

2番目の講演は坂下さんによるコンテナとステートフルアプリ、ストレージとの関係に関するお話でした。

「コンテナはステートフルアプリが苦手」という話を良く聞いたりします。それが実際どうなのかを、運用、ストレージがVMやコンテナからどう使われるのか?という説明を図示しながらわかりやすく説明されていました。

これは、おもに3つの観点からお話をされていたと思います。

まずはひとつめ。2020年には、55%のユーザーがコンテナでステートフルアプリをプロダクションで利用しているというCNCFによる調査があるようで、すでに「コンテナでステートフルアプリなんてありえない」という時期は過ぎたという説明がありました。

ふたつめは、Cloud Native な運用の考えから、コンテナでステートフルアプリを動かす際の考え方を説明されていました。ここが圧巻でした。この部分はTwitter上でも「この考え方はすごい」「この視点で見たことはなかった」と声が多数上がっていたところです。

f:id:deepspace9:20210624001229p:plain

稼働率の視点からステートフルアプリを見たとき、クラウドネイティブなシステムを前提とすれば、自動化によりメンテナンス時間が短縮できる。また、セルフヒーリングによる復旧時間の短縮も図れる。発想を転換して、メンテナンスや障害による停止の回数は多くても停止時間が短いシステムを前提とするならば、クラウドネイティブやコンテナの恩恵を受けたステートフルアプリが運用できるのではないか、というお話でした。つまり、クラウドネイティブなシステムを前提として設計すれば、トータルとしての稼働率は確保できるということですね。

最後に、ベアメタル、VM、コンテナからストレージを使う際の仕組みを取り上げ、図を使ってわかりやすく説明しながら、コンテナからストレージを使う際のメリットを考察していました。コンテナからストレージを使う場合の構成は、ベアメタルからストレージを使う場合の構成とほぼ同一で非常にシンプルである。途中にハイパーバイザーが挟まりその影響を考慮する必要があるVMに比べて、パフォーマンス面でも有利というお話を、ドライバがどこで動くかなどの説明も交えながらわかりやすく説明されていました。

最後に、

  • 「コンテナはステートフルアプリが苦手」「コンテナのステートフルアプリはVMに比べて大変」というのは間違い
  • (コンテナだから苦手なのではなく)「ステートフルアプリはステートレスアプリに比べると大変」というのが正しい
  • ベアメタル、VMに続いて、コンテナでステートフルアプリを動かすという第三の選択肢が生まれたのだと見るべき

とまとめられていました。

その豊富な知識と経験から得られた的確な指摘とわかりやすい説明は本当に勉強になりました。上記の説明だけでなく、コンテナからストレージを使う際の仕組みや最新動向のお話もあり、とても密度が濃い20分だったと思います。

Cloud Native時代のデータベース / こば氏

speakerdeck.com

3番目の講演はデータベース・ソムリエ、こばさんによるCloud Native時代のデータベースのお話でした。

現在から将来に至るクラウドネイティブ時代のデータベースを理解するために、段階を踏んで説明がありました。

まずは私は普段あまり意識しないRDBMSの内部コンポーネントについての説明から始まりました。RDBMS内部には多数のコンポーネントがあり、そのデータ管理を行うのがストレージエンジンと呼ばれる部分で、それを多数のノードに分散させようとすると難しいというお話です。

f:id:deepspace9:20210624002234p:plain

次に、ストレージエンジンが使うデータ構造が、ストレージとして使われるメディアがHDDからSSDへと変化していくにつれ、そのメディアの特性に合ったデータ構造への変化していっているというお話がありました。さらにNVMへの変化に対応するために、それに合ったストレージ構造に向けて色々と取り組みがあるようです。

そして、トランザクションを分散させると、それぞれの処理を時系列に並べることが難しくなる。それを解決するためにシングルリーダーにすると拡張性が失われる。そこで可用性と拡張性を同時に実現させるために、マルチリーダにして、Raftなどの合意プロトコルで同期を行うというお話がありました。

最後に、クラウドネイティブ時代のデータベースとして、ここまでの話で説明があった、新しいデータ構造、合意プロトコル、分散トランザクションを組み合わせたGoogle Cloud Spannerや、その類似の実装を行った分散データベースが生まれてきているとのことでした。

今後も新しい技術が使われるようになると、それに合わせてそれまで使われてなかった技術が導入されて、また新しいデータベースが生まれてくるかもしれないので、今後も引き続きウォッチしていきましょう、というお誘いで講演が終了しました。

「今日はちょっと細かい話をします」と言いながら、非常にわかりやすく、最後のまとめに導いていくところがさすがでした。そしてデータベースのデータ構造に、ストレージの技術が関係しているという所は結構目からウロコで、データベースからストレージまで、広い知識をお持ちのこばさんならではの解説で非常に勉強になりました。ゆっくりとわかりやすい口調の説明だったのも印象的でした。

感想

以上のように、20分の講演が3本と、それぞれの講演時間は短いイベントでした。しかし、私以外のお二人の講演は20分であることを感じさせない内容の濃さと、その濃さとは相反するような聞いているだけでスッと頭の中に入ってくる素晴らしい講演でした。

お二人とも、すごく細かい話に入っていって、私は聞いていて「え? 今からこれ説明始めて20分で終わるの?」と思ったりしました。しかし、終わってみるとしっかり理解もでき、短時間でわかりやすくまとまっていました。やはり各分野における第一人者は、広い範囲から必要な事を取捨選択してまとめる技術を持っているんだなと感心しました。

聞いていながら、「私ももっと勉強していかないとダメだな」という気分になるお二人の講演でした。そういう意味でも、今回このような素晴らしいイベントでお話ができたのは非常に刺激になりました。聞いた話で勉強になったのはもちろんのこと、それ以上に得るものが多かったイベントだったと思います。素晴らしいお話を聞かせて下さった、坂下さん、こばさん、ありがとうございました。

この記事を読んでいて、まだこの回をご覧になってない方は、すぐに見ないと損ですよ!

私が話している間のツイートをあとでさかのぼって拝見しました。非常に好意的に聞いてくださっている方が多かったようで、ホッとしました。ご参加のみなさま、ありがとうございました。

このような機会を下さった青山さん、Forkwellのみなさんをはじめとする運営の方々に改めて感謝の意を表したいと思います。ありがとうございました。

Copyright © IDC Frontier Inc.