派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

【イベントレポート】エンジニアが生き残るためのテクノロジーの授業[第6回]「ハードウェアと仮想化の選び方」

株式会社リクルートスタッフィングが運営するITSTAFFINGでは、弊社に派遣登録いただいている皆さまのスキル向上を支援するイベントを、定期的に開催しています。

2018年9月12日のイベントでは「エンジニアが生き残るためのテクノロジーの授業」の第6回として「ハードウェアと仮想化の選び方」を開催。

ますます多様化するハードウェアと、技術進化の著しい仮想化テクノロジーについて、増井さんならではの分かりやすい語り口で解説をしてくださいました。

f:id:itstaffing:20181015111604j:plain

■今回のイベントのポイント

・分散と集中を繰り返す歴史
・多様化するハードウェア
・現代に必須の「仮想化」
・障害対応と稼働率


【講 師】増井 敏克さん
▲【講 師】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『おうちで学べるセキュリティのきほん』『プログラマ脳を鍛える数学パズル』『エンジニアが生き残るためのテクノロジーの授業』『もっとプログラマ脳を鍛える数学パズル』(以上、翔泳社)、『シゴトに役立つデータ分析・統計のトリセツ』『プログラミング言語図鑑』(以上、ソシム)がある。

分散と集中を繰り返す歴史

ハードウェアの話といっても、回路設計の話ではありません。ビジネスで、ITを支えるハードウェアをどのように使っていくかという話だそうです。

ハードウェアを語るときに欠かせないのが「歴史は繰り返される」ということ。

まず、処理する場所について考えます。1970年代頃にはメインフレームと呼ばれる大型のコンピュータに、複数台のダム端末と呼ばれるディスプレイ&キーボードを接続して、多人数で利用していました。これは集中型です。80年代にパソコンが登場すると、手元のパソコンでいろいろなことが処理できるようになり、次第に分散型へと移行します。

ところが、90年代にインターネットが普及し始めると、パソコンではWebブラウザの利用が増え、再びサーバによる集中型に移行します。2000年代に、いわゆるWeb2.0が登場すると、パソコンの性能アップに伴い、ブラウザ側で高度な処理ができるようになり、分散型に移行。その後、スマートフォンが登場しますが、パソコンに比べると処理能力が低いため、サーバ側でさまざまな処理するようになり、集中型に戻ります。

f:id:itstaffing:20181015111530j:plain
▲歴史を見ると集中型と分散型が繰り返されている。現在はIoTの登場で、分散型への移行期となりつつある

データをどこに置くかというのも重要なテーマ。災害対策の視点からはバックアップデータを物理的距離の離れたところに置いておきたいというニーズもあります。しかし、ネットワークを経由すると遅いという問題もあるほか、一か所で管理する方が楽という管理面でのニーズや、安価に管理したいという予算面でのニーズもあります。

システムを仮想サーバで構築するか物理サーバで構築するか、クラウドを利用するかオンプレミスで使うかも悩ましい問題ですが、最近の流行りはハイブリッド型だそうです。

f:id:itstaffing:20181015111532j:plain
▲どちらが良い悪いではなく、どう組み合わせてどう使うかが重要。ハイブリッド型は良いとこ取り

また、複数のサーバを使って、どのように分散していくかというのも一つのテーマです。分散の方法には垂直分散と水平分散があり、それぞれ目的によって向き・不向きがあるそうです。

f:id:itstaffing:20181015111535j:plain
▲目的に合わせて垂直分散と水平分散を選び、構成していくべき

多様化するハードウェア

コンピュータを構成する要素には、ずっと変わらない五大装置があります。

f:id:itstaffing:20181015111539j:plain
▲HDDがSSDに変わったりしているが、昔のパソコンも今のパソコンも基本構成は同じ

一方で、近年、飛躍的に変わってきたものもあります。その代表がセンサー。カメラ(光学センサー)や重力センサー、温度センサーなど、次々に新しいものが登場し、性能も日進月歩で向上しています。こうしたセンサーをどう使うかについて、増井さんは「どれだけよい結果を画面上に出力しても、人に伝わらなければ意味がない」として、利用者が使いやすいインターフェイスが、今後さらに重要になってくるとのことでした。

また、面白かったのが「匂い」「味覚」のセンサーについて。すでにセンサー自体は存在しますが、そのセンシングの結果を、どうすれば人に伝わるのかという話。増井さんも、個人的に興味があるそうで、注目しているそうです。

