vzの尺なblog

〜まだ 1 epoch 目〜

GeekBench4

GeekBench4の使い方メモです。

GeekBench4について

概要

www.geekbench.com

に有る通り、クロスプラットフォームスマートフォン版もあります。また、ベンチマーク結果を同社の「GeekBench Browser」で共有でき、比較する為の指標があるのもよいです。

無料(トライアウト)版だと、

といった制限が付きますが、CPUとOpenCLベンチマークがとれるので結構使えます。

料金

有料版は、ユーザーライセンスで以下の料金体系。

ライセンス 料金
USD
W
i
n
M
a
c
L
i
n
u
x








CPU
Bench
OpenCL
Bench
Metal
Bench
CUDA
Bench








①Pro版 $99.99
②for Mac
Win/Linux
全て版
$14.99
③for Mac
のみ版
$9.99
④for Winowows
のみ版
$9.99
⑤for Linux
のみ版
$9.99
⑥TryOut版
(無料)
x

※Pro版はこの他にツールが使えたりする。
※Metal/OpenCL/CUDAはそれどれのAPIを使ったGPUベンチマークです。
※MetalはAppleAPI (Mac/iPhoneなどで使うやつ)
OpenCLは、ヘテロジニアス(マルチCPU/GPUDSPなど混合した環境)の標準規格
※CUDAはNVIDIAAPI(実質的に業界標準GPGPU環境)

自分はスマートフォンの性能をあまり気にしたことないのでスマートフォン版は買ってません。 主に、CUDAのベンチマークや、クラウドVMインスタンスベンチマークで使う想定で②を買いました。 ユーザーライセンスなのがよいですよね・・・(マシンライセンスではなく)。

使い方

Linux

インストール(ダウンロードして解凍するだけ)

以下は現段階での最新バージョン

wget http://cdn.geekbench.com/Geekbench-4.3.0-Linux.tar.gz; \
tar xvfz Geekbench-4.3.0-Linux.tar.gz; \
cd Geekbench-4.3.0-Linux/; \

ライセンスアクティベーション

購入すると登録したメアドにライセンスキーが送られてくるのでそれを使ってアクティベートします。

トライアウトで実行すると最初に、

If you have already purchased Geekbench, enter your email address and license 
key from your email receipt with the following command line:

  ./geekbench4 -r <email address> <license key>

とでるが、以下のどっちでも大丈夫。

./geekbench4 -r "登録したメアド"  "License Key"
./geekbench4  --unlock "登録したメアド"  "License Key"

CPUベンチマーク(--cpu)

デフォルトでこれなので、--cpuなしでもOK.

./geekbench4 --cpu

Computeベンチマーク( --compute)

デフォルトだとOpenCL--compute CUDA でCUDAのベンチマークがとれるが有料登録が必要。

./geekbench4  --compute

Computeのデバイス表示(--compute-list)

plathome id と device id が表示される。

$ ./geekbench4 --compute-list
CUDA
0 0 GeForce GTX 750 Ti
OpenCL
0 0 GeForce GTX 750 Ti

Computeのデバイス指定(--compute-platform-id / --compute-device-id )

デフォルトだと両方0指定になる。

./geekbench4 --compute --compute-platform-id 0 --compute-device-id 0

CPU / OpenCL / CUDAをベンチマークを取る

echo "Start GeekBench cpu opencl cuda"; \
./geekbench4 --no-upload --export-html ./result_cpu.html; \
./geekbench4 --compute --no-upload --export-html ./result_compute_OpenCL.html; \
./geekbench4 --compute CUDA --no-upload --export-html ./result_compute_CUDA.html; \

ヘルプ(-h) アクティベート前

./geekbench4 -h
Geekbench 4.3.0 Tryout : http://www.geekbench.com/

Usage:

  ./geekbench4 [ options ]

