インタビュアー: 大規模なファイルの分散ストレージを実現するにはどうすればよいでしょうか?

インタビュアー: 大規模なファイルの分散ストレージを実現するにはどうすればよいでしょうか?

[[344018]]

著者は、正確にスケジュールされたタスクと遅延キュー処理機能を備えた、高同時実行シナリオ向けのシンプルで安定したスケーラブルな遅延メッセージ キュー フレームワークを個人的に開発しました。半年以上前にオープンソース化されて以来、10 社を超える中小企業に正確でタイムリーなスケジューリング ソリューションを提供することに成功し、実稼働環境でのテストにも耐えてきました。より多くの人々の利益のために、オープンソース フレームワークのアドレスが次のように提供されます。

https://github.com/sunshinelyz/mykit-delay

序文

実稼働環境では、FastDFS の高可用性を実現し、大規模なファイルの分散ストレージを実現することが必要になることがよくあります。では、FastDFS の高可用性を実現するにはどうすればよいでしょうか?今日は、CentOS 8 サーバーをベースに FastDFS 高可用性クラスター環境を構築します。

サーバーバージョン

サーバーのカーネル バージョンを表示するには、サーバーのコマンド ラインに次のコマンドを入力します。

  1. [root@localhost lib]# cat /etc/redhat-release
  2. CentOS Linux リリース 8.1.1911 (コア)

クラスター内の各サーバーのカーネル バージョンはリリース 8.1.1911 (コア) であることがわかります。

サーバー計画

ここでは、合計 6 台のサーバー、つまり 2 台のトラッカー サーバー、4 台のストレージ サーバー (そのうち 2 台のストレージ サーバーはグループ 1、2 台のストレージ サーバーはグループ 2) を計画しています。詳細は以下の通りです。

  • トラッカーサーバー

トランカー1: 192.168.175.101

トラッカー2:192.168.175.102

  • ストレージサーバー

ストレージ1:192.168.175.103 グループ1

ストレージ2:192.168.175.104 グループ1

ストレージ3:192.168.175.105 グループ2

ストレージ4:192.168.175.106 グループ2

環境の準備

FastDFSをダウンロード

FastDFS をダウンロードするには、各サーバーで次のコマンドを実行します。

  1. [root@localhost ソース]# wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz
  2. [root@localhost ソース]# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz
  3. [root@localhost ソース]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz

インストール環境の依存関係

各サーバーで次のコマンドを実行して、FastDFS が依存する環境をインストールします。

  1. [root@localhost dest]# yum install gcc gcc-c++
  2. [root@localhost dest]# yum install libtool zlib zlib-devel openssl openssl-devel
  3. [root@localhost dest]# yum -y install pcre pcre-devel libevent libevent-devel perl unzip net-tools wget

FastDFSをインストールする

libfastcommonをインストールする

各サーバーで以下のコマンドを順番に実行します。

(1)libfastcommonの圧縮パッケージを解凍する

  1. [root@localhost ソース]# tar -zxvf V1.0.43.tar.gz

(2)コンパイルとインストール

  1. [root@localhost ソース]# cd libfastcommon-1.0.43/
  2. [root@localhost libfastcommon-1.0.43]# ./make.sh && ./make.sh インストール

(3)実行結果を確認し、インストールが成功したか確認する

  1. [root@localhost libfastcommon-1.0.43]# ls /usr/lib64|grep libfastcommon
  2. libfastcommon.so
  3.  
  4. [root@localhost libfastcommon-1.0.43]# ls /usr/lib|grep libfastcommon
  5. libfastcommon.so

fastdfsをインストールする

各サーバーで以下のコマンドを順番に実行します。

(1)fastdfsを解凍する

  1. [root@localhost ソース]# tar -zxvf V6.06.tar.gz

(2)fastdfsをインストールする

  1. [root@localhost ソース]# cd fastdfs-6.06/
  2. [root@localhost fastdfs-6.06]# ./make.sh && ./make.sh インストール

