ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

「実は、要求が決まっても、開発コストは見積もれなくなっている」理由

2017-10-17 16:16:59 | ネットワーク
実は、スケールすると、システムを変える必要があるから
(クラウドだと「ソフトを変えなくても」スケールするというのは実は嘘)

例を挙げるとわかる。

お題:掲示板システムを作る

●最小限の構成:
・サーバーを1つたちあげて、PHPかなんかで組む。
・データをオープンソースのRDBに入れる(上記PHPと同一サーバー)

●信頼性をあげたい
・サーバーを1つたちあげて、PHPかなんかで組む。
・データをオープンソースのRDBに入れ
 1台をマスタ、1台をスレーブとしてレプリケーションする
 →サーバーは増えるが、ソフトの変化はない
 =予算は増えるが、開発工数は変わらない

●サーバー側のアクセス量が増える
・サーバー増設
 複数サーバーが処理をする
・データをオープンソースのRDBに入れ
 1台をマスタ、1台をスレーブとしてレプリケーションする
 →ここ注意。要求を出す側は、ここで変化が無いと思っているが、
  実際は
   ・スケールさせたり、インスタンスを消すためのシステムが必要
    (AWSだと、cloud watch,cloud formationなど)
   ・セッションが使えるとは限らなくなってくる
     →このレベル以上の場合、WebAPIで作ったほうが楽になる
     →セッション in DBにするケースもある(後述の本質的対策でなく)
   ・DBアクセスが複数サーバー(動的になる)に対応
 =予算がかかる。インフラの力必要になる。実はソフト開発工数が増える★


●サーバーアクセスされるデバイスが増える
・レスポンシブWebデザインで開発
 →ここ注意。要求を出す側は、レスポンシブでやればOKと思っている
 実際は
  ・莫大なE2Eテストが必要。
  ・ios系(ipad,iphone)で問題を起こし、対応が必要になることしばしば
 =テストの(自動化)力必要になる。ソフト開発工数が思った以上に増える★


●サーバーアクセスされる国を増やす
・多国語対応すればよい
 →ここ注意。要求を出す側は、画面を翻訳すればOKと思っている
 実際は
  ・時間などをUTCベースで作っておかないといけないんだけど、
   JSTで作っちゃっている場合ある
  ・画面の構造自体変わる
    →多国語の構成管理が難しくなる
 =ソフト開発工数が思った以上に増える★

●サーバー側のアクセス量がもっと増える
・スケールすると思っている
 実際は
  ・セッションin DBだときつくなる。なので、NoSQLに入れるか、セッションレスにする
   →ソフトの改修が入る
   →この段階で、後述するキューの利用を考える
  ・DBをマルチマスターにする場合がある
   →SQLで、テーブル作るときに対応が必要なところもある
 =スケールさせると、ハード代高いことに、よほど鈍感出ない限り、このへんで気づく
  ソフト開発工数が思った以上に増える★

●サーバー側のアクセス量がもっともっと増える
・安くするにはサーバーレスだ!と思っている
 →ここ注意。要求を出す側は、
  サーバーレスって、サーバーのプログラムを持っていくと思ってる
 実際は
  ・根本的に書き方が違う(以下の理由で、マイクロサービスで記述する)
  ・RDBでサーバーレスをやると接続が持たないので、キューに入れる
   →ソフトの改修が入る。アーキテクチャを見直し、APIベースのマイクロサービスへ
 =ソフト開発工数が思った以上に増える★、以前に、こういう開発を出来る人が少ない

上記★印のところで、ソフト開発が大幅にかかる。
だけど、はじめから、「サーバーレスでマイクロサービスで!」作れるのならいいけど
たいていは
 ・思った以上の予算がかかる(スケールしないのなら不要な予算)
 ・開発が難しく、人材が探せない
ということで、それは無理。

で、要求の段階で、トラフィックやトランザクションが見積もれても、
処理の書き方、サービスの選び方一つで、同じトラフィック、トランザクション
でも、上記のどの段階で開発をするかが変わってくる。
もちろん、それによりコストが変わる。

なので、

「実は、要求が決まっても、開発コストは見積もれなくなっている」、

むしろ、前に書いたけど、「要求が大事というのは古い時代の話」で、今は、
どう実装するかが大事だから、計画よりもPoC作って確認したほうが早いんだよねえ・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

無線LANケーブルとは

2017-10-17 12:59:01 | ネットワーク
前に書いた

「無線」LAN「ケーブル」
http://blog.goo.ne.jp/xmldtp/e/2e0f7bcf638681c3d52dfb6819c0f82d


の答え

無線LANケーブルってなんだよwwwと思って調べてたら正解が見つかった
https://twitter.com/peko29435649/status/919872435440070656/photo/1


LCXケーブル

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする