でかいラックマウントサーバを買うことは果たして良い選択なのか?

最近では「クラウドネイティブ」という言葉が使われているように,クラウド上での利用を前提として設計されたシステムやサービスが増えてきています。

AWS,Azure,GCP(Google Cloud Platform)の3大クラウド比較記事なども出ており,まさにクラウドが当たり前のように使われる時代になっていますね。当社でもお客様向けにAWSなどを使っています。

世界3大クラウド 徹底比較
AWS、マイクロソフト、グーグルの実力
http://tech.nikkeibp.co.jp/atcl/nxt/column/18/00136/

今回はそんなクラウド時代に逆行するかのような記事ですが,自社でサーバを運用する場合に,クラウドと比較してメリットが大きいのはどのような時なのか考えてみることにしました。あえて自社運用のデメリットも正直に書くことによって,このブログを見た方の選択をより良いものにしていただきたいと感じています。

利用者側の視点ではイメージしづらいのですが,クラウド事業者が運営しているクラウドサービスを支えているのは,実際にはデータセンターにあるサーバたちだったりします。(AWSでいうところの「AZ(アベイラビリティーゾーン)」はまさにデータセンターと同義で使われています)

ですので,「実際の機械の中身は同じだけれど,それを誰がどこでどのように管理しているか」によって,どんな違いが出てくるのかを見ていきたいと思います。

AWSとの比較

まず自社運用する場合とAWS EC2(Elastic Compute Cloud)を利用する場合とで,具体的にどこが違ってコストダウンに繋がるのか見ていきましょう。

AWS EC2での制約は…

  • ある一定のレベル以上のインスタンスタイプを選択しないと「EBS最適化利用」オプションが利用できない
    →2018年4月30日時点では,「m5.large」以上
  • IOPS(I/O per Second)の高いストレージほど時間あたりの利用料金が高い
    →I/Oが必要な場合EBS(Elastic Block Store)の利用料が馬鹿にならない

よくあるのが,最初にテスト段階で見積もっていたよりも単価が高いリソースが必要になるといったことです。予想外に高めのインスタンスタイプあるいはEBSが必要になると,当然ですがコストは跳ね上がっていきます。このあたりは自社運用の方が長期的に見た場合の追加コストを気にしなくて済むので,良いところでしょうか。
(ただし導入時にある程度余裕を持った構成にしておく必要はあります)

一方AWSでの最適化が実現できると…

AWSでのサーバ運用に慣れてきて,ある程度必要なリソースが見積もれる段階になってくると,EC2インスタンスを「リザーブドインスタンス」に変更したりオートスケーリングを導入したりすることで,運用コストを最適化できるようになります。
この点では自社運用でリソースの増減がたやすくできないことと比較すると,AWS に軍配が挙がるかもしれません。

今回の取り組みの概要

今回は “クラウドを利用する場合との違い” を意識して,あえて自社で大きくて重たい2Uサーバを運用することのメリットを最大限活かせるパターンを考え,根本的にリニューアルしたものを新しくリリースすることにいたしました。

そこでまずは「どういった用途または計画でサーバが必要な時に,物理サーバを導入することの意義を見いだせるのか」を考えました。安易にクラウドで実現しようとすると逆にコストがかかってしまったり,技術的に新しすぎるためにサービスとしてまだクラウドで提供されていなかったりすることは往々にしてあります(一般的には欧米よりもアジアの方がサービスのリリースが遅いようです)。自社運用で強みを活かせるサーバのあり方とは一体どのようなものでしょうか?

自社にサーバを設置して運用すること(オンプレミス)のメリット

いくつか考えられると思いますが,箇条書きで列挙してみましょう。

  • ハードウェアリソースを全て専有できる
  • 減価償却できる
  • 利用期間が長く必要なリソースが変わらない場合にコストを下げられる
  • 最新技術をいち早く取り入れることができる(10GBASE-T,Thunderbolt 3など)
  • 性質上どうしても外部には出せないデータを置くことができる(ネットワーク的に完全なクローズド環境)
  • ローカル環境だと圧倒的にネットワーク速度を稼げる(たやすく逼迫しづらい)

自社にサーバを設置して運用すること(オンプレミス)のデメリット

逆にデメリットとなる部分はどうでしょうか,こちらも箇条書きで列挙してみましょう。

  • まとまった初期導入費が必要になる(レンタルの場合はまた別)
  • デプロイまでのスピーディーさに欠ける(調達のリードタイムが長い)
  • スケールアップ・スケールダウンまたはスケールアウト・スケールインが柔軟にできない
  • CPU・メモリ等のハードウェアリソース変更の柔軟性ではクラウドに劣る
  • サーバ管理のための人的リソースが必要になる
  • クラウドのように「マネージドサービス」として気軽に導入できない
  • 数年ごとに更新を検討する必要がある
  • 大量のリソースを短期間で調達できない