(3)fastdfsが正常にインストールされているか確認する

  1. [root@localhost fastdfs-6.06]# ls /usr/bin|grep fdfs
  2. fdfs_appender_テスト
  3. fdfs_appender_test1
  4. fdfs_append_file
  5. cfs_crc32 は、
  6. fdfs_delete_file
  7. fdfs_ダウンロードファイル
  8. fdfs_ファイル情報
  9. fdfs_モニター
  10. fdfs_regenerate_ファイル名
  11. fdfs_ストレージ
  12. fdfs_テスト
  13. 翻訳:
  14. fdfs_trackerd
  15. fdfs_アップロードアペンダー
  16. fdfs_アップロードファイル

トラッカーサービスをインストールして展開する

トラッカー設定ファイルをコピーする

2 つのトラッカー サーバーで、次のコマンドを順番に実行します。

  1. [root@localhost fastdfs-6.06]# cd /etc/fdfs/
  2. [root@localhost fdfs]# cp client.conf.sample client.conf
  3. [root@localhost fdfs]# cp tracker.conf.sample tracker.conf

注: これら 2 つのトラッカーはストレージとして使用されないため、storage.conf ファイルを生成する必要はありません。

Nginxをインストールする

2 つのトラッカー サーバーで、次のコマンドを順番に実行します。

注: fastdfs-nginx-module をトラッカーにインストールする必要はありません。

(1) Nginxを解凍する

  1. [root@localhost ソース]# tar -zxvf nginx-1.17.8.tar.gz

(2)nginx設定、http_stub_status_moduleモジュール

  1. [root@localhost fdfs]# cd /usr/ local /source/nginx-1.17.8/
  2. [root@localhost nginx-1.17.8]# ./configure --prefix=/usr/local/soft/nginx --with-http_stub_status_module  

(3)Nginxをコンパイルしてインストールする

  1. [root@localhost nginx-1.17.8]# make && make install

(4)インストールが成功したか確認する

  1. [root@localhost nginx-1.17.8]# ls /usr/ local /soft/ | nginxをgrep
  2. nginx

(5)指定されたコンパイルパラメータが有効かどうかを確認する

  1. [root@localhost fdfs]# /usr/ local /soft/nginx/sbin/nginx -V
  2. nginx バージョン: nginx/1.17.8
  3. gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)ビルド
  4. 設定引数: --prefix=/usr/local/soft/nginx --with-http_stub_status_module  

FastDFSの設定と起動

両方のトラッカーで FastDFS を構成して起動します。

(1)トラッカーサービスに必要なディレクトリを作成する

  1. [root@localhost fdfs]# mkdir /data/fastdfs
  2. [root@localhost fdfs]# mkdir /data/fastdfs/tracker
  3. [root@localhost fdfs]# chmod 777 /data/fastdfs/tracker

(2)トラッカーサービスを設定し、tracker.confファイルを変更する

  1. [root@localhost fdfs]# vi /etc/fdfs/tracker.conf

base_path の値を上記で作成したディレクトリに変更するだけです。

  1. ベースパス = /data/fastdfs/tracker

(3)トラッカーサービスを開始する

  1. [root@localhost fdfs]# /etc/init.d/fdfs_trackerd 開始

(4)トラッカーサービスが正常に起動されているか確認する

  1. [root@localhost fdfs]# ps auxfww | grep fdfs
  2. ルート 15067 0.0 0.0 12320 964 ポイント/0 S+ 15:14 0:00 | | \_ grep --color=auto fdfs  
  3. ルート 15026 0.0 0.1 90160 5940 ? Sl 15:13 0:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

注: fdfs_trackerd が表示される場合、トラッカー サービスが正常に開始されたことを意味します。

(5)トラッカーサービスがポート22122にバインドされているかどうかを確認する

  1. [root@localhost dest]# netstat -anp | grep 22122
  2. tcp 0 0 0.0.0.0:22122 0.0.0.0:* リッスン 15026/fdfs_trackerd

注: ポート 22122 は、/etc/fdfs/tracker.conf で次のように定義されています。

  1. # トラッカーサーバーのポート
  2. ポート = 22122

client.conf を設定する

両方のトラッカーで、fastdfs クライアントが使用する構成ファイルである client.conf を構成します。

(1)client.confを設定する

  1. [root@localhost fdfs]# vi /etc/fdfs/client.conf

