優しいウェブページの「詳しく」

社長:我が社のウェブページもなんかイマドキな技術を取り入れたいですね。ヒトに易しく処理系にも優しいという感じ。

基盤:たとえば?

社長:そうですね、最近見たなかでとても良いなと思ったのは、ページ内で折りたたんだり開いたりするあれです。いちいちポップアップされたりするのすごく嫌ですし。あと、その場でその部分だけ文字拡大できるとか。

基盤:私の育った時代ですとそういうのは SSI とか iframe でした。

社長:(笑)ブラウザだけでできないとね。サーバにもネットワークにも負担をかけない、結果的にユーザの懐にも負担をかけない。応答は最速でユーザは気持ちが良い。ページを書く側も簡単。ブラウザにもサーバにも依存しない実現方法。将来表示できなくなったりすると困るからシンプルで安定した仕様。HTML だけでできるとベストですね。

基盤:最近はHTMLも5とからしいですからね。WordPressでサポートしてくれていると手軽で良いのですが… ちょっとぐぐってみます… どうやらこの、details というタグを使うみたいですね。

詳しくはここをご覧ください これは details というタグを使って折りたたんだ情報です。デフォルトでは折りたたまれていますが、クリックすると開きます。

社長:おお、これこれ。なるほど、タグだけでやれるのか。まあ、当然そうあるべきものだよね。ちょっと洒落た表示をしようとするとすぐにほにゃららスクリプトだーって、嫌な間に合わせの時代が終わりを告げたと。

社長:ところでこれって、脚注的なものに使うのも良さそうね。脚注とかって、紙印刷の時代の異物感があるしね。インタラクティブじゃない紙。んーでも、文書全体を公式に残すのには必要な表現方法ではあるのかな脚注。

基盤:埋め込みついでに、data URI を使うとこんな感じになりますね。残念ながら、どのブラウザでも画像として表示されません。↓

deta URIによる画像埋め込み例 ここには data URI scheme で表現された画像が表示されるはずなんですが → ”Larry”

社長:detailed の中に書ける要素って制限があるんですかね。そもそもいつのHTMLからなんだろう。

基盤:HTML5.1から、とありますね。つまり、3年くらい前からです。2020年3月の時点で主要全ブラウザとモバイル系で対応済だそうです。

社長:そうですか、それで最近目にするようになったのか。ついに我が社も時代に追いついて来ましたね。てか、手書きでHTMLを書ける時代が戻って来たようにも思えてうれぴー。

社長:あれ?でも、選択した details を開いた状態で印刷って、できるのかな??

2020-0512 SatoxITS


YouTubeデビュー

社長:YouTubeを活用しようと思うんですが。

基盤:具体的には?

社長:開発したソフトの広告とか無料でできるんじゃないかと。実際の画面上の操作例は製品を説明するのに有効だと思う。うまくすれば視聴料までもらえるとか?

基盤:利用規定とかどうなってるんでしょうね。まあ、とりあえず技術的にどうやるのかを調べてみます。

基盤:やってみました。コンテンツには Opera のウィンドウのリストアを使いまして、こんな感じです↓

https://www.youtube.com/watch?v=dvfOjrde9tw

社長:おお、できましたね。それで、どうでした。

基盤:投稿自体はめちゃめちゃ簡単ですね。タイトル書いて、動画ドラッグして、ポチッと押す。それだけです。ただ、YouTube側での動画の受入れ処理にはかなりかかりますね。でその待ち時間に説明文を書きはじめたんですが、これに30分くらいかかりまして(笑)

基盤:それよりもアカウント名を何にするか迷ったのですが、まあお試しだし、u-tube (Tube You)にしときました(笑)。あと、macOSのスクリーンの動画はどうやって作るんだろうって30分くらい時間を食いましたが、なんのことはなく、OSに備え付けのキャプチャ機能をポチッとするだけでできました。YouTube への投稿よりこれに感動しましたね。最近のmacOS になるまでは、このQuickTime Playerが公式な静止画のキャプチャ機能も兼ねてたようです。それと、この元の動画は47秒で38MBで、もちろん画質はピクセル単位で完璧です。YouTube が配信するのは圧縮してかなり劣化してますね。

社長:そうでしたか。やっぱりMacOS最高ですね。サイコーでーっす!

2020-0511 SatoxITS

Operaと暮らす事になりました

こんなにステキなブラウザがいつもそこにあったのに。これからはもうずっとOperaですね。さようならChrome!

Opera というブラウザは昔から知っていて時々使ってもいました。楚々とした上品な赤いブラウザだと思っていました。品は良いが機能と馬力が足りない、そんな風に認識していたので、何か他のブラウザでうまく行かなかった時のリリーフとか、逆に「Opera でもできるなら大丈夫」的な試験用でした。