…デメリットの方がパッと思いつきますね😂。
とはいえやはりここで挙げたように,クラウドと自社運用(オンプレミス)は相互補完的な関係にあることは明白だと言えそうです。

長期的な視点では意外と戦える?

一見するとあまりメリットが感じられなさそうな自社運用ですが,上で見たメリットとデメリットを総合してみると,「ローカル環境で最新技術をいち早く取り入れた上で,ある程度固定されたリソースを長期間独占的に利用し続けたい」場合に最も適していると言えそうです。

実際に実験用のファイルサーバを作ってみた

そこで,今回は新しい2UサーバにSambaをインストールし,高速10Gネットワークで利用する用途を想定してローカル環境に設置するファイルサーバを作ってみました。おそらくクラウドで作ろうとすると長期的に高額なコストがかかってしまう仕様です。PCの構成は以下のとおりです。

<サーバ側>
筐体:2Uラックマウント
CPU:12コア Intel Xeon Bronze 3104 1.70GHz
メモリ:128GB
ストレージ:Samsung 960 EVO M.2 MZ-V6E250B/IT(NVMe)
ネットワークインターフェース:Intel X722 10GBase-T LAN,Intel X557 10GBase-T LAN
OS:CentOS 7.4.1704
ミドルウェア:samba
-4.6.2-12.el7_4.x86_64,scsi-target-utils-1.0.55-4.el7.x86_64(iscsiサーバ)

<クライアント側>
VAIO VJS111D12N(Thunderbolt 3搭載モデル)

標準で10GBASE-T Ethernetを2基搭載

CPUも2基積めます

Sambaの設定

まずWindowsのファイル共有としてスタンダードなSambaサーバを構築してみます。作業手順はこちらのブログを参考にさせていただきました。

Windowsファイルサーバー構築(Samba)
https://centossrv.com/samba.shtml

iscsiの設定

比較用にiscsiサーバも構築してみました。作業手順はこちらのブログを参考にさせていただきました。

iscsiターゲットの設定
https://www.server-world.info/query?os=CentOS_7&p=iscsi&f=1

10GBASE-Tネットワークの構築

今回は以下のような構成で10Gネットワークを構築しました。

Thunderbolt 3変換の10Gアダプターは以下の写真のようにノートPCに繋げて使います。

弊社ではThunderbolt 2またはThunderbolt 3経由でノートPCでも10GBASE-Tが使えるアダプターを販売しています。

AKiTiO Thunder3 10G Network Adapter カテゴリ7 LANケーブルセット:Thunderbolt 3対応 10GBASE-T ネットワークアダプター
https://www.amulet.co.jp/products/AKiTiO/Thunder310GNetworkAdapter.html

AKiTiO Thunder2 10G Network Adapter カテゴリ7 LANケーブルセット:Thunderbolt 2対応 10GBASE-T ネットワークアダプター
https://www.amulet.co.jp/products/AKiTiO/Thunder210GNetworkAdapter.html

ベンチマークを取ってみた

WindowsのノートPCでSamba領域とiscsi領域をそれぞれマウントし,ドライブレターを付けた状態でCrystalDiskMarkによるベンチマークを取ってみました。パターンは以下の通りです。

①iscsi接続+Gigabit Ethernet

まずは通常のGigabit Ethernetでの結果です。こちらは読み書きともに理論値にせまるものです。ただSSDの速度が頭打ちになってしまっていて十分な恩恵を得られていません。。

②Samba接続+Gigabit Ethernet

こちらは読み書きともに理論値にせまるものです。ただ①と同様にSSDの速度が頭打ちになってしまっていて,こちらも十分な恩恵を得られていません。。

③iscsi接続+10GBASE-T Ethernet

いきなり速度が上がりました!読み書きともにSATA3接続のSSDを超える速度が出ています!これだけの高速ストレージがネットワーク越しに使えると,大容量ファイルの同期や移動もスムーズにできそうです。

ちなみにノートPCの内蔵SSDよりも早いことがわかりました。

④Samba接続+10GBASE-T Ethernet

こちらも驚くべき速度が出ました!実験してみて本当に驚きましたが,ほぼ10GBASE-T Ethernetの理論値と同等の速度が出ています!

10GBASE-TとM.2 NVMeのストレージを使うと,これほどまでに優秀なネットワークストレージが構築できるという結果となりました。

AKIBA PC Hotline!さんのこちらの記事もおすすめです!

10GbEとSSDでNASが10倍高速に、オールSSD NASで次世代の快適さを先取り!
https://akiba-pc.watch.impress.co.jp/docs/sp/1120714.html

まとめ

クラウドで長期的に実現しようとするとコストが非常に高くついてしまうことも,自社運用だと費用対高価を高められる事例をご紹介しました。

この記事で使った2Uラックマウントサーバ POWERSTEP 2Uと実験環境を今週5/7(月)〜5/18(金)まで店頭展示いたします。10Gネットワーク環境やサーバの自社運用に関心がありましたらぜひお気軽にお立ち寄り下さい。