次の2つの構成で使用されるトラッカーディレクトリとサーバーアドレスポート

  1. ベースパス = /data/fastdfs/tracker
  2. トラッカーサーバー = 192.168.175.101:22122
  3. トラッカーサーバー = 192.168.175.102:22122

注: 両方のトラッカーのclient.conf設定は同じです

(2)クライアントの設定から、クライアントはtracker_serverの情報のみを知る必要があることがわかります。トラッカーサーバーの役割は負荷分散とスケジューリングでもある

(3)ストレージサーバの機能はファイルを保存することである。クライアントによってアップロードされたファイルは、最終的にストレージ サーバーに保存されます。

テストファイル

テスト用のファイルをアップロードするには、client.conf を使用します。

(1)タッカーからファイルをアップロードする

  1. [root@0268c2dc2bf6 ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/a.txt

group1 が返されることに注意してください。この txt ファイルは、両方のマシンの group1 の下にあります。

  • ストレージ1
  1. [root@d5d19e99e782 docker_tmp]# ls /data/fastdfs/storage/data/00/00
  2. rBEABF5aTEeAXHF4AAAABHf4XZU792.txt
  • ストレージ2
  1. [root@f201111d0698 docker_tmp]# ls /data/fastdfs/storage/data/00/00
  2. rBEABF5aTEeAXHF4AAAABHf4XZU792.txt

(2)ファイルをアップロードするグループを指定する

特定のグループにアップロードしたい場合はどうすればいいでしょうか?例: グループ2にアップロード

  1. [root@0268c2dc2bf6 ~]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/a.txt 192.168.175.105:23000
  2. グループ2/M00/00/00/rBEABl5aUAqAXLCZAAAABHf4XZU043.txt

注: グループ2 内の任意のマシンの IP とポートを指定するだけです。

(3)効果を確認する

  • ストレージ3
  1. [root@494ac47d63f8 fdfs]# ls /data/fastdfs/storage/data/00/00
  2. rBEABl5aUAqAXLCZAAAABHf4XZU043.txt
  • ストレージ4
  1. [root@59fa1efff362 fdfs]# ls /data/fastdfs/storage/data/00/00
  2. rBEABl5aUAqAXLCZAAAABHf4XZU043.txt

ストレージサービスのインストールと展開

デフォルトの設定ファイルを生成する

4 つのストレージで、fastdfs を起動するためのデフォルトの構成ファイルを生成します。

  1. [root@localhost fastdfs-6.06]# cd /etc/fdfs/
  2. [root@localhost fdfs]# cp storage.conf.sample ストレージ.conf
  3. [root@localhost fdfs]# cp client.conf.sample client.conf

注: トラッカー サービスはストレージ上で実行されなくなったため、tracker.conf を生成する必要はありません。

Nginxをインストールする

4つのストレージにnginxとfastdfs-nginx-moduleをインストールする

(1) nginxを解凍する

  1. [root@localhost ソース]# tar -zxvf nginx-1.17.8.tar.gz

(2)fastdfs-nginx-moduleを解凍する

  1. [root@localhost ソース]# tar -zxvf V1.22.tar.gz

(3)設定ファイルを修正し、/usr/localを/usrに置き換える

  1. [root@localhost ソース]# cd fastdfs-nginx-module-1.22/
  2. [root@localhost fastdfs-nginx-module-1.22]# cd src
  3. [root@localhost src]# vi 設定

(4) Nginxの設定、fastdfs-nginx-moduleとhttp_stub_status_moduleモジュールを追加する

  1. [root@localhost fdfs]# cd /usr/ local /source/nginx-1.17.8/
  2. [root@localhost nginx-1.17.8]# ./configure --prefix=/usr/local/soft/nginx --with-http_stub_status_module --add-module=/usr/local/source/fastdfs-nginx-module-1.22/src/  

(5)nginxをコンパイルしてインストールする

  1. [root@localhost nginx-1.17.8]# make && make install

(6)インストールが成功したか確認する

  1. [root@localhost nginx-1.17.8]# ls /usr/ local /soft/ | nginxをgrep
  2. nginx

(7)指定されたコンパイルパラメータが有効かどうかを確認する

  1. [root@localhost fdfs]# /usr/ local /soft/nginx/sbin/nginx -V
  2. nginx バージョン: nginx/1.17.8
  3. gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)ビルド
  4. 設定引数: --prefix=/usr/local/soft/nginx --with-http_stub_status_module --add-module=/usr/local/source/fastdfs-nginx-module-1.22/src/  

