PR

インフラ的なメンテナンスと、アプリ的なメンテナンスの違いとは

インフラ技術

メンテナンスって何?とはならないほど、世の中にメンテナンスという言葉が出ていて、もう完全に日本語だろって状態までになっていると思います。

ただ、カタカナ語なので一応、日本語として、どういった意味があるのか調べてみました。

メンテナンス(英: maintenance)とは、「維持」「持続」「保守」「保全」などの意味をもつ語である。 とりわけ、機械や建物、コンピュータシステムなどの設備について、故障や不具合が生じることなく正常な状態が維持されるように点検したり手入れをしたりすることを指すことが多い。

なるほどね、イメージ通り、保守や、保全、現在の状態や状況を、維持して持続させるというような意味合いだなってことがわかると思います。

ボディメンテナンスということは、体を若く、健康に保つといった意味合いでしょうか。

では、IT的なメンテナンスとはどういったことを指すのか、説明したいと思います。


   IT的なメンテナンス?   

見たことがあるかわかりませんが、夜中など金融系のサイトにアクセスしたときに、ただいまメンテナンス中という画面が表示したことはありませんか?
または、ゲームなどをしていて、定期的メンテナンスとして、遊べない時間などはないでしょうか?

まさに、それがメンテナンスということですね。
※そもそも、メンテナンス中ですという画面が出ていると思うので、メンテナンス中であるというのはわかりきったことだと思いますが。

では一体、その時間で何をしているのかという点について、説明したいと思います。

   IT的なメンテナンス? 2   

同じ見出しの文言になってしまったので、2としました。

なぜ、そんなことになったのでしょうか?

また、いつもの通り、考えなしに書いているからそうなったのではないかと思った方。
正解です、私のことをよく理解しています。

でも実は、意味はあるんです。

見方が違うので、こんなことが起こりました。
「IT的なメンテナンス?」のほうで説明したのは、ユーザ的な目線の説明を書きました。
ユーザ的な目線?ってなりましたよね。

実は、システムって2面性があります。

それが、利用する人、つまりユーザ、そのシステムを開発したり、維持したりする、開発者、エンジニアとなり、それぞれ、触る部分が異なります。
なので、2面性というのは、見てもらう方(ユーザが見る方)見せる方(エンジニアが見る方)ということになります。

難しく、遠回しに言ってしまいましたが、このブログも勝手に書かれるわけではなく、

見てくれている皆様、
見せるための文章を書いている私

という、2人で成り立っています。
※見てくれている皆様と複数名いるように書いてしまいましたが、そんな人がいるのかはわかりませんが。。

もう少し例え話をすると、飲食店など、お客さんが入ってくる入口と、従業員や材料の搬入などの従業員用の入口があると思います。
お客さんは注文して、どんな調理がされているかはわかりませんが、注文したものが提供されます。
店員は、注文されたものを厨房に伝え、厨房で調理をしお客さんに提供すると思います。

   IT的なメンテナンス? 3   

ついに、3まで来てしまいました。。
先ほど記載した通り、飲食店で例えましたが、飲食店が営業しているときは、お客さんが入ってきて料理を注文すると思います。

では、営業時間前や、定休日の場合はお客さんは入ってきますでしょうか?
答えとしては、入ってこないと思います。

また、入ってこないように、営業時間外ですや、定休日ですと張り紙が張られたりすると思います。

システムも同じで、今メンテナンス中ですという表示を出します。
まさに、定休日と張り紙を張っている、飲食店と同じ状況です。

また、飲食店の場合、定休日だとしても店員は店内の掃除や、営業時間外だとしても、食材の搬入などで、仕事をしていることがあると思います。

システムも同じで、お客さんは入ってこれないですが、システムの古い情報を消したり、入ってきたデータが正常かどうかの確認を行ったりと、飲食店でいうところの掃除のような、お客さんがいるときにはしない仕事をすることがあります。

と、だいぶ長くなりましたが、ここまでがシステムのメンテナンスであり、アプリ的なメンテナンスの話となります。
やっと本題の、インフラ的なメンテナンスに関しては、次章に書きます。