ところが、私が目を離していた10年の間に、実用機能的に macOS+アプリが Windows に追いついていたのと同様に、いつからなのか Opera が他のブラウザに機能的に劣る事もなくなっていたようです。

こうなるともう使いやすさ、気持ちよさの勝負です。今日初めてまともに使ってみたのですが、私が10年間 Chrome や Firefox で不便・不快に耐えてきたことが、Opera ではほとんど解決済みなのです。使い勝手がよく考えられていることに唸ります。根本的に設計思想が素晴らしい、というか、実にマトモ。形容はもう楚々ではなく凶暴を秘めた凛ですね。

Chrome のブックマークも Opera にインポートしたので、あと Chrome に残す思いはパスワードだけです。どうせ今でも生きているのは半分くらいしかないし、本当にヤバイのはさらにその半分くらいですから、この際に見直しながら Opera に移そうと思います。同期したがるパスワードのヤバさがクラス分けされてなくて、モバイルの Chrome からですら全てベタに見えてしまうのはどうなんだ?と思っていたところでもあります。バイバイ Chrome。

明日からは(というか既に今現在から) Opera です。きっといつまでも。

2020-0511 sato@izmoh


というわけでさっそくOperaに浸ってまして、デスクトップがこんな風になりました↓

4 x 4 でミニュチュアオペラをタイル状に並べて動かしておいて、開きたいウィンドウのタブを見つけたらそれを Fullscreen にすると別室(別の仮想デスクトップ)に移動、閉じると元の位置に収まる、という形です。いろいろ使い勝手状の問題はありますが気持ち良いです。自分の経験では、同時に開いていて混乱しないウィンドウの数は20くらいまでだし、負荷的にもこんなところかなと思われます。

Operaの実装はたぶん1タブ/1プロセスになってますが、一プロセスはとても小さいです。Chrome時代に比べてメモリプレッシャーが低い。CPUは見た目常時100%近く食ってます(ユーザ70%、システム25%)が、プルセスの優先度が低いのでしょうか、マルチコアだし、インタラクティブな作業を邪魔する感じはほとんどありません。他にCPUバウンドなプログラムを走らせても、time コマンドは、70%程度はCPUを使えた、と報告します。

ウィンドウがすごく多くなったら、各プロセスの優先度をすごく落とすとか、明示的に一時停止させるとか、最近アクセスした順に並べるとか、色々な工夫が必要そうです。ミニチュア化したときに自動的に表示の倍率を小さくするとか、全体を統括するOperaとか必要です。なにより「Fullscreen」じゃない、「Normal」サイズのウィンドウの段階が必要です。昔のウィンドウシステムはそうなってたと思うんですが…Xとか、CEとか…

なんにしても、デスクトップスクリーンが広大になった今日、しかも仮想デスクトップもできるわけなので、もうオーバラップじゃなくてタイルだよなー、と思います。

Operaは終了しても、再起動すると、終了前のウィンドウを完全に復元してくれるので、この設定は継続的・永続的に使えます。もうアップデートのための再起動は苦じゃない (^-^)/。ただ、その復元作業のため、起動時にロードアベレージ120超えとか普通にしますが、それで他の作業に大きな支障が出る感じはありません。変に自前のスレッドとかしないで、OSが管理できる単位であるプロセスにしているのが勝因なのでしょうか?

2020-0511 SatoxITS

モバイル対応

社長:我が社がこれから対外サービスを行うにあたってですね、モバイル端末対応というのは必須だと思うわけです。

基盤:具体的には?

社長:さしあたっては、スマホの画面サイズにページの表示をフィットさせられることと、スマホのユーザにページのURLを簡単に伝えられることですね。

基盤:調べてみます。

基盤:調べました。テスト用のページを作って試したんですが。まずパソコンのブラウザで見るとこんな感じ。

同じページをスマホで見るとこんなふうに表示されます。

社長:ぱっと見よさそうですね。中身を詳しく。

基盤:まず画面サイズですが、ググったところ、HTMLに一行おまじないのメタを貼ると良いということでした。

For starters, use this viewport tag:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
– APAD1 May 20 '15 at 19:56
[ HTML body not filling complete width on mobile devices ]
https://stackoverflow.com/questions/30358630

社長:それだけですか…まあ出だしの一歩だしね。この Satackoverflow のコメントは2015年のだから、もうみんなこのメタをサポートしてるかな。URLをヒトに伝えるのはやはりQRコードですか。

基盤:そうですね。世界に誇る日本生まれの技術ですし。それと、QRを産んだDENSO関連のアララがクルクルのアクセス解析サービス付きQRコードを生成してくれるので、それを貼ってみました。こんなふうにアクセス状況が見れます。↓