ストレージサービスを設定して開始する

4台のストレージマシンでストレージサービスを設定して起動する

(1)ストレージサービスに必要なディレクトリを作成する

  1. [root@localhost fdfs]# mkdir /data/fastdfs/storage
  2. [root@localhost fdfs]# chmod 777 /data/fastdfs/storage/

(2)ストレージサービスの設定

ストレージ構成ファイルを編集します。

  1. [root@localhost fdfs]# vi /etc/fdfs/storage.conf

構成項目は次のとおりです。

  1. グループ名 = グループ1
  2. #上記で作成したストレージディレクトリへのbase_pathを設定します
  3. ベースパス = /data/fastdfs/storage
  4. #store_path: ストレージが配置されているディレクトリ。複数のパスを設定できます。 0から始まることに注意してください。
  5. store_path0 = /data/fastdfs/ストレージ
  6. #tracker_server の IP とポート
  7. トラッカーサーバー = 192.168.175.101:22122
  8. トラッカーサーバー = 192.168.175.102:22122
  9. #httpサービスのポートを指定する
  10. http.server_port = 80

構成の違い:

  1. 192.168.175.103 グループ名 = グループ1
  2. 192.168.175.104 グループ名 = グループ1
  3. 192.168.175.105 グループ名 = グループ2
  4. 192.168.175.106 グループ名 = グループ2

(3)ストレージサービスを開始する

  1. [root@localhost fdfs]# /etc/init.d/fdfs_storaged 開始
  2. fdfs_storaged を起動しています (systemctl 経由): [ OK ]

(4)ストレージサービスが正常に開始されているか確認する

  1. [root@localhost fdfs]# ps auxfww | grep fdfs
  2. ルート 15630 0.0 0.0 12320 972 ポイント/0 S+ 15:46 0:00 | | \_ grep --color=auto fdfs  
  3. ルート 15026 0.0 0.1 155696 6964 ? Sl 15:13 0:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
  4. ルート 15573 2.7 1.7 150736 66292 ? Sl 15:45 0:02 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

注: fdfs_storaged が表示される場合、ストレージ サービスが正常に開始されたことを意味します。

(5)ストレージサービスがポート23000にバインドされているかどうかを確認します。

  1. [root@localhost fdfs]# netstat -anp | grep 23000
  2. tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 15573/fdfs_storaged

注: ポート 23000 は、構成ファイル /etc/fdfs/storage.conf で次のように定義されています。

  1. # ストレージサーバポート
  2. ポート = 23000

fastdfs-nginx-module を設定する

4台のストレージサーバーでfastdfs-nginx-moduleを構成する

(1)設定ファイルの生成

  1. [root@localhost nginx-1.17.8]# cp /usr/ local /source/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/

(2)設定ファイルを編集する

  1. [root@localhost nginx-1.17.8]# vi /etc/fdfs/mod_fastdfs.conf

以下の項目を設定します

  1. グループ名=グループ1
  2. 接続タイムアウト=10
  3. トラッカーサーバー=192.168.175.101:22122
  4. トラッカーサーバー=192.168.175.102:22122
  5. url_have_group_name = true  
  6. store_path0=/data/fastdfs/ストレージ
  7. グループ数 = 2
  8.  
  9. [グループ1]
  10.  
  11. グループ名=グループ1
  12. ストレージサーバーポート=23000
  13. ストアパス数=1
  14. store_path0=/data/fastdfs/ストレージ
  15.  
  16. [グループ2]
  17.  
  18. グループ名=グループ2
  19. ストレージサーバーポート=23000
  20. ストアパス数=1
  21. store_path0=/data/fastdfs/ストレージ

注: 最上位の group_name: マシンが group1 に属している場合、値は group1 になります。マシンがグループ2に属している場合、値はグループ2になります。

