元業務SEの仮想通貨妄想録

元業務SEの仮想通貨の日記を記載します。

【元業務SEの愚痴】サイジングの難しさ

必要なリソースって?

はいCPU,メモリ、ストレージ、ネットワークの容量帯域がおもなところでしょうか?

しかしこれらを全部正確に見積もれる人って見たことありません(笑)*1

だって何やるか要件は顧客によってまちまちですからね。

 

f:id:aida9981:20171119081344j:plain

大抵は実験機で検証します

同型のしょぼい試験機で実証実験しますが、、大抵比例しない&そもそも設定値で動かないです。

ついでにいうと、試験(実験機)そのものがない可能性だってあります。

何度試験機ではうまくいったけど本番機ではうまくいかない(性能がでない)、、って経験したか、、、 (顧客は当然怒ります)

 

機能追加の場合はまだある程度正確

既に稼働しているものは大体どれぐらいのリソース使われてるか判断しやすいので計算しやすいのですが、 しかしそれでも、新規機能のパフォーマンスの見誤りからリソース不足やリソース過多になって怒られることはしばしば。

過多はいいじゃないかといわれますが、はっきり言って顧客からみればオーバースペックで高いだけです。

 

そもそも必要リソースが不明

な案件も多いです、通常時はこれぐらい、バースト時はこれぐらいなどなど業務内容を聞いてまとめているとある程度判断するのですが、顧客が言うことはあいまいです。

だって、専門家じゃないから分からないですからね。

 

なのでえいやーで設定していくしかありません、1.2倍でいくときもあれば最悪値で見込むときもあります。(顧客には1.5倍とかいいながら、、、)

だって動かないのが一番危険ですからね。

 

業務によって必要なリソースは異なる

CPUがネックになるのか、メモリがネックになるのか、メモリ帯域がネックになるのか、、などなど、、、考えることは山ほどあります。

 

ベンダー情報は参考程度に

H/Wベンダーがいう性能は大抵最大値というか理想値です、平均といいながら実際うごかすと下限をしたまわったりすること多々あります。

H/Wだけの問題ではなくS/W側の問題だったりもするのですが鵜呑みにしてると痛い目に遭います。

でも自分たちよりは情報を多くもっているので、開示可能な情報はできるだけ出してあげましょう。

ベンダの技術者と仲良くなってるとこういう命令(使い方)が多いと遅いとか速いとか積極的におしえてくれるようになります。

 

プログラマや環境を作る人達はしったことじゃありません

言われた通り作るだけです。普通に

試験したら性能出ませんでした。

ってチケットが発行されるだけです。改善するなら金よこせです。*2

こういうとき

ソース読めない業務SEは言われるがままになりますよ!気を付けて!

中見たら無駄な処理いっぱいだったりします。なんでここ毎回ディスコネクトしてるの?セッション使いまわせよとかコストの高い命令ばっかり並んでるとかざらにあります。

だって、しょぼいプログラマはネットにあるソースコピペしてうごけばいいとおもってますから(失礼)

 

で、なにがいいたいかというと

SE目指す人はソフトウエアが動くためのH/W選定に必要な勘どころをみつけられるよう日々の業務のなかで注視しておいてください。

どこで何が詰まっているかわからないとサイジングやデバックができません。

正直Javaとか高級言語がメインになってくるとさらにわけわからなくなったりするんですけど。まぁそれはそれ。決まった環境でうごかせるようにするのが腕の見せ所。

 

一番さみしいときは

新人やプログラマに、適当なソースや設計だされて、直すより足りないなら追加すればいいじゃないですか、、CPUとか安いし、、、とかコンシューマレベルの話を普通にされたときですね。

サーバ製品はクソ高いんだよ!そして無限に追加できるわけじゃないんだよ!

こっちは容量計算して設置サイズとかして機器選定してるんだよ!!!w

何で設計時に不要にメモリ固定でとりまくってるんだよ(たとえば必要の数倍かけてるとか)。*3

ある意味問題解決としては間違ってないですが、自分たちの力不足を顧客にさらけ出すことになることを平気で言われると寂しくなります。

 

予定外のH/W増強を顧客に説明する難しさ

これは経験しないと分からないと思いますが、現場はよくても経営陣はそう簡単に納得してくれません。あたりまえですよね、できるっていってたことできないから本番機は高いのかえっていってるんですから。

エビデンス集めからはじまり、できない理由を説明する労力ははかりしれませんん。

あとテクニックもいります。

こういうときあの人がいうならしかたないっておもわせるような人の付き合い方

をしていると楽です。*4

 

何かよくわからない記事になりました

ただの愚痴ですね。

将来をみこして大きなサーバいれてくれる顧客がすくなくなってからサイジングの重要性ってどんどん高まっていると思います。将来の拡張もかんがえつつ選定しないといけないんですから

言われた通り作るだけの プログラマさん(だったら)はこういう苦労を一度してみるといいです。マジデ

作ったものをハイハイと受け取ってくれて、動く環境を用意してくれるSEさんは優秀です。

サイジングも丸投げされるようだったら依頼したSEをヤッチャッテください。仕事放棄しています。

*1:もちろんちかいところを当てられる人はいますよ、特に既存システムだと

*2:すみません、全員ではありません

*3:自分は火消担当が多かったのですでに設計終わってる現場に入ることが多いため

*4:SE生活で何回か嘘ついてごまかしてます