ここでいったんCMです

   インフラ的なメンテナンス   

やっと、ここから、インフラ的なメンテナンスになります。
インフラ的なメンテナンスとは、超絶簡単に書くと

OSをシャットダウンすることです。

以上。

現在、皆様がこのサイトを見ているということは、OS上のブラウザを使用して、このサイトのこのページを見ていると思います。
PCでいうと、WindowsでGoogleChromeやedge、スマホでいうと、AndroidでGoogleChromeや、ブラウザアプリで見ているかと思います。

その、OSを停止することとは、Windowsのシャットダウンをすること、Androidの電源長押しで、電源を切ること、それがOSを停止するということです。
つまり、インフラ的なメンテナンスとは、OSを停止することを言います。

雑な例の構文のような文章になってしまいましたが、インフラ的なメンテナンスとか仰々しく言わないで、単純にOSの停止といえばいいじゃんと思いましたか?

やっていることは、確かにOSの停止なのですが、システムの場合は複数のOSから成り立ってシステムを構成しているので、サーバを停止する順番があったりします。

    サーバの停止順序とは    

いきなりたとえ話になりますが、例えば、水道水を飲むときの順序を考えてみてください。
・水道をひねる
・水が出る
・コップに水を入れる
・水道をひねる
・水が止まる
・飲む

という流れになると思います。

コップに水を入れるが最後に来てしまうと、ただ水道をひねって、水を出して、止めて、飲むパントマイムをして、出ていない蛇口にコップをかざすという謎の行動になってしまい、水を飲むという目的が達成できなくなってしまうと思います。

システムも同じで、Webの画面を提供するサーバ(WEBサーバ)、ページを動作させるアプリケーションサーバ(APサーバ)、データを入れるデータベースサーバ(DBサーバ)というものがあり、正常にシステムを停止する、または起動するためには、正しい順序で行う必要があります。

でないと、Webのページは表示するものの、データが見れず無意味なページになったりしてしまいます。
はたまた、Webページは表示するものの、ユーザの情報などはデータベースに格納されている場合など、ログインができないことも発生してしまいます。

   なぜ、メンテナンスが必要か   

そんな、順番が大事だったりするのであれば、ややこしいから停止しないで起動したままにすればいいじゃんと思いますよね。
ただ、起動したままにすると、ごみのデータが残ったり、セッションが残ったり、メモリ、CPUの使用率が高いままとなってしまったりするので、定期的にOSを停止する必要があります。

また、OSが止まっている時ならではとして、OSが止まっているので、中のデータを何も操作されないため、そのタイミングでバックアップを取ったりします。

インフラのメンテナンスとは、簡単に表すと以下のようになります。
・WEBサーバ停止
・APサーバ停止
・DBサーバ停止
・3台のバックアップ取得
・DBサーバ起動
・APサーバ起動
・WEBサーバ起動
となります。

過去にあった事例として、3年程度起動しっぱなしのサーバを停止したところ、そのタイミングで壊れて起動しなくなるといったこともありました。
なので、定期的に停止して、バックアップを取得するということは非常に大事になります。

私としては、すさまじく長い記事になってしまいましたが、最後までお読みいただきありがとうございます。
とりあえず公開はしてしまいますが、今後、絵を追加したり、2記事に分けたりするかもしれないので、たまには見てみていただけるといいかと思います。

       because       

ふと後輩と会話していた時に、確かに自分も昔意味が分からなかったなと思いだしたことがあったので、記事として残しておこうと思いました。

メンテナンスというと、点検みたいなイメージを持っていると思います。
遊園地や、ATM、エレベーターなどメンテナンス中という、日常生活でなじみのある言葉だからだと思います。
イメージから入って、それって具体的に何をしているんだろう、と疑問を持ち調べていくという行動は非常に大事だと思います。

気を付けなければいけないのは、イメージから入って、それで終了してしまうと、思い込みを招く結果となり、全く違うことをしてしまうとか、全く違う理解になったりとしてしまうので注意が必要です。

コメント

タイトルとURLをコピーしました