f:id:itstaffing:20181015111543j:plain
▲匂いや味をどう伝えるかは増井さんも注目する今後の大きなテーマ!?

現代に必須の「仮想化」

「仮想化」というと、最近よく聞くようになったと思われがちですが、実は仮想化という考え方自体は昔からあったそうです。

1970年代のメインフレームの時代には、MVSといった仮装記憶機能を備えたOSが存在しており、現在もIBMのz/OSなどにその機能が受け継がれています。

また、複数のHDDをまとめて1台のストレージのように扱うRAIDも、古くからある技術で、一種の仮想化と呼べるものだそうです。

一方で、最近よく耳にする「仮想化」技術には、以下のようなものがあります。

f:id:itstaffing:20181015111547j:plain
▲「仮想化」と一口に言っても、いろいろな領域でそれぞれの仮想化技術が開発・導入されている

仮想化のメリットとして、スペースの削減があります。1つの物理マシンを複数の仮想マシンとして利用できるため、たとえば月末月初にしか負荷が高まらないシステムの空いている期間を有効活用することも可能になります。

また、準備期間の短縮もメリットの一つ。新規にサーバが必要になったときに、いちいちハードウェアを買い揃える必要がありません。システムに障害が起きた場合も、すぐに代替システムを用意できるため、BCP対策としても効果を発揮します。

仮想マシンの仕組みにはいくつかあります。ホストOS型、ハイパーバイザー型のほかに、コンテナ型と呼ばれるものもあります。

f:id:itstaffing:20181015111550j:plain
▲ホストOS型とハイパーバイザー型。一般的にホストOS型よりもハイパーバイザー型の方が高速に処理できる
f:id:itstaffing:20181015111552j:plain
▲コンテナ型は仮想マシン上で動かすOSの種類が限定されるものの、仮想マシンの起動に時間がかからないなどメリットも多い

そのコンテナ型の中でも、現在人気急上昇中なのが「Docker」という仮想化ソフトウェアです。Docker上の仮想マシンで動かせるOSはLinuxのみですが、PHPを利用したり、Linuxサーバ環境を複数用意したりといった目的にはピッタリです。

しかも、仮想マシンをイメージファイルとして保存でき、同じ環境の仮想マシンを手軽に起動できます。すでに多くのイメージがDocker Hubというサイトで公開されており、目的に合ったイメージをダウンロードして、環境構築済みのLinuxサーバを起動できるそうです。便利ですよね。

f:id:itstaffing:20181015111557j:plain
▲Dockerはイメージがあれば手軽にLinux仮想マシン環境が起動できる。その便利さから現在人気急上昇中

他にも仮想メモリや仮想ディスクなど、現在、仮想化という考え方はいたるところで実装され導入されています。

障害対応と稼働率

システムを運用していく上で、何らかの障害が起きることがあります。システムが停止してしまうとビジネス上の損失が生じますから、これを何とか抑止したい、抑止できなくても停止している時間を短くしたいと考えるのは当然のことです。このシステムの耐障害性は稼働率という数字で計ることができます。

f:id:itstaffing:20181015111601j:plain
▲MTBFを伸ばすためにメモリにエラーチェック機能を持たせたり、ストレージをRAIDで構成したり、UPS(無停電電源)を導入したりしている

稼働率は99.99……と、小数点以下に9が並び、100%に近いほど信頼性が高いということになります。増井さんによれば「小数点以下5桁という事業者も見たことがある」そうです。

イベント開催日の1週間前に、北海道で地震による大規模停電がありました。増井さんが管理している一部のサーバは北海道のデータセンターにあったそうですが、停止することはなかったそうです。

「私のHPなら年間3日ぐらい止まっても大きな問題はありませんが、商売をしている人はそうはいきません」(増井さん)

データセンターやクラウドサービスを選ぶときにはSLA(サービス品質保証)を確認しておくことが大切。また、サービス終了や突然の値上げなど、ある程度リスクがあることを頭の隅に置いておくことも大切だそうです。

今回のイベントは、ハードウェアと仮想化ということで、難しい話かなと思われがちですが、サーバを利用する側の注意点をしっかりと押さえることができると、面白くなってきます。増井さんによる全6回の「エンジニアが生き残るためのテクノロジーの授業」は、いかがでしたか。最近のトレンドを中心にテーマごとに詳しく説明していただきました。一度、第1回から復習してみてくださいね。