説明: url_have_group_name = true。注意: この項目を忘れないでください。nginx が正しく動作しなくなります。

(3)他の2つのWebアクセス構成ファイルをfdfs構成ディレクトリにコピーします。

  1. [root@d5d19e99e782 /]# cp /usr/ローカル/source/fastdfs-6.06/conf/http.conf /etc/fdfs/
  2. [root@d5d19e99e782 /]# cp /usr/ローカル/source/fastdfs-6.06/conf/mime.types /etc/fdfs/

Nginx を設定する

4つのストレージサーバーでnginxを構成する

nginx 設定ファイルを編集します。

  1. [root@localhost conf]# vi /usr/ local /soft/nginx/conf/nginx.conf

サーバーリスン80のサーバー構成では、

場所を追加

  1. 場所 ~/グループ([0-9]) {
  2. ルート /data/fastdfs/storage/data;
  3. ngx_fastdfs_モジュール;
  4.  
  5. }

nginxを起動する

(1) Nginxを起動する

  1. [root@localhost ストレージ]# /usr/ local /soft/nginx/sbin/nginx

(2)nginxが正常に起動しているか確認する

  1. [root@localhost ストレージ]# ps auxfww | nginxをgrep
  2. ルート 24590 0.0 0.0 12320 980 ポイント/0 S+ 16:44 0:00 | | _ grep --color=auto nginx  
  3. ルート 24568 0.0 0.0 41044 428 ? Ss 16:44 0:00 \_ nginx: マスタープロセス /usr/ローカル/soft/nginx/sbin/nginx
  4. 誰もいない 24569 0.0 0.1 74516 4940 ? S 16:44 0:00 \_ nginx: ワーカープロセス

トラッカーサービスの設定

トラッカーサービスの設定

注: この手順は、4 つのストレージ サーバーの構成が完了した後に実行する必要があります。アップストリームの負荷分散に Nginx を使用する理由は、1 つのアドレスを通じてバックエンド上の複数のグループにアクセスするためです。

(1)ファイルをアップロードしたら、ブラウザから各ストレージのNginxにアクセスします。

例えば:

  1. http://192.168.175.103/group1/M00/00/00/rBEABF5aTRiAEuHwAAAABHf4XZU322.txt
  2. http://192.168.175.104/group1/M00/00/00/rBEABF5aTRiAEuHwAAAABHf4XZU322.txt
  3. http://192.168.175.105/group2/M00/00/00/rBEABl5aUAqAXLCZAAAABHf4XZU043.txt
  4. http://192.168.175.106/group2/M00/00/00/rBEABl5aUAqAXLCZAAAABHf4XZU043.txt

注: 各ストレージ サーバーの IP アドレスの後に、アップロード時に返されるアドレスが続きます。注意: 各マシンが属するグループにのみアクセスできます。

  • 統一されたIPアドレスでアクセスしたい場合
  • Nginxのアップストリームを介してバックエンドマシンにアクセスする必要がある
  • このNginxはトラッカー上で実行されるはずです

(2)nginx.confを設定する

  1. [root@0268c2dc2bf6 ~]# vi /usr/ローカル/soft/nginx/conf/nginx.conf

コンテンツ:

バックエンドストレージにアップストリームを追加します。

  1. アップストリーム fdfs_group1 {
  2. サーバー 192.168.175.103:80 重み=1 max_fails=2 fail_timeout=30s;
  3. サーバー 192.168.175.104:80 重み=1 max_fails=2 fail_timeout=30s;
  4. }
  5.  
  6. アップストリーム fdfs_group2 {
  7. サーバー 192.168.175.105:80 重み=1 max_fails=2 fail_timeout=30s;
  8. サーバー 192.168.175.106:80 重み=1 max_fails=2 fail_timeout=30s;
  9. }

グループによる URL の処理

  1. 場所 /group1 {
  2. proxy_next_upstream http_502 http_504 エラー タイムアウト invalid_header;
  3. proxy_pass http://fdfs_group1;
  4. 有効期限は30日です。
  5. }
  6.   
  7. 場所 /group2 {
  8. proxy_next_upstream http_502 http_504 エラー タイムアウト invalid_header;
  9. proxy_pass http://fdfs_group2;
  10. 有効期限は30日です。
  11.  
  12. }

