hatenob

プログラムって分からないことだらけ

一人Web開発 Season.2~第3夜 仕様検討~

仕様検討

作るアプリの仕様ではなく、作り方の仕様です。
ぼんやりなので何も固まっていないけれど、ひとまず備忘のために書き記しておきます。

アプリケーション仕様

アプリケーションを動かすために備わっていないといけなそうなことをあげてみます。

  • HTTP/HTTPSでの受付。できればHTTP/2とかWebSocketにも対応。
  • RESTfulなエンドポイント。
  • データの永続化。
  • トランザクション管理。(データソースによるので必須でなくてよいかも)
  • 非同期呼出しとコールバック。

コンテンツの種別

アプリケーションが返却コンテンツは言わずもがな。

  • 静的コンテンツ(HTML/JS/CSS/画像など、ファイルを直接返すもの)
  • 動的コンテンツ(アプリケーションによって生成されるJSONなどのデータ)

プラットフォーム仕様

プラットフォームとして実現したいことも少しあり。

  • 動的なサービス閉塞。
  • 動的な流量制限。
  • 動的なサービス登録。
  • オートスケーリング。
  • ログ分析。

技術要素

とりあえずこれは使おうかなというもの。

  • Docker
  • Nginx
  • Fluentd + Elasticsearch (+Kibana)

バックエンドの言語はちょっと拘ってJava。フロントはAngularJS。

一番肝心な、バックエンドのランタイム環境をどうするかが全くイメージがわかない。
適当なOSSを探して持ってくるしかないかなぁ。
でもそうすると結局、SpringBootとかに落ち着きそう。
Wildfly-Swarmは何か少し違う気がするし。
それが嫌ってわけではないのだけれども。