社長:なるほど、QR の URLをクルクルのサーバに向けてリダイレクションしてるわけか。これ、いっそページのカウンターがわりに使わせてもらえないかな …(利用規定読む気力がない)…
なるほど、わかりました。お疲れでした。

社長:話はかわるけど、レンタルサーバの運用費の削減のほうはカタが付きましたか?

基盤:そうですね、月2千円でイケそうな感じです。社長は毎月1万円を7年間払ってきましたらから、まあ最初から安い仮想マシンがあったとしたらですが、67万円ほどロスしてますね。

社長:あ、そう。(しょんぼり…)

2020-0510 SatoxITS


CI

広報:当社広告用の看板案ができました。イチオシはこれです。じゃじゃーん。

社長:おおっ!目が覚めるようですね。というか、吐き気すら覚える。

広報:では、この線で進めてよろしいでしょうか?

社長:いや、だめでしょう。一体どいういうコンセプトですか。

広報:不快感は無感覚に勝る、です。

社長:当社の倫理に反するので却下。

広報:代替案も用意しております。これでいかがでしょう?

社長:改善。配色重要ですね。使うとしても赤はワンポイントにしましょう。何か困っていることはありますか?

広報:手持ちの日本語フォントのバリエーションが少なくて。フォントを買うとか、デザイナーさんを頼めると良いのですが。

社長:必要なお金は出します。3千円くらいまでなら。

広報:らじゃー。調査します。


rsync 最高っす!

開発しているプログラムを別のプラットフォーム上でコンパイルして実行してテストしたい。少し変えてはテストしたいので、コンパイル結果は10秒程度で得られると良い。手持ちのツールだけでやりたい。

そう考えたのでとりあえず、変更したらプログラムをリモートのマシンにscpして、sshでコンパイルやテストのコマンドを送るという安直な方法にしました。今日びのOSはデフォでsshを装備しているので、追加でインストールするものはありません。

この手順を行う簡単なシェルスクリプトを書いただけで実現。変更分だけの再コンパイルであれば、差分が小さければ、コマンド打って10秒程度で結果が得られるのでほぼ満足しています。

気になったのは、プログラムをリモートに送り込むための時間です。ソースコード類のサイズはナマだと約10MB、tar して gzip して 2.5MB。scp だと状況によっては転送に数秒かかります。それだけでなく、これを何百回もやってると、サーバ側の従量ネットワーク課金が気になってしまいます。

それで思い出すのが昔懐かしい rsync です。ググってみると最近は通信に ssh を使うようになっていて、すごく健在のようでした。やはり原理的に良いものは生き残るのだな。よし、これで行こう。手元のマシンでも、リモートでも rsync とコマンドを打つと何か動くので、インストールされているようです。

どう使うのか?rsync -h とかするとどどっと出てくるので読む気にならない((実は man rsyncの先頭だけ見ればサクッとわかることに後で気づく))。scp と同じノリで使えるとラッキーと思い、

% rsync ファイル リモートホスト:

としたら、そのまま動きました。 素晴らしいです。

性能的にはどうなんでしょう?超簡単なベンチマークをやってみました。

% openssl rand 10000000 > 10MB
% time rsync 10MB remote:
rsync 10MB remote:  0.46s user 0.37s system 6% cpu 12.435 total
% time rsync 10MB remote:
rsync 10MB remote:  0.06s user 0.08s system 7% cpu 1.833 total
% time rsync 10MB remote:
rsync 10MB remote:  0.06s user 0.07s system 7% cpu 1.804 total

リモートのファイルの cksum を確認しましたが、もちろん同一です。そしてこの例では、2回目以降は何もデータ内容に変更が無いので、何も送られていないようです。macOSの(とてもステキな)アクティビティモニターには、一発目の転送しか出てきません。

rsyncでのデータ転送(差分のみ)

一方 scp では毎回データを転送してますので、毎回ニョキニョキと送信データグラフが伸びます。

scpでのデータ転送(毎回全転送)

% openssl rand 10000000 > 10MB
% time scp 10MB remote:
10MB     100% 9766KB 796.4KB/s   00:12    
scp 10MB remote:  0.18s user 0.20s system 2% cpu 13.473 total
% time scp 10MB remote:
10MB    100% 9766KB 893.0KB/s   00:10    
scp 10MB remote:  0.19s user 0.20s system 3% cpu 12.118 total
% time scp 10MB remote:
10MB       100% 9766KB 497.7KB/s   00:19    
scp 10MB remote:  0.19s user 0.19s system 1% cpu 20.791 total

このホスト関係、ネット環境だと、ssh 接続の確立に1.2秒かかる(この遅延、ログインする時に結構気になるんですが)ようなので、それよりは短縮できないですね。常設のトンネルw開通させておくしか無い。rsync自体の空作業は0.1秒未満の模様。

