電力を呼吸し省エネするクラウドサーバー群
コンピュータ性能向上は、パラレルとシリアルを交互に繰り返し進化して来ました。
データセンターでの一般的なサーバーは1,000台あれば80%以上800台以上待機し、アクセスを待っている。これをゾンビサーバと呼ぶ。
仮想化技術すると1台の物理サーバーに数台からコンテナなら100コンテナ収容出来、起動も短時間になるが、アプリケーションは遅くなる。
コンテナをパラレルクラスタ化すると1,000×100=100,000仮想サーバーを構築出来、1/100ずつ1,000サーバーをクラスタとして利用すると、IOバンド幅が拡がりデータ処理を高速化出来る。100コンテナ/1台を10台/1組より、1/100を1,000コンテナ/1組が、圧倒的にデータ処理が速い。圧倒的に速いので、同じ処理を行うなら消費電力は相対的に少ないと言える。
さらに、起動時間は0.4秒なので、アクセスが来たときに起動、アクセスが15分以上無ければシャットダウン出来る。電力を呼吸するように、ゾンビサーバーを駆逐して省エネ出来、PUEを限りなく1.0に近づけることが出来る。
1,000台物理サーバーで、1,000クラスタが100組稼働出来るが、高速起動、短時間シャットダウンにより1,000クラスタ利用ユーザー数は時間軸で増えるので、1ユーザー当たりの物理サーバー利用コストは相対的に安価になる。
1ユーザー当たりの設備共有も時分割で増え、1ユーザー当たりの設備コストも減る。
サーバーでの停電対応電池備蓄も減らすことが出来るので、UPSなどの設備コストも下げられる。
1ユーザー当たりの設備共有も時分割で増え、大規模データセンターにおいて、コンテナクラスタ技術は、再生可能エネルギー対応、脱炭素化に必須な技術となった。
Kubernetes(クーベルネイテス、クーバーネイテスと発音)がソフトウエア世界を変えた。
この膨大なコンテナ群にて、ロードバランサを含め管理するジョブコントローラソフトウエアがKubernetesであり、コンテナオーケストラレーションと呼ばれる。
現在のサーバー技術トップベンダーはGoogleであり、最初のクラスタ化データ処理高速化の成果がBigQueryである。BigQueryは1TByteを1秒で検索出来る。米国Yahoo!などがリバースエンジニアリングしてHadoopが作られた。
古くから世界で広く使用されているHTTP サーバーApacheのApacheファウンデーションがHadoopをインメモリ型にアップデートしApache SPARKを開発した。Apache SPARKは巨大なデータに対して高速に分散処理を行うオープンソースのフレームワークである。
インテルCPUだけで動いていたサービスアプリがパラレル、クラスタ化して、インテルCPU単独だけで達成出来なかった高速データ処理を実現している。
スマホ普及が全てを変えた。
iPhoneを初めとするスマートフォンの爆発的な普及により、膨大なアクセスに耐える処理向上が必須となった。
スマホへのサービス強化のため、データセンターでの電力消費が問題になり、仮想化により1台のサーバーに多数のサーバーが稼働させ省エネ化された。仮想化ソフトウエアの代表はXen、有償のVMWareである。しかし、1台のサーバーを分割するので性能は下がる。VMWareで4台が限度であった。
クラウドサービスでは、スパコン同様に台数が増えるだけ性能が上がり、アクセスユーザー数が増えて収益が向上する。
これが、クラウドジャイアントGAFAM、BUTのデータセンターが巨大化する理由である。
クラウドジャイアントは、スケールする技術が高いので、ハイパースケーラとも呼ばれ、大量アクセスを捌いている。
コンテナ技術の歴史
コンテナ技術が開発され、1台に100コンテナをインストール出来るようになる。代表するソフトウエアはDocker、CoreOS。
コンテナは軽量であるので起動が速い。10GbEを使い1,000サーバーを0.4秒で起動できるシステムをGoogleが実現し、検索サービスを提供している。
1,000サーバー起動は0.4秒、10,000サーバーの起動でも60秒以内。しかもアクセスが無いと15分でシャットダウンする。
これらのサーバー群を制御するソフトはGoogle社内でBorgと呼ばれ、OSSとしてKubernetesが2014年登場する。
Kubernetes発表後3ヶ月で採用したのがMicrosoftAzure、2年後AWSも採用、さらに2年後IBMも採用。IBMはRedHatを買収してクラウドサービスに採用。IBMは今後5年間で全てのサービスをコンテナ化するとして、CentOSの開発を停止した。WindowsCore、UbuntsCoreなど組込用に開発された軽量OSもクラスタで使用出来る。
Kubernetesはコンテナオーケストラレーションと呼ばれるようになりデファクトになった。
Kubernetesは、コンテナ制御でデファクトになったので、続々と周辺ソフトウエアが開発され対応している。
軽量OSとして、eBPF(extended Berkley Packet Filter)がWindows10に対応※1。
BumblebeeによってDockerコンテナの標準的な形式、すなわちOCIイメージとしてパッケージング。eBPFのアプリケーションをDockerコンテナと同様にコンテナレジストリに登録することで、eBPFアプリケーションの公開やシェアを簡単に実現※2。
レンタルサーバー構築OpenStackもKubernetesに対応。
ストレージCLOUDIAN※3、PureStorage※4
Zabbix 6.0リリース、ビジネスサービス監視を大幅強化、機械学習による障害検知、Kubernetes監視機能も搭載※5
Kubernetesは大規模複雑なので、ハイパースケールをサポートするSUSE社Rancherなどもある。
最上位WebフロントソフトウエアにはメジャーなPHP、JavaScriptがすでにクラスタに対応している。
また、Web通信プロトコルHTTP3も5年掛かりで規格化されQUICと呼ばれ、TCP/IPより2倍速いので、相対的に大規模データセンター消費電力は半分になり、GAFAMではほぼ全てに採用され、データセンター省エネを実現している。
※1.
https://www.publickey1.jp/blog/21/windowslinuxlinuxebpfwindows.html
※2.https://www.publickey1.jp/blog/22/ebpfbumblebee.html
※3.スケールアウト型オブジェクトストレージ製品 CLOUDIAN https://cloudian.com/jp/products/
※4Kubernetesで管理するヤフーの次世代IaaS基盤 https://techblog.yahoo.co.jp/entry/2020122430052973/
Pure Storage®(ピュア・ストレージ)とは https://www.purestorage.com/jp/knowledge/what-is-pure-storage.html
※5.https://www.imagazine.co.jp/zabbix-6-0/