今回は仕事をする上で出てくるIT用語について紹介していくよ。
実際に仕事しているてっぱん先輩に聞きます。
本当に使ってる用語なんですか?
うーーん、難しいところだね。
常に使うかと言われば、使ってないけど、ITエンジニアの共通認識だから知っていないと他の話が通じなくなるって感じかな。
それは、重要な話ですね…
ITパスポートの知識は基本で知っている前提で話が進むから
全ての用語を暗記しなくてもいいけど仕組みだけは理解しておくに越したことはないよ!
じゃあ、さっそくやっていこうか!
会社と家のパソコンの違い
まずは、会社で使うパソコンと家で使うパソコンの違いについて紹介するよ。
業務だと複数のパソコンを連携させる必要があるんだけど、その際に特有の製品や技術が出てくるんだ。
集中処理と分散処理
たくさんのコンピュータを連携させて効率的に業務を進めるために集中処理と分散処理という考え方がある。
集中処理というのは、まとめて処理をしたほうがいい仕事に向いていて、スーパーコンピュータに計算や処理を任せて、他のパソコンはスーパーコンピュータの結果だけを受け取るという処理方法。
例えば、銀行のATMがある。
銀行のATMはATMのマシン自体では計算は行わず、銀行のメインマシンにATMからアクセスがあって、メインマシンで計算が行われた結果がATMマシンに返ってくる仕組みなんだ。
まさにメインマシンのみに処理を任せる集中処理の例だね。
分散処理というのは、柔軟に変更できて、分権化した組織にマッチする全員で仕事を分担する処理方法だよ。
クライアントサーバーシステム
集中処理と分散処理を紹介したわけだけど、実は会社が実際に使っているシステムはクライアントサーバシステムと呼ばれるものなんだ。
集中処理と分散処理のいいとこどりをしたシステムになっているよ。
まずは言葉としてサーバとクライアントについて補足しておく。
サーバとは、比較的処理能力が高く、難しい仕事をこなす役割を与えられたコンピュータのこと。
クライアントとは、ユーザ(社員)が手元で使うコンピュータのこと。個人的な仕事はクライアントコンピュータで実施できる。
クライアントサーバシステムは、基本はクライアントで処理をするけど、メールやWebサイトを閲覧するってなった場合にサーバに依頼を送るんだ。
メールを一括で管理したり、閲覧できるWebサイトを管理しているサーバはクライアントの依頼に答えて、クライアントへ受信メールを送ったり、閲覧できるWebサイトを教えてあげたりする。
Webサイトへの閲覧可否をクライアントのPC全てに施さずにサーバだけ設定すればいいというので、管理コストが低くなるメリットがあるんだ。
仮想化技術
クライアントサーバシステムも集中処理も分散処理にも実はデメリットが存在する。
それが準備に時間とコストがかかるということ。
サーバを用意するためにパソコン費用に加え、電気代、壊れた時の修理代などが必要になってくるんだ。
しかもどの程度のサーバ規模を作ればいいかも最初は分かりづらい。そういった悩みを解決するために仮想化技術ってのが生まれたんだ。
仮想化とは
仮想化とは、ソフトウェアによって複数のハードウェアを統合することで、1台のサーバが複数のサーバのように振る舞うことができるようにする技術のこと。
普通のコンピュータは1台のパソコンの中に1個のOSがあって動くのに対して、仮想化では1台のパソコンの中に複数のOSやアカウントが存在して1台なのに複数台あるようにできるんだ。
これによって何がいいかというと、大きいサーバーひとつで複数のまったく別の動きをするマシンやシステムを実現できちゃう点。
物理的には1台しかないものを、あたかも複数のマシンがあるように見せることができてこれによって、仮想化マシンひとつ自体をコストを抑えて利用することができる。
これまで一軒家という感じでドーンと一回大きなマシンを買わなければいけなかったのが、賃貸のように自分の生活にあったマシンを仮想化マシンの中から最少額で選ぶことができるようになったんだ。
イメージを図にするとこんな感じ。
もしも物理的なマシンが壊れてしまったらどうなるんですか?
一つしかなくて、複数の仮想化マシンが動いているってことは一つが壊れたらその上で動いている仮想化マシン全部が壊れてしまいそうですけど…
すごくいい質問だね!!
まさにその通り
仮想化マシンの弱点としては物理マシン自体は購入せずあくまで場所を間借りしている感じだから物理マシン自体が壊れた場合は、物理マシンの上の仮想化マシンも同時に壊れてしまう。
それを防ぐために、複数台の物理マシンに同じ仮想化マシンを借りておくということをするよ。
東京だけじゃなく、大阪にも部屋を借りるイメージ。
東京の物理マシンが壊れても大阪の物理マシンは動いているから仮想化マシンを守ることができるよね。
NAS、オンラインストレージ
続いてネットワークを利用してお手軽に大容量ファイルを共有するシステムについてだ。
ネットワークに接続するディスク装置のことをNASと呼ぶんだ。
NASは直接接続した記憶容量装置(HDDやSSD、USBメモリなど)のようにアクセスすることができて、データの共有がうんっと楽になる。
イメージとしてはiPhoneを使っている人ならiCloudのようなイメージ。
みんなが共有する情報は共有フォルダに格納することで、ネットさえ繋がっていればそこからデータやファイルをコピーすることがいつでもできる状態にできるのがNASなんだ。
NASは基本的に自分でHDDやネットワークの整備をするのに対し、オンラインストレージを契約するという方法もある。
まさにiCloudのようなサービスだよ。
月額〇〇円で契約することで共有クラウドフォルダを作ってファイルなどを格納する。
ネットさえ繋がっていればいつでも出し入れできる。
NASよりも導入コストが低い特徴がある。
RAID
データを守るために必要な知識RAIDについても解説しよう。
RAIDというのは簡単にいってしまうと、とにかくデータが消えた時でも復元できるようにしようぜ!というシステムのことになる。
0~6までの段階があって、ここではよく試験に問われるRAID1とRAID5について解説するよ。
RAID1は、ミラーリング方式と呼ばれるもので、物理ディスクを二つ用意して全く同じ内容を二つに分けるというやり方だよ。
仮に一つが壊れてしまっても、全く同じデータがもう一つにあるからすぐに復旧ができる。
ただ仮に2TBの記憶装置を準備した場合、実際に格納できるデータは1TBと半分になってしまうんだ。
1TBのデータを保存したらもう一方にも1TBを保存するから。
RAID5は誤り訂正用データを含んだデータを分散させる方法になるよ。
まずは3台以上の物理ディスクを用意する必要がある。そしてデータを分散させて保存する。
この時分散というのは、同じデータではなく1つのデータを分割してそれぞれのディスクに保存するんだ。
そして分割データとともに誤り訂正用のデータも保存する。
簡単な例と一緒に紹介すると、まずデータ「AAABBBCCC」というものがあったとする。
これをRAID5を用いて保存すると、ディスク1には「AAA」ディスク2には「BBB」ディスク3には「CCC」という形で保存がされる。
そして同時に「次に続くデータはBとCで数は同じですよ」というのを誤り訂正データとしてディスク1に。
「AとCは三個ずつですよ」というデータをディスク2に。
「Bの前にA、Bの後にC」というデータをディスク3に保存しておく。
すると例えばAが壊れた時。
「BBB」と「CCC」情報と「AとCは三個ずつですよ」「Bの前にA、Bの後にC」情報をもとに「AAABBBCCC」を復元することができる。
Bが壊れた時も「次に続くデータはBとCで数は同じですよ」「Bの前にA、Bの後にC」をもとに「AAABBBCCC」を復元することができる。
ざっくりのイメージだけ押さえて、RAIDを使うと一つが壊れてもデータを守ることができるんだってことだけ知っておこう。
故障対策と危うさを計算する
全てのものがいつか壊れてしまう。
それはもちろんコンピュータだって例外じゃない。
いくら丁寧に扱っていてもコンピュータは消耗品で、部品を交換したりする必要がいつか絶対出てくる。
でも、ずっと動いていなければいけないシステムが止まるというのはITの世界では非常に不便だと言える。
心臓がちょっと壊れたんで止まりまーすなんて事あったら大変でしょ?
少しオーバーだけどシステムだって似たような感じなんだ。
止まるとシステムを利用している人に多大な被害が出る場合、しっかりとどのくらい信用できるシステムなのかを考える必要や可視化する必要がある。
稼働率とMTBF
稼働率とMTBFを利用することで、どのくらい信頼できるシステムなのか、どのくらいの期間で復旧が必要になるかが見えるんだ。
稼働率というのは、どれだけシステムが動いていたかを表す指標で、式としては下記となる。
(稼働率)=(実際に動いた時間)÷(動くことが期待されていた時間)
100時間連続で動くと想定されたシステムが80時間目で止まってしまったら、稼働率は0.8となる。
稼働率が1に近いほどシステムの信頼性はがるんだ。
MTBFは何時間に1回故障するかを表す指標だよ。
式としては、(MTBF)=(動いていた時間)÷(故障した回数)となる。
100時間動いて2回故障が発生した場合はMTBFは50となる。MTBFが大きいほど故障が少ないことを表すんだ。
またMTTRという指標もある。これは故障したときに何時間で直せるかを表していて式としてはこう。
(MTTR)=(止まっていた時間)÷(故障した回数)
システムが止まっていた時間を10時間、故障した回数を2回とするとMTTRは5となる。
MTTRは小さければ小さいほど、システムが故障したときに復旧できるスピードが速いってことになるよ。
稼働率の計算ではMTBFとMTTRを用いて計算することもできる。
(稼働率)=(MTBF)÷(MTBF + MTTR)だ。
式を一覧でまとめるとこんな感じ、最低限この式は覚えておこう。もちろん覚えなくても意味を理解していれば簡単に導き出すことができるよ。
(稼働率)=(実際に動いた時間)÷(動くことが期待されていた時間)
(MTBF)=(動いていた時間)÷(故障した回数)
(MTTR)=(止まっていた時間)÷(故障した回数)
(稼働率)=(MTBF)÷(MTBF + MTTR)
信頼性を上げる方法
稼働率を上げるというのが信頼性を高める方法になってくるわけだけど、別の方法でも信頼性や安全を担保する方法もあるんだ。
フォールト・トレランスと呼ばれる考え方で、壊れるのは仕方ないから壊れたときにできるだけ被害を抑えようという考えになるよ。
フォールト・トレランスの代表的な手法を二つここでは紹介する。「フェールセーフ」と「フェールソフト」だ。
フェールセーフは、やばくなったら安全な方向に壊れるようにするって手法だよ。
例えば、信号機は壊れた場合赤しかつかなくなったりするやつ。
フェールソフトは、やばくなったら中核機能を残す手法。
例えば、飛行機はエンジンだけは絶対に最後まで動き続ける仕組みになっているやつ。
壊れたときにどうするのかを考えるのもITやテクノロジーの世界では非常に大事なんだ。
ある意味で失敗を前提として動いている。人生と同じで失敗は避けるものではなく、起こった時にどうするかを考えるのが重要ってことだね。
まとめ
今回は、仕事で使われるコンピュータ用語や信頼性、稼働率なんて話を解説してきたわけだけど
どうだったかな?
だいぶ、仕事とITのつながりがわかってきましたね。
家のパソコンと会社のパソコンで違いがあるなんて知らなかったので勉強になります!
ぼ、ぼくは、稼働率の計算らへんが面白いって思いました。
システムは止まらないようにするのが大事だけど止まった時にどうするかはもっと大事って話も感動しました。
ここまででコンピュータの仕組みらへんのお話はひと段落だよ。
お疲れ様!
コンピュータの動き方から一通りの基礎を学んだことになるから、問題も解けなくても解説を見ればなんとなくイメージできるようになっていると思う。
あとはどんどん、問題を解いていって理解した内容を使えるものにしていって貰えばと思うよ。
とりあえず今日はここまで、次回は新しい単元に行くよ!
はい!ありがとうございました!!