% echo a > a
% time scp a remote:
a                   100%    2     0.0KB/s   00:00
scp a remote:  0.01s user 0.01s system 2% cpu 1.217 total

% echo b > b    
% time rsync b remote:
rsync b remote:  0.01s user 0.02s system 2% cpu 1.283 total

考え所は、クラウド上のサーバのデータ(主に差分はログだけ)のバックアップも rsync でやるかどうかです。ファイル数が70万くらいあるので、変更されたファイルを効率的に知る方法が無いと、それを探索し回るのに結構な負荷がかかりそうです。まあ、変更した本人のサーバかOSが教えてやれればよいのでしょうけど。

とりあえずは、サーバ仮想マシンのディスクのスナップショットをとるほうが簡単だし全面的ですし、スナップショット保管料金は1日4円程度です。なので、あれはあれで良いかなという感じ。

クラウド上のドライブサービスも、rsync的な仕組みが入っていると良いですね。入ってるのかな?

2020-0509 sato@izmoh


素晴らしき file URI scheme

先月 data URI scheme について書きましたが、今日はひょんな事から file URI scheme のお世話になりました。きっかけはこんな事でした。

「場所がわかっているファイルを簡単に開きたいのだが?」

そこで思い出したのが file URL [RFC8089]です。さっそく、ブラウザにファイルの場所(パス名、つまり file URL)をコピペしたらパッと開きました。おっと!なんだこのサクサク感は!これこそ自分が求めていたものですよ。

ウェブブラウザで file URL を使えば、ローカルなフォルダやプレーンテキスト系のファイルを快適にブラウズできます。文字サイズの拡大縮小もブラウザ機能で簡単にできます。ウェブ系とシームレスに「ブックマーク」が管理できる点も素晴らしいです。

Mac の Finder にしろ Windows のエクスプローラにしろ、あのもっさり感にはうんざりしています。それに老眼のため「字が小さくて読めない!」「ポインターが合わせられない!」とか、「ダブルクリックができない!」とか(笑)。フォルダの中身をナマで見たいのに!とか。

ウェブブラウザは、HTTPをはじめとする上位レベルの、個別のアプリケーションプロトコルによる、明示的なリモートサーバへのアクセスを実現しています。一方で、昨今隆盛のネットワークドライブ(仮想ドライブ)に見られるように、下位レベルにおいて、リモートなファイルとローカルなファイルと区別せずにアクセスができる環境も整ってきました。

このように下位レイヤでリソースのビューが一元化が実現されていれば、お目当てのリソースに対して具体的にどのようなプロトコルでアクセスしているかを、エンドユーザが気にする必要ありません。それはまったくのところ、file:///path/name で十分なのです。

当社で開発中の技術の応用においては、リソースへのアクセスを、こちらのエンドポイント(ユーザアプリ)からあちらのエンドポイント(リソース)に至るどこかの地点で捕捉し介入する必要があります。その地点としては、個別アプシケーションプロトコルのどこかのノード、あるいはリモートファイルアクセスプロトコルだと思って来たのですが、いろんな意味でどうもイマイチです。

それで今日思ったのは「やっぱブラウザでいいんじゃね?」ということです。ブラウザでやる、というのは最初に考えることではありますが、ブラウザ以外のアプリからその恩恵にあずかれないというのが難点だと思っていました。ですが今思い出したのは「ブラウザをサーバにすればいいじゃん」ということです。ああ、昔はそんな事を考えていたなと。ブラウザはクライアントとしての機能は完備していますから、これを再び(いろんなプロコトルの)サーバとしてサービスすれば良いわけです。要するに結局、プロキシですね。

ここで考えを戻すと、たとえば sftp://xxx なんてのもブラウザで実装してあれば、プラットフォームでの実装を待つ必要もないわけです。

機能面以外で考えられる問題点はやはり、セキュリティ・プライバシーの問題です。なにしろ、今日のブラウザはプライバシーにアクセスするためのポータルです。これにサーバの口をつけて外部からアクセスされてしまうと、非常に危険だろうなとは感じます。だからそこはガッチリとガードするか、根本的に不能にするかですね。

逆に言えば、ファイル転送プロトコルのような下位のレベルでは、上位レイヤにおけるような意味構造に基づく細粒度のセキュリティ保護が難しいので、下のレイヤほどトンネルされると危険、制御不能とも言えます。

さてそれで、現状の主要ブラウザにおける file URL の実装はどうなっているかと見てみると、これがもう data URI よりもサブイ状況(笑)↓

主要ブラウザにおける file URI の扱い(macOS)

20年前からまるで進歩していないですね。せめてフォルダ階層のパンクズリストぐらい出してよ、25年前のDeleGateですらやってたんですから、と思います。見た目は、まあしょうがないというか、いっそ清々しいです。Finderの代わりに使うには、アップロードの機能が無いのが困ります。