Options:

  -h, --help                print this message
  --unlock EMAIL KEY        unlock Geekbench using EMAIL and KEY
  --load FILE               load and display Geekbench result from FILE
  --save FILE               save Geekbench result to FILE
  --cpu                     run the CPU benchmark
  --arch ARCH               run benchmarks or tests for ARCH architecture
                            ARCH can be one of: 32bit, 64bit
  --sysinfo                 display system information and exit

  --compute [API]           run the Compute benchmark
                              API can be one of: CUDA, OpenCL (default)
  --compute-list            list available compute platforms, devices and exit
  --compute-platform-id ID  use compute platform ID (default is 0)
  --compute-device-id ID    use compute device ID (default is 0)

  If no options are given, the default action is to run the CPU benchmark.

ヘルプ(-h) アクティベート後

機能が増えてる。

 ./geekbench4 -h
Geekbench 4.3.0 : http://www.geekbench.com/

Usage:

  ./geekbench4 [ options ]

Options:

  -h, --help                print this message
  --unlock EMAIL KEY        unlock Geekbench using EMAIL and KEY
  --load FILE               load and display Geekbench result from FILE
  --save FILE               save Geekbench result to FILE
  --export-csv FILE         export Geekbench result as CSV to FILE
  --export-html FILE        export Geekbench result as HTML to FILE
  --export-json FILE        export Geekbench result as JSON to FILE
  --export-text FILE        export Geekbench result as text to FILE
  --upload                  upload results to the Geekbench Browser
  --no-upload               do not upload results to the Geekbench Browser
  --cpu                     run the CPU benchmark
  --arch ARCH               run benchmarks or tests for ARCH architecture
                            ARCH can be one of: 32bit, 64bit
  --sysinfo                 display system information and exit

  --compute [API]           run the Compute benchmark
                              API can be one of: CUDA, OpenCL (default)
  --compute-list            list available compute platforms, devices and exit
  --compute-platform-id ID  use compute platform ID (default is 0)
  --compute-device-id ID    use compute device ID (default is 0)

  If no options are given, the default action is to run the CPU benchmark.

Windows

GUIなので説明不要かと思います。以下はCUDAベンチの結果の画面です。 f:id:vz-shark:20181013004831p:plain

Mac

これはMac版を起動した直後の画面です。 f:id:vz-shark:20181013004834p:plain

ー以上ー

鯖ラー  第4回「計量」※随時更新中

VMインスタンスの情報収集するためのメモです。
まるで獲ってきた鯖の計量をするかのの如く・・・

情報収集用コマンド

UnixBenchとlscpuなどを使って情報収集するためのものです。シェルスクリプトではなくターミナルにコピペする形式です(scpとかwgetとか面倒くさい)。なにか後から気づいたら随時更新してきます。

