[1] Webサーバーでの画像処理には ImageMagick や GD などのソフトウェアを組み込んで呼び出すのが定石とされてきました。
[2] しかしより低レベルなライブラリーを色々インストールしないといけないとか、 入力次第で動作が不安定になるとか、 各言語バインディングのインストールに癖があって面倒くさいとか、 API がソフトウェアや言語・ライブラリーによってばらばらだとか、 バージョンで挙動がころころ変わるとか、 色々と開発や運用が面倒な要素ばかりでした。
[3] ところで最近は Webブラウザーで canvas
その他の画像処理用の
API が整備されてきています。簡単な処理はクライアント側で済ませることもできるようになりました。
[4] それでもどうしてもサーバー側でやりたい処理も残りますが、それも Webブラウザーに任せてしまうというのも1つの手かもしれません。 Webサーバー内部でWebブラウザーを動作させて、 WebDriver から JavaScript で処理させて結果を得ることができます。
[5] Webブラウザーを Docker のコンテナとして動作させることにすれば、
インストール・デプロイの処理は docker pull
だけで済みますし、
スケールや動作が不安定になったときの措置も、既存のコンテナ管理・監視技術を流用できます。
[6] esimov/caire: Content aware image resize library () https://github.com/esimov/caire