2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
佐野成氏:では「元ウェブ系エンジニアが語る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.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