echo ""; \
echo "====================="; \
echo " measurement for Ubuntu"; \
echo "====================="; \
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>> update"; \
sudo apt -y update; \
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>> listing"; \
cd ~/; \
echo -en "-----lscpu ----------------\n" > ls_result.txt; \
lscpu >> ls_result.txt; \
echo -en "\n\n\n\n" >> ls_result.txt; \
echo -en "-----cat /proc/puinfo------\n" >> ls_result.txt; \
cat /proc/cpuinfo >> ls_result.txt; \
echo -en "\n\n\n\n" >> ls_result.txt; \
echo -en "-----lspci-----------------\n" >> ls_result.txt; \
lspci >> ls_result.txt; \
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>> UnixBench"; \
cd ~/; \
sudo apt install -y wget gcc make build-essential; \
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz; \
tar xvfz UnixBench5.1.3.tgz; \
cd UnixBench; \
./Run; \
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>> tarball"; \
cd ~/; \
tar cvf unixbench_result.tar ./UnixBench/results; \
tar cvfz result.tgz ls_result.txt unixbench_result.tar; \
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>> scp message"; \
cd ~/; \
scpstr="$ scp "; scpstr+=$USER; scpstr+="@"; scpstr+=$( echo $SSH_CONNECTION | cut -d' ' -f3 ); \
scpstr+=":"; scpstr+=$PWD; scpstr+="/result.tgz ./"; \
echo -en "Please scp from local...  (add \"-i privatekey\" if necessary)\n   "; \
echo $scpstr; \

GeekBench

  • GeekBench4はTryoutだと結果がサーバーに送られるみたいです。
  • TryoutでもCPUとOpenCLベンチマークが取れます。
  • CUDAのベンチは有料登録が必要みたいです。

有料版にしようかと迷いました所。今後GPUインスタンスも使う予定だしCUDAのベンチマークも取りたいので買いました。

詳細は以下の別記事にしました。 vz-shark.hatenablog.com

CentOS

CentOSでのUnixBenchをした時のメモ

yum install make gcc perl perl-Time-HiRes; \
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz; \
tar xvfz UnixBench5.1.3.tgz; \
cd UnixBench/; \
./Run; \

環境

  • 基本的にUbuntu18.04LTS
  • GeekBench 4.3.0

〜続く〜

鯖ラー  第3回「沿岸漁業」

海外の鯖屋さんのうち、日本リージョンがあるものを試してみる。
まるで遠洋から日本近海へと回遊してきた鯖を獲る沿岸漁業の如く・・・

  • 大手(AWS/GCP/Azuru)は沢山情報があるので今回は扱わないことにする。次回以降に気になるサービスをピックアップして試していこうと思う。

  • 今回は比較的情報が少なめな、海外の会社のサービスで、日本リージョンがあるものの中から、割安なものをターゲットにする。


鯖屋さんを探す

ここで鯖屋さんを探す。
VPS Comp

vCPU1以上、Ram2GB以上で、検索すると f:id:vz-shark:20181011003358p:plain

Vultr / Linode / ConoHa の3つめぼしいのがある。このうち ConoHa は日本のGMOVPSなので国産鯖。今回の趣旨から外れるので対象外にする。いつか「国産鯖の回」をやるときにとっておこう・・・
VultrLinodeも1core/2GBで$10のプランがあるので比較しやすい。


Vultr

全般

  • 言語は英語。通貨は米ドル
  • 料金はバンドル(Cpu/Ram/Strage/Transfer)タイプ。
  • all intel cpu , full ssd storage とのこと
  • リージョンは、アメリカ、ヨーロッパ、アジア、オーストラリアで15データセンター全て均一料金。
  • Asiaは、東京とシンガポール
  • クレジットカードは、JCBブランドが使えななかった。今回はPayPalで登録。

管理コンソールUI(Web)について

  • 機能が少ない分、シンプルで解りやすい。
  • ブラウザからVMのコンソールへ接続機能あり。
  • モニタ機能(Usage Graphs)あり。
  • VMへのSSH公開鍵の登録がインスタンス作成時のみしかできなかった。作成時に鍵登録を忘れるとパスワードベースでのログインになる。後で、手動でキーを登録する必要があった。

機能について

機能
  • DNS機能あり
  • IPv6対応
  • WebAPI対応
  • イメージは、各種LinuxWindowsがある。
  • アプリケーションイメージ(wordpress/LAMP/Docker/etc)が用意されている。
  • ISOイメージをアップロードしたり、用意されているISOからからDeployできる。
  • 環境構築を自動化するStartupScript機能がある。
  • Vultrの広告を出して収益化する機能がある。
  • VPSの他BareMetal / Strage / 専有サーバ がある。
バックアップ
  • スナップショットは今の所フリー。あとで有料にかわるかもしれない。とのこと
  • 自動バックアップは別途2$/mo
負荷管理
  • ロードバランサなし
  • ストレスアラームなし。
  • Quota機能なし
  • WatchDog機能なし
セキュリティ
  • 2段階認証あり。
  • DDOS Protection は、今の所東京ではない。
  • Firewall機能あり(初期設定ではOFFなのでWebコンソールから設定)
性能
  • 比較表参照。


Linode

全般

  • 言語は英語。通貨は米ドル
  • 料金はバンドル(Cpu/Ram/Strage/Transfer)タイプ。
  • High performance SSD Linux servers for all of your infrastructure needs. とのこと
  • SSD strage, Intel E5 Processors, 40Gbit Network
  • リージョンは、アメリカ、ヨーロッパ、アジアで9データセンター全て均一料金。
  • Asiaは、東京 とシンガポール
  • クレジットカードは、JCBブランドが使えななかった。今回はMasterで登録。
  • サインアップ時に少額のデポジット必要。(今回は一番少ない$5)

管理コンソールUI(Web)について

  • 機能が少ない分、シンプルで解りやすい。
  • ブラウザからVMのコンソールへ接続機能あり。
  • モニタ機能(Usage Graphs)あり。
  • VMへのSSH公開鍵の登録がWebコンソールからできなかった。初期設定ではパスワードベースでのログインになる。後で、手動でキーを登録する必要があった。

機能について

機能
  • DNS機能あり
  • IPv6対応
  • WebAPI対応
  • イメージは、各種Linuxのみ。Windowはない。
  • アプリケーションイメージはない。
  • 環境構築を自動化するStackScript機能がある。
  • BootLoaderのカスタム機能あり。(今回はubuntu選択なのでGrub2)
  • Rescueモードあり
バックアップ
  • バックアップ機能あり
    $2.5/mo。自動3世代ローテーション。1つのユーザースナップショット。
負荷管理
  • ロードバランサあり。別途$20/mo
  • ストレスアラームあり。(CPU/DISK/Traffic)
  • Quota機能あり(Transfer)
  • WatchDog機能あり(reboot)
セキュリティ
  • 2段階認証あり。
  • DDOS Protection はない。
  • Firewall機能も見当たらなかった。
性能
  • 比較表参照。

比較表

今回は同じ$10/monのプランで、インスタンスも同等、料金体系も同じなので比較表にした。

項目 vultr linode
サイト https://my.vultr.com/ https://www.linode.com/
プラン 40GB SSD Linode 2GB
リージョン Tokyo, Asia Tokyo2, Asia
インスタンス 1vCPU, 2GB(RAM), 40GB(SSD), 2TB(Transfer) 1vCPU, 2GB(RAM), 50GB(SS), 2TB(Transfer)
料金 $10/mo(CPU/RAM/Strage/Transfer バンドルタイプ) $10/mo(CPU/RAM/Strage/Transfer バンドルタイプ)
GeekBench スコア Single-core 3375 / Multi-core 3288 Single-core 2667 / Multi-core 2458
GeekBench Result https://browser.geekbench.com/v4/cpu/10297115 https://browser.geekbench.com/v4/cpu/10297094
UnixBench スコア 1150.9 915.3
OSイメージ Windows/linuxあり Linuxのみ
アプリイメージ アプリのイメージあり。 アプリのイメージない。
バックアップ あり。$2/mo あり。$2/mo
負荷管理 なし ロードバランサあり。別途$20/mo ストレスアラームあり(CPU/DISK/Traffic)。 Quota機能あり(Transfer)。 WatchDog機能あり(reboot)。
セキュリティ 2段階認証あり。 DDOS Protection は今の所東京ではない 。 Firewall機能あり(初期設定ではOFF)。 2段階認証あり。 DDOS Protection はない。 Firewall機能は見当たらなかった 。


結果

Vultrのスペックが結構よいので暫くこれを使うことにしました。Webコンソールのデザインもシンプルで好みです。
結構気に入ったので最後にバナーでも貼っときます。


〜続く〜

netcat(nc)コマンド

なにかと便利なnetcatの覚書です。


全般

コマンド名について

ncでもnetcatでも同じ。リンク先が一緒。以下はubuntuでの結果。

$ ls -la /bin/nc /bin/netcat /etc/alternatives/nc /etc/alternatives/netcat /bin/nc.openbsd
lrwxrwxrwx 1 root root    20  9月 15 23:58 /bin/nc -> /etc/alternatives/nc
lrwxrwxrwx 1 root root    24  9月 15 23:58 /bin/netcat -> /etc/alternatives/netcat
lrwxrwxrwx 1 root root    15  9月 15 23:58 /etc/alternatives/nc -> /bin/nc.openbsd
lrwxrwxrwx 1 root root    15  9月 15 23:58 /etc/alternatives/netcat -> /bin/nc.openbsd
-rwxr-xr-x 1 root root 35312  5月 14 21:24 /bin/nc.openbsd

Verbose(-v)について

-vオプションがないと挙動ががわからない時があるので常に付与しておいたほうがよさそう。以下はその例。

# -v オプションがないと何も表示されず。うまく繋がったかわからない。
$ nc 127.0.0.1 1235
$
# -v オプションを付与すると把握できる。
$ nc -v 127.0.0.1 1235
nc: connect to 127.0.0.1 port 1235 (tcp) failed: Connection refused
$

IPのバージョンの明示( -4 / -6 )

$ nc -v -4 127.0.0.1 3000  # IPv4 127.0.0.1(localhost) の TCPポート3000へ接続
$ nc -v -6 ::1 3000        # IPv6 ::1(localhost) の TCPポート3000へ接続

ローカルの IPの明示( -s) と ポートの明示(-p) ※1

※1 v1.10-41 では、サーバー(-l)動作時に、ローカルIPとPORTを明示しないと動作しなかった。(2018/10/17)

$ nc -vl -s 127.0.0.1 -p 3000  # 127.0.0.1のTCPポート3000でリッスン

環境について

  • Ubuntu 18.04 LTS
  • netcat (Debian patchlevel 1.187-1ubuntu0.1)


TCP関係

TCPクライアント

$ nc -v 127.0.0.1 1234    # 127.0.0.1(localhost) の TCPポート1234へ接続

TCPサーバ(-l) ※1

$ nc -v -l 127.0.0.1 1234     # 127.0.0.1でbindしてTCPポート1234をリッスン
$ nc -v -l 0.0.0.0 1234       # 0.0.0.0(anywhere)でbindしてTCPポート1234をリッスン

TCPサーバで複数セッション(-k) ※1

上記の-lオプションだけだと、1セッションのみ受け付ける挙動となりセッションが切れるとnetcatプロセスも終了する。-kオプションも付与すると同時に複数セッションを受け付けるようになる。

$ nc -v -l -k 127.0.0.1 1234

TCPクライアント/サーバーの実行時の様子 ※1

①サーバ側でコマンド実行
②クライアント側でコマンド実行
③クライアント側からキーボード入力
④サーバー側からキーボード入力
⑤クライアンの側でCTL-Cで終了

【 サーバー側ターミナル】

①$ nc -v -l 127.0.0.1 1234
①Listening on [127.0.0.1] (family 0, port 1234)
②Connection from localhost 52710 received!
③1.from client
④2.from server
⑤$ 

【 クライアント側ターミナル】

②$ nc -v 127.0.0.1 1234
②Connection to 127.0.0.1 1234 port [tcp/*] succeeded!
③1.from client      
④2.from server
⑤^C
⑤$ 

http GET リクエス

$ echo -en "GET / HTTP/1.1\n\n" | nc -v 127.0.0.1 80

ポートスキャン(-z)

$ nc -v -z 127.0.0.1 1-65535


UDP関係

UDPクライアント(-u)

$ nc -v -u 127.0.0.1 5678    # 127.0.0.1(localhost) の UDPポート5678へ接続

UDPサーバ(-lu) ※1

$ nc -v -l -u 127.0.0.1 5678     # 127.0.0.1でbindしてUDPポート5678をオープン
$ nc -v -l -u 0.0.0.0 5678       # 0.0.0.0(anywhere)でbindしてUDPポート5678をオープン

※1 v1.10-41 では、サーバー(-l)動作時に、ローカルIPとPORTを明示しないと動作しなかった。(2018/10/17)

UDPクライアント/サーバーの実行時の様子 ※1

①サーバ側でコマンド実行
②クライアント側でコマンド実行(echoでパイプ入力)
③クライアンの側でCTL-Cで終了

【 サーバー側ターミナル】

①$ nc -v -l -u  0.0.0.0 5678
①Listening on [0.0.0.0] (family 0, port 5678)
②Connection from localhost 33959 received!
②XXXXX
②UDP test data sendding...
② from client

【 クライアント側ターミナル】

②$ echo -en "\nUDP test data sendding...\n from client\n" | nc -v -u 127.0.0.1 5678
②Connection to 127.0.0.1 5678 port [udp/*] succeeded!
③^C
③$ 



【注釈】
※1 v1.10-41 では、サーバー動作時に、ローカルIPとPORTを明示しないと動作しなかった。

ー以上ー

鯖ラー  第2回「 選別」

各社が提供しているVMの品定めをしつつ相場や料金体系を把握していく。まずは予算範囲内で大まかにスペックや価格を比べる。
まるで獲ってきた鯖を選別するかの如く・・・

条件

月額1000〜2000円ぐらいを目処に各社のサービスをスクリーニングする。世界の大手3社(アマゾン、グーグル、マイクロソフト)、国内老舗(サクラ)、格安(DigitalOcean/Linode/Scaleway)を対象とした。 また、外貨決算のサービスは、現在(2018/10/09)の為替レートで円換算している。米ドル( $1 / 113.74円)、ユーロ(€1 / 131.18円)。
※root権限不要であれば、月数百円からホスティングできてしまう・・・(XServer/ロリポップなど沢山ある)。しかしそれでは、鯖ラーではなくなってしまう。鯖ラーというからにはroot権限は必須だ。


集計

No ベンダー VMモデル CPU メモリ ストレージ Internet 通貨 月額 (円) 初期 (円) 公表スペック
1 Amazon AWS *1 t3.micro 2 vCPU 1GB 従量制*1 従量制*1 米ドル 864 0 2.5 GHz Intel SkylakeP-8175
2 t3.small 2 vCPU 2GB 1727 0
3 t3.mediam 2 vCPU 4GB 3454 0
4 Google GCP *2 f1-micro 0.2 vCPU 0.6GB 30GB無料枠*2 従量制*2 米ドル 441 0 vCPU共用(20%)
5 g1-small 0.5 vCPU 1.7GB 1493 0 vCPU共用(50%)
6 n1-standard-1 1 vCPU 3.75GB 2760 0 不明
7 Microsoft Azure *3 B1S 1 vCPU 1GB 従量制*3 従量制*3 日本円 858 0 不明
8 B1MS 1 vCPU 2GB 1692 0
9 B2S 2 vCPU 4GB 3433 0
10 サクラ のVPS*4 1G 2 vCPU 1GB 30G(SSD) or 100GB(HDD) 無制限 日本円 976 1620 不明
11 2G 3 vCPU 2GB 50G(SSD) or 200GB(HDD) 1706 2160
12 Digital Ocean*5 Standard 1x1 1 vCPU 1GB 25GB(SSD) 1TB 米ドル 569 0 噂:Xeon
13 Standard 1x2 1 vCPU 2GB 50GB(SSD) 2TB 1137 0
14 Standard 1x3 1 vCPU 3GB 60GB(SSD) 3TB 1706 0
15 Standard 2x2 2 vCPU 2GB 60GB(SSD) 3TB 1706 0
16 Standard 3x1 3 vCPU 1GB 60GB(SSD) 3TB 1706 0
17 Linode *6 Nanode 1GB 1 vCPU 1GB 25GB(SSD) 1TB 米ドル 569 0 intel Xeon E5
18 Linode 2GB 1 vCPU 2GB 50GB(SSD) 2TB 1137 0
19 Linode 4GB 2 vCPU 4GB 80GB(SSD) 4TB 2275 0
20 Scaleaway *7 1-XS 1 vCPU 1GB 25GB(SSD) 無制限 ユーロ 261 0 噂:Atom
21 1-S 2 vCPU 2GB 50GB(SSD) 無制限 523 0
22 1-M 4 vCPU 4GB 100GB(SSD) 無制限 1048 0
23 1-L 8 vCPU 8GB 200GB(SSD) 無制限 2098 0
  1. AWS特記・・・アイオアリージョン/オンデマンド料金/ストレージ参考価格:sc1(HDD) $0.025 1GB/mon〜 / インターネットトラフィック参考価格:上り無制限、下り$0.09/1GB、1GBまで無料。リージョン間トラフィック別途 /リザーブド(1年・3年)割引あり
  2. GCP特記・・・アイオアリージョン/継続利用割引1ヶ月を適用/ストレージ参考価格:標準永続$0.04 1GB/mon〜/インターネットトラフィック参考価格:上り無制限、下り$0.12 /1GB。リージョン間別途 / AllwaysFree枠あり1xf1-micro、30x1GB/月、他。/確定利用割引あり(1年・3年)
  3. Azuru特記・・・東アメリカリージョン/ストレージ参考価格:S4 32GB(HDD) 172円/月。一時ディスクは計上していない。/インターネットトラフィック参考価格:上り無制限、下り9.75円/1GB、5GBまで無料 / 時間従量制で計算。/リザーブド(1・3年)割引あり
  4. サクラのVPS特記・・・初期費用あり/東京・石狩1・石狩2からデータセンター選択可能。/バンドルタイプ(Cpu/Ram/Strage/Transfer)料金体系で、ネットワーク無制限、ストレージはSSDとHDDのどちらかを選択/年間契約割引あり/VPSの他サクラのクラウドがラインナップ。今回は割安なサクラのVPSで比較)
  5. DigitalOcean特記・・・12リージョン全て値段同じ。最寄はシンガポール / バンドルタイプ(Cpu/Ram/Strage/Transfer)料金体系
  6. Linode特記・・・9 Datacenters/3 Regions 、東京あり、全リージョン均一料金 / バンドルタイプ(Cpu/Ram/Strage/Transfer)料金体系
  7. Scaleway特記・・・Startプラン x86-64/ リージョンはフランスのみ(パリ・アムステルダム) / バンドルタイプ(Cpu/Ram/Strage/Transfer)料金体系で、ネットワークは無制限 / フランスの会社だが世界向けて英語でサービス展開。決算はユーロ。

  8. 無料枠については期限付きのものは対象外としている。

  9. 料金は月額=730時間で計算。月単位割引があるものは適用した値段を計上。
  10. 基本的にマシンタイプは、汎用/ベーシックタイプを選択。OSは追加料金不要なLinux選択。


結果

上記の表にまとめた。以下に気になった点をあげてみる。

  • 各社vCPUの個数だけでCPUスペックの詳細はあまり公表されていない。
  • 基本的にAMD64(X86-64bit)アーキテクチャIntelXeon等のサーバー向けCPU。ScalewayはAtomプロセッサ(噂)
  • ストレージとネットワークに関しては従量制の料金体系と、CPU/メモリとバンドルされているタイプの2種類の料金体系がある。
  • サクラは初期費用がかかる。
  • GCPのAllwaysFree枠でf1-microインスタンスが無期限で実質無料で使えそう。
  • 各社サインアップ時に期限付きの無料枠のキャンペーンをしている。
  • 各社1年・3年契約などの長期割引制度がある。
  • AWSスポットインスタンスGCPプリエンプティブインスタンスのように、リソースの空き時間活用した大幅値引き制度がある
  • GPUインスタンスの提供は、AWS/GCP/Azure/サクラ(高火力)。
  • TPUインスタンスの提供は、GCPのみ。
  • FPGAインスタンスの提供は、AWSのみ。
  • Armアーキテクチャインスタンス提供は、Scalewayのみ。
  • 大手3社はやはり強力な印象。個人の小規模なサイトから世界最大規模までスケール可能。そしてなんと言っても魅力的なのは、その会社が抱えるインフラ/最先端のコンピューティング(特に力が入っている、AI関連のサービスなど)の恩恵を受けられる点だと思う。
  • 逆に大手以外は、VM提供に特化するなどの差別化やバンドル料金体系の傾向。
  • 表にまとめてみてわかったが、サービスの内容を細部まで調べると、一概に比較できない。自分の用途にあったものを選ぶのがベストだが、ブランドで選んでしまうのも良いと思う。 


今後

各社のVMを実際に試用する。
CPUスペックなどの情報収集。扱いやすさ。日本語サポートなどの状況。など・・・
今のところ、複数のベンダーを使うのが良さそうな予感。例えば、大手と格安を組み合わせるなど。

ー追記2018/10/10ー
ScaleWay気になって試してみたら本当にAtomでした。

〜続く〜

鯖ラー  第1回「 疼き」

HatenaBlogが遅い

最近ブログ記事を書いていると反応が遅い。特にプレビューと編集を繰り返していると遅くなっていく気がする。無料版だからしょうがないのかなとおもいつつ、広告もめざわりなので、
はてなブログProにしようかと思ったら「1008円/月」ですね・・・
そのぐらいの予算があれば、レンタルサーバーでブログ運用できてしまう・・・
もう少し出せば、クラウドVMインスタンスが使える・・・
どうせなら、自分で自分のサイトを運用してみようかな・・・・
っと言う具合に、「鯖ラー」のむしが疼きだした次第です。

鯖ラー

サーバー遊びする人 ⇛ サーバーラー ⇛ サバラー ⇛ 鯖ラー


昔、インターネット黎明期、コンピュータはとても高価なもので、サーバーマシンともなれば自分にはとても手が届かないものでした。そんな中、自分のPC+FreeBSDという追加費用0で、商用サーバー(各ベンダーのUNIXシステム)と同等の環境が手に入ると知り、強い衝撃を受けた事を覚えています。
さっそく詳しい友人に聞き、セットアップ〜基本操作まで教えてもらいました。それから夜な夜な(当時は深夜のテレホーダーイ)サーバーを立て、友人と互いにゲストとして迎えたり、互いにハッキングしたりと、サーバー遊びが始まりました。

就職したらそんな暇ない。だけど最近。

卒論や就職活動などがはじまると、そんな鯖ラーも暇がなくなりました。そして社会人となり仕事に邁進する日々を送り、すっかり「鯖ラー」という言葉自体も失念しておりました。ところが最近になって私情により、時間ができ、気づけば時代は大分進み、みんなクラウド化されています。


そんな訳で「クラウド鯖ラー」始めます

前おきが少し長くなりましたが、はてなブログProの「1008円/月」を目安にして、自分のサイト(主にブログや、自分自身のためのサービス)を開発/運用しようと思います。
現代版鯖ラー・・・。「クラウド鯖ラー」の始まりです。

〜続く〜

virtualenv覚書


インストール

$ sudo apt install virtualenv


使い方(基本的な流れ)


1.仮想環境構築
 ・アプリ用にディレクトリを作成
 ・virtualenvコマンドで仮想環境構築

user@host:~$ mkdir ~/testapp
user@host:~$ cd ~/testapp

user@host:~/testapp$ virtualenv ./


2.仮想環境に入る
 ・source bin/activate を実行
 ・プロンプトの先頭に(testapp)が付与され、どの仮想環境かが示される

user@host~/testapp$ source bin/activate
(testapp)user@host:~/testapp$ 


3.仮想環境上で作業する
 以下の例ではnumpyインストールしてバージョンを表示

(testapp)user@host:~/testapp$ pip install numpy
(testapp)user@host:~/testapp$ python
>>> import numpy as np
>>> np.__version__
'1.15.2'
>>>  CTL-D


4.仮想環境から抜ける
 ・deactivateを実行
 ・プロンプトが通常の表示に戻る

(testapp)user@host:~/testapp$ deactivate 
user@host:~/testapp$ 



pythonのバージョンを指定する

  • グローバル環境のpythonバージョンを確認
user@host:~/testapp$ python --version
Python 2.7.15rc1


  • デフォルトだとグローバル環境と同じバージョンになる
user@host:~/testapp$ virtualenv ./
user@host~/testapp$ source bin/activate
(testapp)user@host:~/testapp$ python --version
Python 2.7.15rc1


  • pythonのバージョンを指定
     --python=python3 のようにオプション指定する
     -p python3 でも同じ。
user@host:~/testapp$ virtualenv --python=python3 ./
user@host:~/testapp$ source ./bin/activate
(testapp)user@host:~/testapp$ python --version
Python 3.6.5


環境

Ubuntu18.04 LTS


ー以上ー