実装は、おそらく共通のライブラリをまんま使っているだけなのでしょう。見た目がほぼ全く同じです。FireFoxだけは、わずかな工夫をしています。またSafariは独自の丸投げ路線で、macOS上ではFinderを、Windows上ではエクスプローラを呼んで済ませています。

Windows上でもmacOSと同様

見た目がこれだけしょぼいので、実装にも手が入れ易いのではないかと期待してしまいます。

2020-0509 sato@izmoh


社長通信(基盤整備にあたり)

社員のみなさんへ

ITをもっと…にをモットーに我が社が設立して1ヶ月が過ぎました。この間は、そもそもが昨今のITに遅れをとって来た私たち自身が、現在の技術水準にキャッチアップするための期間だったと思います。

私がしばらく目を離していたこの数年のうちに、インターネットを取り巻く環境は大きく変わっていました。インターネットのギガビット化、ストレージサービスの大容量化、専用・汎用レンタルサーバの多様化、そしてこれら全てにおける低価格化が著しく進んでいたのです。格安スマホ並のコモディティと化していたのです。

これに伴い、外向け・内向けのITサービスを構築する際に用いる資材(リソース)をリモート/ローカルにどのように配置するかの判断は複雑になっているようです。リスク回避の観点からは、外向けサービス用のリソースを全てリモートに配置するのが良いように思われますが、保守コストの面ではどうか、また、内向けのサービスに使用した場合の使用感はどうか。これらを、リスク・コスト・利便性の観点から総合的に評価する必要があります。

世の中にはITサービスを構築する専門家がおられますから、できるなら設計は彼らに任せれば良いでしょう。しかし、そもそも零細の組織においてそのためのコンサルタント料が無視できない負担となるし、彼らが特定プロバイダのサービスに偏らない公平な判断を行ってくれるとも限りません。このため、ITの素人が自力で自社のIT基盤を構築しなくてはならない状況は少なくないと思われます。

このような観点もあり、ITの人柱になる覚悟で、また主には面白半分から(笑)、当社設立に伴うITインフラの構築にあたっては、ごくありがちな素人考えにもとづいて試行錯誤を行いながら、コスパの良い実現法を模索・試行錯誤して来たところです。

直近に手掛けたのはクラウド上の仮想マシンの再構築でしたが、結果として、これまで数年にわたり運営して来たサーバの費用を半減ないし1/3に圧縮するという、大きな成果が得られました。担当された基盤部諸君の労を多とします。浮いた経費は、研究開発や福利厚生のために有効に利用したいと思います。

Regards,
社長
2020-0505

基盤:ボーナス出るかな v(^-^)
経理:研究開発福利厚生って社長の道楽って意味ですか。
営業:これは我が社の商売につながるのか?
社長:私にもいつか給料が出るといいなぁ…

発狂するAzureと私

ーーわたしもうぢき駄目になる…
意識を襲ふ宿命の鬼にさらはれて
のがれる途無き魂との別離
その不可抗の予感
ーーわたしもうぢき駄目になる…
智恵子抄・山麓の二人

5月1日に頭がおかしくなってしまったAzure課金情報システムは、2日近く気を失った後、復活しました。ねぼけまなこで出してきた課金情報はメチャクチャで笑えるものでしたが、その後正気に戻って突きつけてきた請求は驚愕するもので、全く笑えないものでした。

