2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
佐野成氏:では「元ウェブ系エンジニアが語るIaaS(VM屋さん)の開発ってなにしてんの?」について話します。自己紹介はたいしたことをしゃべる必要はないのですが、もともとWebフリーランスと大学院生の二足の草鞋をしていて、どういうわけか今はNTTコミュニケーションズでIaaS、VM屋さんのエンジニアとして働いています。
今日は、元Webフリーランス的な人がIaaSの世界に飛び込んで(この分野が)どんなふうに見えたかとか、「こういうことが課題なんだな」と(思った)ことを話したいです。「IaaSに興味あるんだよね」という人たちが、「えいや」と飛び込めるような下地を作れたらなと思っています。
すごく基本的なところとして、「IaaSって何?」という話があります。というか今回、若干タイトル詐欺かもしれなくて。IaaSといってもいろいろある中で、今回特に話すのは正確に言うと「SDPFクラウド」という、NTTコミュニケーションズが出しているクラウドプラットフォームの仮想サーバーのIaaSの話です。あまり主語のでかいことを言って怒られるとアレなので。
SDPF(Smart Data Platform)クラウドというものがあって。(スライドを示して)これは利用例ですが、インターネットがあって、ロジカルネットワークがあって、ファイアウォールをかませちゃったりして、その下にVM立ててみたいな。よくある基本的なクラウドコンピューティングを使える(環境)をエンタープライズ向けに提供しています。
もともと「Open TechLunch」の第2回でクラウドの作り方を話した人がいて、そこで「SDPFを支える技術」というスライドを出していました。
こんな感じで、クラウドは結局でかいデータセンターの中に特殊なデータセンターネットワークの技芸のネットワーキングがあって、さらにそこにいろいろな計算機リソースがぶら下がっているものなんですよね。
ネットワークという観点で話したのが、第2回のOpen TechLunch「クラウドの作り方(使い方じゃないよ)」で、(登壇者の)飛岡さん(飛岡良明氏)は隣のネットワークチームの人ですが、この人が話さなかった部分。
「実際にぶら下がっているリソースの人たちはなにやっているの?」ということを今日は話していこうと思います。
まず基本的な話として、「IaaSって何?」を念のためにおさらいしたいと思います。Smart Data Platformというクラウドサービス。クラウドプラットフォームの1つに仮想サーバーがあるわけで、こうやっていろいろ利活用や管理分析とかがあります。
(スライドを示して)ここに仮想サーバーがあって、私はこのチームに所属して開発をしています。
(スライドを示して)クラウドサービスを語る時に、よくサービス提供者の責任分界みたいなものがあって。IaaSはVirtualizationまで面倒を見る、PaaSはRuntimeまで面倒を見る、SaaSは全部面倒を見るみたいなものがあるじゃないですか。要するに、サービス提供者は(スライドの)赤い部分を開発して、利用者は灰色の部分を利用する感じのやつですね。
(スライドを示して)私はIaaSの仮想サーバー(の担当者)なので、このあたり(括弧で示した部分)に責任を持っているというところです。
「じゃあ、PaaSやSaaSはVirtualizationの赤いところもやっているんですか」というと、そうじゃなくて。実際にはPaaSはなんらかのIaaSの上に乗っかっていて、SaaSもなんらかのPaaS、あるいはIaaSを組み合わせていて、その上でアプリケーションとデータの部分だけを自前で実装していることが多いんじゃないかと思います。
例えば、ラーメンを作る時に全部自分で用意するのではなくて、売っているものやキッチン(にあるもの)などを用意して、そこで必要な料理という部分だけをやると思うんですよね。
そんな感じで、ここで言いたいのは「SaaSやPaaSは、なんらかのIaaSに乗って動いていることがあるんやで」ということです。すごく基本的な話かもしれませんが。
「IaaSのVM屋さんってどんな商売なの?」という、みなさんがIaaSのVM屋さんになるためになにが必要なのかを簡単に説明したいと思います。
まず、巨大な計算機のリソースの山を作ります。便利でスケールするネットワークを用意します。(スライドを示して)この米印がついているのは私もちょっとよくわかっていないので、聞かれたらネットワークの人に聞くと思います。
それを用意して、そこに大量のサーバー、CPUとメモリの山を用意します。その上でさらに巨大なShared Storageを用意します。
この巨大な計算機リソース、CPUとメモリとストレージ、そしてネットワークを用意した後で、これらをなんらかのかたちで割譲する仕組みを用意します。
我々の場合はそれらを仮想化というかたちでリソースを切り分けるのですが、仮想化の中にもいろいろな技術があって、私たちはLINUXの上で動いているQEMU(Quick Emulator)やKVM(Kernel-based Virtual Machine)という技術を使ってリソースを割譲しています。
この巨大な計算機の山と、そしてそれを抽象的に、仮想的にリソースとして割譲する仕組みが出揃いました。あとはこれを割譲しているリソースのマネジメントをするための、「誰がどこにどれくらいのリソースを使っているか」を管理するためのソフトウェアが必要です。SDPFクラウドの仮想サーバーチームでは、この部分のソフトウェアとしてOpenStackを採用しています。
要するに、VM屋さんは、巨大なリソースプールを切り売りするビジネスモデルと言えると思います。
(スライドを示して)「OpenStackって何?」というと、これはOpenStackのページから持ってきた文言ですが、「Open Source Cloud Computing Infrastructure」と書いてあって、クラウド基盤を提供するためのOSS群がOpenStackです。
30個程度のコンポーネントからなっていて、このバーチャルマシンを担当するNovaや、ネットワークを担当するNeutronというものがあります。ほかにも認証認可のKeystoneなど、全部で30個程度のコンポーネントがあって、その中のいくつかを使って我々は仮想サーバーを提供しています。言語はPythonやGoで書かれています。Pythonが多いかな。
さて、仮想サーバー屋さんをやるために必要なものが出揃いました。つまり山のようなリソースと、それを仮想的に切り分けるVirtualization、さらにそのリソースを管理するためのOpenStackです。
(スライドを示して)ここで、実際にOpenStackを経由してVMを作ることをなんとなく流れとして見てみます。まずリソース管理のAPIを提供するOpenStackがあるので、人間が「サーバーください」とOpenStackのPOST APIを叩きます。
すると、データセンターの実際のコンピュートノードと言われたりしますが、Virtualizationをするためのホストと調停をして、OpenStackはドカーンとVMをスポーン、作成させます。
VMが出来上がったら、またOpenStackと協調しながら接続情報を人間に返してあげます。その接続情報を持って、人間はこのVMにSSHするわけです。「あぁ、欲しかったサーバーが手に入ったぞ、やった」ということが、VM屋さんのやっていることです。
「OpenStackって何?」という人が、もしかしたらけっこういるかもしれなくて。ニッチだけど知っている人は知っているのがOpenStackです。我々は仮想サーバーを提供するためのパーツとして、OpenStackを商品として売るために使っています。実際、大量の計算機リソースを効率的・経済的に管理するニーズはすごくニッチですがそこそこあって、そういったケースではOpenStackが使われていることがあります。
(スライドを示して)一番下にopenstack.orgのuse-casesというページがあります。ここを見てみると「あそこが!?」という会社がユースケースを載せていたりして、見てみるとおもしろいので、みなさんも後でこれを見てみてください。
例えば、左がBlizzard Entertainmentという、ビデオゲームの「オーバーウォッチ」などのゲームを開発している会社です。そこはOpenStackを使っているし、WalmartもOpenStackを75万コアで動かしているようです。すごいですね。
(スライドを示して)さて、IaaSのVM屋さんに必要なものをみなさんに教えて、実際にAPIを使って話しているということがわかったところで。、これまでの依存関係を整理してみると、こんな感じになります。
まず、外側に露出するインターフェースとしてのOpenStack。そして、それと協調するホストOS。そのホストOSは巨大なネットワークや巨大なストレージにぶら下がっていて、そのサーバーもCPU、メモリをもちろん持っています。このホストOSがVirtualizationを行うことで、ゲストOSであるVMが生えてくる。こういった依存関係になることがわかります。
一般的に、これは私が今までそう思っていたというだけですが、VMを作ってSSHをすると考えた時に、「人間が直接ゲストOSになにやらSSHしているのではないか」という認知を私はしていました。
(スライドを示して)しかし実際はそうではなくて、IaaSであるVM屋さんはなにを隠蔽していたかというと、この巨大なデータセンターネットワークや巨大なストレージやサーバーや冗長のための仕組みで、それを隠蔽した上で、ゲストOSにリーチする仕組みを提供しているのがVM屋さんの実際なんです。
というわけで、これを見るとなにがわかるかというと、すごくいろいろなものを隠蔽していて、そしてその隠蔽しているものは、当たり前ですがインフラです。インフラストラクチャーを隠蔽している。しかもそれらは、ハードウェアと密結合してVMが動いている。これがインフラの開発のちょっとつらいところ、その1から5みたいな感じです。
(次回に続く)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05