(3)テストを再開する

  1. [root@0268c2dc2bf6 ~]# /usr/ローカル/soft/nginx/sbin/nginx -s 停止
  2. [root@0268c2dc2bf6 ~]# /usr/ローカル/soft/nginx/sbin/nginx

ブラウザでアクセス:

  1. http://192.168.175.101/group1/M00/00/00/rBEABF5aTRiAEuHwAAAABHf4XZU322.txt
  2. http://192.168.175.101/group2/M00/00/00/rBEABl5aUAqAXLCZAAAABHf4XZU043.txt

この記事はWeChatの公開アカウント「Glacier Technology」から転載したものです。下のQRコードからフォローできます。この記事を転載する場合は、Glacier Technology 公式アカウントまでご連絡ください。

<<:  シナジーリサーチ:クラウドサービスプロバイダーの収益は今年上半期に20%増加

>>:  クラウド コンピューティングの支出を管理する 7 つの方法

推薦する

10 ドル以下の安価な米国 VPS の概要 (追加歓迎)

昨今、VPS に対する人々の要求はますます高くなっています。特に中国人の VPS に対する要求は、ト...

Baidu がゲーム事業を売却し、間もなく一連の「一掃」レイオフを開始することが明らかになりました。

最近、百度が諾米と食品配達事業を売却しようとしているとの噂が流れている。しかし、このニュースの出所と...

シェア: QQ2015 を使って友好的なリンクを交換する方法

3か月後、QQはTencentによって恥ずかしげもなくアップグレードを強制されました。バージョンはQ...

クラウドベース: US サーバー、最低 100M CN2 GIA、50~500G 防御、CC/カスタマイズ可能な防御ルールを無視、10 分配信

Yunbaseは主に国内外で高防御独立サーバーを提供しており、CN2 GIAなどのトップレベルの高速...

ウェブマスターのおすすめ: 使いやすく信頼性の高い「外国の仮想ホスト」 - 共有ウェブホスティング

昨今、VPS(クラウドサーバー)などの製品が大変人気ですが、かつての王者であった仮想ホスティング(安...

vps777: 新しいサーバー、VPS は年間 20 ドルのみ、1G メモリ/1 コア/10g SSD/ロサンゼルス

vps777は2017年に設立された新しい事業で、米国に登録されているそうです。現在はCCコンピュー...

運営者やプロモーター向けの実践的なヒント:実践的な SEO 最適化とプロモーション プラン!

SEO 初心者の多くは、「SEO では何をすべきか、どのように行うべきか」という問題に直面すると思い...

モバイル決済が活発化:Google が検索部門の従業員を Google Wallet にリダイレクト

Google ウォレット新浪科技報、北京時間10月9日朝のニュース、米国のテクノロジーブログBusi...

モバイルインターネットコンテンツマーケティングの新しいルール

この記事では、ネイティブ広告がインターネットとモバイル インターネットにもたらした変化について説明し...

トラフィックを実際の売上に変える方法

トラフィックの多いウェブサイトは多くの収益をもたらすことは誰もが知っていますが、トラフィックを収益に...

gigsgigscloud-28USD/年/シンガポールKVM/512MB RAM/20GB SSD/500GB 帯域幅

gigsgigscloudは中国人が運営するVPSブランドです。同社は香港に登録されています[TEC...

初心者ウェブマスターのためのリンクベイトの作り方

リンク ベイト、ウェブマスターはみんなリンク ベイトについて聞いたことがあるでしょうが、どうやって作...

360時間から4時間に短縮、Anji Intelligenceが倉庫の在庫管理を効率化

人工知能とモノのインターネットの技術的な組み合わせの助けを借りて、倉庫管理の効率はどの程度向上できる...

草の根ウェブマスターがウェブサイトの構築とタオバオから得た経験と教訓について語る

最近、一般消費者にとって、タオバオでは2つの大きなイベントがありました。どちらも嬉しいイベントです。...

データの活用: マルチクラウド統合の課題への対応

ほとんどの企業は、計画に含まれていたかどうかにかかわらず、マルチクラウド環境を管理していることになり...