クラウドネイティブ時代のバックアップのあり方について
今回もこのnoteを開いて下さり、ありがとうございます。
ここでは毎回バックアップに関する情報をお伝えしているわけですが、最近(でもないか?)はコンピュータの世界が大きく変わっており、それにつれてバックアップの取り方に関してもこれまでの常識が通用しなくなりつつあります。今回はそんなことについてお話ししたいと思います。
時代はクラウドネイティブ
これまで、アプリケーションはすべての機能を一枚岩のようにまとめて使えるようにしたものが当たり前でした。しかし、情報通信技術の発展によって、いわばサーバーと1台1台の端末が「近くなる」ことにより、機能をサーバーに用意してそこを使用するという方向に動きつつあります。
これに対して、Thoughtworks社のJames Lewis氏とMartin Fowler氏が提唱したのがマイクロサービスアーキテクチャです。機能ごとにアプリケーションを分割し、サービスとサービスの間の結合は弱くしておきます。
これまで各PCにインストールされたアプリケーションで機能を追加したり変更したりということを行う場合には、アプリケーションの全体を書き換える必要がありました。
この仕組みがなぜ困ったことになるかというと、機能を追加したり変更したりというたびにプログラムが複雑になり、その結果テストの負荷が大きくなったり、開発の生産性が下がり、ビジネス成長にあわせたタイムリーな拡張が難しくなり、というわけで下手したらビジネスチャンスを逃してしまったりということがあったわけです。
というわけでおふたりが提唱したのが「マイクロサービスアーキテクチャ」です。これはどういうものかというと、機能ごとにプログラムを書くようなイメージです。さらに、機能ごとのつながりを実現するためのソフトウェアというのも可能な限り簡単で小さなものにしておきます。
こうすることで、各機能を作成することも簡単になり、ユーザーもいる機能といらない機能を選択できるようになることが期待できるわけですね。
こんなすごいことをおふたりは2014年に既に提唱しているわけです。そしてそれをクラウド上で行ってしまうことにより、自分の端末は最小限で済むという。
イメージ的には、ガラケー時代には「そういう機能を持った端末かそうでないか」で分けるしかなかったものが「アプリをインストールするかしないか、どのアプリをインストールするのかを自分で選択することで自分にとって使い勝手の良い携帯にすることができる」というスマホに取って代わられたというのに近いかも知れません。すみません、専らAndroidを想定して話をしております。私は、電話は使えりゃいいやの世界で使ってますので、お高くてオシャンティーなiPhoneとかのことはよく知らないんです…。
イミュータブルインフラストラクチャって?
イミュータブルというのは「不変」というような意味です。
これまで、アプリケーションの開発等は特定のシステムに基づいて行われてきました。ですので、例えばマイクロソフトなんかは「アプリケーションの開発以外に使わないことを条件に、多数のキーを安く売る」ということでOSのキーを束で販売していたりしています。
余談ですけど、ソフトウェアはネットフリマとかで買わない方がいいですよ。いまさらっと見てみた感じ「まだやってんなあ」と思ったのですが、こういうネットフリマで「プロダクトキーを売ります。本体はダウンロードして下さい」ということでえらい安い値段でソフトウェアが売られていたりします。こういうのって大抵こういう束売りのキーをバラして売ってるだけですから。使っているうちに画面が真っ黒になって「正規のWindowsではありません」みたいな表示がされることになります。はっきり言って、詐欺です。MSもそうですけど警察もネットフリマ運営会社も、取り締まる気ないんですかねえ?
閑話休題。これまで、アプリケーションは特定のシステムに基づいて開発されていて、バグの修正、セキュリティアップデートが行われるたびに改善を行い、動作検証を行い、そしてリリースされて…というのが繰り返されてきました。
ですので、仮にそうやって生み出されたプロダクトが正常に動いたとしても、それは環境によっては動かないかも知れませんし、そうでなくてもバージョン管理が非常に煩雑だったりしてソフトウェア開発というのは面倒くさいものでした。
これからは、クラウド上に仮想環境を作れば、様々な環境での動作確認ができるわけです。仮想環境というのは、コンピュータの上で動くソフトウェアで、それが1台のコンピュータとして動くものです。以前にも一度ご説明さし上げたかと思うんですが、アプリケーションから見れば、仮想環境は実際の環境と同じ役割を果たします。
何もかもサーバーの上で…
このように、コンピュータ回りのことが全部サーバーの上で行われるように動きつつあるのが近年のコンピュータ界隈のトレンドです。
ここで考えてみて下さい。James Lewis氏とMartin Fowler氏が考えたところによると、機能が限定された小さなプログラムであれば非常に簡単に作ることができ、クラウド上にある他のプログラムと関連させて動かすこともできます。ということは?非常に汎用性の低い「自分以外でこのソフト使う人いるのかな?」というようなものなら、自分で作ってサーバーにアップしてしまうこともできるということなのです。
こうなってくると、どこからどこまでが自分の作ったデータで、どこからどこまでがお金を払って使わせてもらっているソフトウェアなのかということが曖昧になってきますよね。ディザスタリカバリも「どこからどこまで復旧すれば良いのか」というところで意見の相違が出てくることも考えられますし、BCPを作るのも難しくなってくると思います。バックアップの取り方が非常にわかりにくいものになってくるわけです。
クラウドネイティブ時代のバックアップとは
このようなクラウドネイティブ時代において、もはや「どこからどこまでがアプリケーションで、どこからどこまでがOSなのか」「どこからどこまでがデータで、どこからどこまでがシステムなのか」「どこからどこまでが自分が作ったもので、どこからどこまでが他人が作ったものなのか」は非常にわかりにくくなってくるのかも知れません。
ただ少なくとも言えるのは、こういう時代のバックアップをクラウドに置いても意味がないということです。それでは情報セキュリティの強化にも向上にも繋がりません。
バックアップすらクラウド上で動いているAIがやってくれるようなシステムもあるようなないようなという感じのようですが、セキュリティ対策としてそこまで頼っては機械が動かないような事態に陥ったときに人間はただ絶望することしかできないのではないかと。
バックアップはなぜ必要なのか、そこを考えてみましょう。ひとことで言うならば、プログラムやデータを、本来使っていたものが使えなくなったときに、暫定的にもしくは恒久的に復旧させるために自分の管理下に置いておく、それが目的ではないでしょうか。別に災害に限りません。ランサムウェア対策も必要だと思います。
そうなってきますと、ローカルで使用するためにあるデータがバックアップ対象であることは自明ですが、マイクロサービスアーキテクチャの上で作られたほぼ自分専用のプログラム、これもやはりバックアップしておいた方が良さそうです。
そして何度も申し上げるようですがバックアップの3-2-1ルールに則って、バックアップは少なくともひとつオフラインバックアップで作成しておくことを弊社といたしましては強く強く推奨いたします。
あれ?でもこれって…
こうやって、いろいろとクラウドのことについて書いてきましたが、とりあえず元へ還ってみましょうよ、皆様。
私は基本的にWindowsを使っている人間ですが、そんな私の言い分はずいぶん昔から「有料ソフトで行うほとんどのことは、フリーソフトまたは複数のフリーソフトの組み合わせで同じことができる」というものでした。
実際に「こんなソフトが欲しいなあ」と思ったら、簡単なものだったら作ったりもしましたし、作る前に検索してみたら存在してびっくりしたことも多々あります。例えば、ターゲットのウィンドウに対してひたすら「99[enter]」を入力し続けるソフトウェア。なんのためにあるかわかりますか?このソフトウェア。まあ、ここでは明らかにはしませんが。
そう考えると、クラウドの処理能力と通信回線の速度が上がったために一部機能がクラウド上に載せ替えられただけで、実は案外これまでと変わっていないような気がいたします。
なくなっては困るデータと、替わりがないようなプログラムだけ、自己の管理下にあるストレージに静的に保管しておけばそれでいい、ソフトなのかハードなのか判然としない「クラウド」というものが登場しただけで、案外やること変わってない、そう思われませんか?決して特別構えを取らなければいけないようなものではありません。こわくない、こわくない(某アニメの台詞より)。
特にクラウドの可用性つまり「便利さ」をすべて使うことはないような中小企業のお客さまには、難しいことをお考えにならずに弊社をご利用いただければと思っております。
よろしくお願いいたします。
目次
Windowsからの乗り換え先になるか? Linux MintとChrome OS Flex
バックアップの方法 オフライン・オンラインバックアップとは?
IPAの言うセキュリティ対策の基本を見ていきましょう! その1
IPAの言うセキュリティ対策の基本を見ていきましょう! その2
IPAの言うセキュリティ対策の基本を見ていきましょう! その3
IPAの言うセキュリティ対策の基本を見ていきましょう! その4
IPAの言うセキュリティ対策の基本を見ていきましょう! その5