第一の問題は、5/1には取り外していたと記憶している超高額データディスク(premium SSD, 555円/日)に課金され続けていることです。実際には、VMから取り外せなかったため、VMごと停止したのですが。たしかに、その作業を行ったのは5月1日の零時零分零秒を過ぎていた可能性が高く(操作ログをどこかで見つけたいと思います)、1日に一瞬でもVMに接続されれば、1日分の課金が発生するということかも知れません。5/1のどこかの時点には当該VMが停止していたのは確かなので、まさかとは思いますが、存在するだけで課金される事が考えられなくもありません。5/2ぶんの請求はまだ表示されないので確認できませんが、恐ろしいので今、VMごと削除しました(ディスクだけ削除することはできません。全くアクセスしたことが無くても)。まさか亡霊にまで課金するまいな Azure(^ー^;

ともかく、この事態への対処が遅れてしまったのは、Azureの課金情報システムが停止していたため、状況を確認できなかったからです。これって、損害賠償できないものだろうか?まあ、課金方式をちゃんと理解せずに契約した(ボタンを押した)あなたが悪い、解約方式を探し出せなかったあなたがが悪いと言われそうだけど…

それでも、もしこの課金情報システムを(とても面白いからと)使ってなかったら、後で請求書を見て呆然とすることになったことでしょう。そうならずに済んだのがせめてもの救いです。というかそもそも、これまでAzureの請求書とかほとんど気にした事ないので、数ヶ月も気がつかずにドクドクとお金がAzureに流れていた危険さえあったわけです。コスト解析さん、ありがとう!

これで、この恐怖のデータディスクの件は片付いたと思います。

第二の問題は、単価がとても低い(1時間2円未満)と思っていたVM(bz1, ¥1.X/時間)のコストとして、154円が請求されていることです。このVMが1日回して48円以下だということは、前日に上記のデータディスクをつけて作成し動かしたマシンでわかっていました。まさか超高額データディスクとの抱き合わせの場合の割引価格じゃあるまいな?と、もともとMSを信用していない私のAzure不信感が募るわけです。

それで、グラフ表示ではなく、もっと詳細な内訳の見れるテーブル表示にして、当該VMをパカっと開くと、VM料金¥32.60, データ通信料金 out¥121.24也、と出ました。なるほど、通信代はVM代に分類されるわけか。それなら納得です。まあ、引越しやら実験やらで大量にデータ転送しましたからね。引っ越し代金121円、リーズナブルです。しかしなんで transfer "out" なのか。ディスクに書き込みを行った分じゃ無いかと推測します。VMから見ての out なのでしょう。ディスクへの書き込みの単価は確か、高かったし。過去の運用実績から、平常運用時の通信代は1日20円〜30円程度と見込まれます。

意外だったのは、タダだと思っていた固定IP代金が¥5.24になっていることでした。マシンを構成する時、オプションを選ぶ時、チェックしたりラジオを選んだ時に「それにはこれこれの料金を頂戴します」と教えてくれるべきだろうと、つくづく思われます。ネットでPCとかカスタマイズして買うときには、オプションを変えるたびに、その場で、いまの構成だとおいくらです、って言ってくれますよね。Azureもあのようにあって欲しいものです。そのようにすることに技術的に大きな困難があるとも思えません。完璧な警告やアドバイスを求めているわけでもありません。わざとやってないとしか思えないわけです。金にならない客や素人に使わせる気が無いなら、いっそもっと分かりにくく作るべきでしょう。今の構成時ユーザインタフェースは、詐欺まがいに感じます。

そもそも、1日2円のVMに、1日500円のディスクを付けるなんて、まず有り得ません。振り込み詐欺防止でやっているように、作成時に警告を出すべきですし、そもそもそんな選択肢を提示すべきではありません!ハァハァ

ゲームのつもりでやってても、つい熱くなりますね。一事が万事だからでもあります。Azureがとっても面白いサービスだと思っているからでもあります。

ともあれ、そんなわけで、1日100円の目標は達成できそうです。やれやれ。

2020-0503 sato@izmoh

delegate9.org 実運用に使うことになった仮想マシンの1日分料金明細(移転作業日)

設立1/12周年ふりかえり

ーー i社の一室(しかない)の会議卓(一見こたつのように見える)で社員が設立の1ヶ月を振り返っている ーー

社長:おかげさまで無事1/12周年を迎えました。

経理:対外的には何事もなかったですね。存在自体、知られてないです。

社長:上旬は設立関係の作業が結構ありました。やれ登記だ届出だ申請だと。結果、無事に保険証、法人口座も出来てめでたしです。この世界、未だに紙ベースが多いので、ヤマダで買って帰ったエプソンの複合機が大活躍でした。

経理:この複合機はわが社の設備第1号でした。2万8千円という価格も、あの素晴らしい機能と使いやすさを考えるに、極めてリーズナブルです。ただ今後、どのくらい使いますことやら…

社長:プリンタに限らず、これまで生きて来て見た機械の中で、コスパ・完成度という意味でこの複合機に勝るものを見た事がありませんよ。私の世代から見れば、ほとんど夢の世界のようです。感動した!エプソン最高デーッス!ハァハァ

経理:設備第2号はLenovoのデスクトップPCでした。10万円を切る消耗品で、コンパクト、静音、低消費電力、i5、SSD、Windows 10 Pro 搭載、良い買い物と思います。

基盤:4月上旬末にこれを会社の中央コンピュータに据え、中旬に開通した1Gbitインターネット回線、WordPressレンタルサーバと合わせて、インフラの整備は一段落したかと思いました。

社長:それね。設立趣意書にも書いたんですが、現状のIT応用のあり方にも、ユーザインタフェースにも、個人的にすごく不満を持っています。特にユーザサイド、フロントエンド側で、その辺りにありそうなニッチに切り込もうというのが現在うちの方向性です。世の中Windowsが主流ですから、巻かれるしかないかなと。それで中旬はWindows上で新技術の開発作業を始めたんですが、やはりとにかく環境として使いにくい、しかも遅い。これは精神面だけでなく身体にも悪い、生産性を著しく毀損するなと。特にVCのコンパイルが遅すぎて、ついにブチ切れました。ぐぐって見ると、シェア的に、Mac も結構頑張っているなという事を知ったのです。それならMacにしようと。速攻で。

経理:開発しているというソレ、売れそうですか?入金口座の準備を急がないと…

社長:何事においても可能性というのは常に存在しますから。イチオシと考えている新技術のコア部分は2日間で出来た(感動した!)のですが、外回り、特にフロントエンドとどう繋ぐかがカギで、そのために色々な製品の調査と試用を行ってきました。もちろん、DeleGateとの組み合わせについても試行しています。この技術は、現在行っている基盤整備とも深く関わっています。たとえばギガビットネットを活かす使い方とか。MacでもWindowsでも同じに利用できるための規約とか。第1四半期中には何らかの形で製品出荷できると良いなと。

経理:MacMini 9万1千円・消耗品。機能・性能はLenovo機相当。妥当な選択と思います。というか、当社の経費面からMacならばこの一択ですね。

社長:夜にアップルストアでポチって、翌々日には到着ですから、時間的ロスがありません。これは開発の士気を損ねないためにも、非常に重要な事です。そしてこのコンパクトさ。Lenovo機でも十分小さいと思っていますが、MacMini は別世界です。OSが最新というのもうれしいですね。カタリナビットという選手も記憶にあります。私の手持ちのMacはOSが何年も前にサポート切れになった古いやつばかりですから… ともかく、VCではポツリポツリとしか進まなかったコンパイルが、Macでは飛ぶように進んでくれて大よろこびです。気持ちよく開発がススム君。

経理:この他には、備品として1万円のUPS。電子証明書、ソフトも何件か購入されました。加えて、随分多数のドメイン名を所有されています。中には、当社との関係の薄そうな、スポーツ選手名らしきものも有ります…

社長:ドメイン名保持は投資でもあり、リスク対策でもあり、福利厚生の一環でもあります。何年か前、私が所有していた趣味のドメイン名の更新を忘れて失効したのですが、再取得しようとしたら60万円で売られててびっくりしましたよ。スポーツ選手の偽造サインというのは良くある問題ですが、これだって、選手の直筆サイン色紙の上に、ファンの宛名で電子署名して届けてくれたら、ファンはどれだけ喜ぶだろうし、社会悪の退治にもなります。まあ、うちにそういうサービスをできるような体力は無いと思いますけどね。

経理:ソフトウェアのサブスクリプションについては、Acrobatの月間2千円は、MS Office の1千円と比較して割高に感じるのですが。

社長:正確にはAcrobatは月額1,700円くらいです。それで、うちで開発中の技術のひとつでは、PDFが重要な基盤です。きょうび全ての文書形式はPDFに変換できます。まあ印刷できるものはPDFになるわけです。そして電子署名技術はPDFを基盤として普及しています。電子定款だってPDFです。ミタ目とメタ情報をセットで表現する標準形式として確立しているわけです。PDF以外で電子署名されているのは、メールのS/MIMEくらいなものです。まあ私は、PDFではできないことをS/MIMEでやろうと画策もしているわけですがそれはさておき。それで、PDFの加工や署名を行うツールとしてAcrobatを超えるものは、現在この世に有りません。要するに一択なのです。それを言うなら Office 文書の形式も標準ですが、編集ツールがMSのOfficeである必要は必ずしも無いです。その上、AcrobatはOfficeとはユーザ数・売れる数の桁が違うのですから、あの価格設定は妥当と思います。ただし、元をとるためにはPDFに電子署名しまくることです(笑)

基盤:インフラの整備ですが、DeleGateの動態保存展示用のサイトを移転しました。社長がAzure上で運用してきた仮想マシンにはこれまで1月あたり約1万円が支出されてましたが、これを月3千円程度に圧縮できる見込みです。これは、Azureが当初提供していたもの(MSはクラシックと称している)と同等のスペックの仮想マシンを、1/3 の価格で提供するようになったためです。安価ですが、性能は同等ですので、これを用いた当社の対外サービスの品質は低下しません。

社長:移転上の技術的な問題からの緊急避難措置でしたが、これを機にドメイン名も delegate9.org に移転したのはよかったと思います。

経理:Azureのサブスクリクションは従量課金を選ばれましたが、本当に3千円に収まりますか?あと、WordPressのレンタルサーバは月1千円ですが、それに比べてAzureの3千円は妥当なのでしょうか?

社長:それと、従量っていうからには、CPU負荷とかによって料金が読めないのでは?

基盤:「従量」というのはやや語弊があって、ノンストップ運転をするサーバにおいてはほぼ「定額」と言えます。これは、主な課金の要素が「実際に使用した時間の量に従う」課金方式をとっている、つまり時間単価方式だからです。ですのでノンストップサーバでは常にマックス料金になります。まあ、月によって日数が変わりますから、西向く侍を含む課金期間ではトータル額が少なくなりますね。

社長:課金の要素とは?

基盤:課金される対象は主に3つの要素です。第1の要素は仮想マシン(VM)で、これが稼働時間あたり課金です。つまり電源が入っていれば1、切ってあればゼロ、です。内部でどういう負荷がかかっているかとか、そもそもCPUが動いているとか止まっているとかは影響しません。第2の要素は、CPUに付随する「ストレージ 」、つまりディスクです。これは容量あたり課金です。3つめの要素は、通信にかかる料金です。これは通信量あたりの課金なので、使われ方による、CPUがどんなIP通信やディスクI/O をするかによる、いわゆる従量です。ですのでこの部分は、ノンストップ運転する場合に、OSやサーバの運用の仕方によって、課金を調整できる余地とも言えます。あと、外部から課金嫌がらせアタックされたら嫌ですが、そもそもの回線速度がたいしたことないので。

社長:それで私はいったい毎月1万円を何に払っていたのだろう?

基盤:調べたところ、過去のdelegate.orgサーバ仮想マシンの課金のうちわけは、VMが6以上、ディスクが4未満、通信が1未満。そんな比率でした。ノンストップ運転で通信量の変動もあまりなく、結果毎月の課金はほぼ一定であった、ということです。
ただしこれは、これまでの「クラシック」タイプの課金分類でして、現行のニュータイプでは、仮想マシンを構成する部品(リソース)がもっと細かに分かれていて、課金されます。ですが、上の3つの要素の課金が支配的であることには変わりはありません。

基盤:詳細な今後のAzureの従量課金の見込みについてですが、その課金情報提供システムが、うちが引っ越しを終えたちょうどその日から2日間ばかり麻痺してしまい、先ほど復活しましたが発狂している状態でして(笑)、確たる予想はできません。参考までに、次回、5月11日における請求額ですが、麻痺する前は利用済7千5百円、予想1万2千円と表示していました。それが現在は利用済1,441円、予想1,989円と出ています(爆笑)。うちが今回新たに作った仮想マシンについての課金情報も収集できていない模様で、麻痺前には5月1日分900円以上と表示していたものを、現在は28.54円と表示しています。移行前の仮想マシンにつきましても、麻痺前は日額270円前後でしたが、現在は70円前後と表示されています。既に確定している料金を予告なく割り引くとは考えられないので、課金単価情報とかにエラーが生じているのではないかと推測します。

社長:うちみたんな塵芥には笑い話だけど、大口ユーザは大混乱してるかもね。

基盤:そういう状況ですので、現時点では従量課金の予測ははっきりしません。課金システムが壊れているらしく、課金データのダウンロード(エクスポート)も壊れています。ですが、はっきりしていることは、移行先のニュー仮想マシンではそもそもの従量課金単価が低くなる一方、処理能力の低下はほぼ無く、負荷も増えるとは考えにくい。なのでシンプルに、単価が低くなった通りの課金になると予測しています。
 それと、従量課金ではなくて、1年または3年固定での「割引」課金もありますが、あれはうちのような最底辺のサーバではなく、並の下以上のサーバに適用される割引でして、最低のプランでも月額相当で1万円程度になります。ですので、この選択肢はありません。まあ、この引っ越しで従量課金を大幅減量できると想定してですけど。

経理:WordPressサーバとの比較についてはどうでしょうか?

基盤:その2つのサーバは、性格が全く異なるというか、真逆なので、同じ物差しで比較するのは難しいです。また、どちらか一方だけに済まそうとすると、うちが対外的に提供するサービスレベルが低下し、運用に掛かるコストも高くなります。どちらか一方といいましても、WordPressサーバは対外的にはWordPressでウェブサービスする機能しかありませんから、それ以外のサービスも行いたいなら汎用の仮想マシンが一択です。つまり、従来の delegate.org の形になりますが、これはウェブ以外の何にでも利用できる一方、単純なウェブサーバ機能の維持も自力で行う必要があり、その運用コストもリスクも高くなります。
そいうことで今後は、WordPress専用サーバが必須で1,000円/月、Azure仮想マシンも必須で3,000円/月、がベストミックスと思います。2つを合わせた費用はこれまでのの50%以下。それで能力と利便性は少なく見積もっても、これまでより50%増し。そんな感じです。

社長:うーん、月5千円以上の節約とは、我が社においては大成果ですね。昔のサーバの整理もついてスッキリしました。それはそうとオレ、ここ1週間以上忙しくて飲みに行けなかったから、5万円くらい節約できた上に健康アップだよwww

経理:…

2020-0503 sato@izmoh