老エンジニアたちの挽歌4

主「予定管理したい」

 

この時のシステムは、Googleカレンダーを駆使して、予定を登録し、

カレンダーのタイトルや詳細に、内容がわかるように、

コロン区切りで入れる。

例えば、

講師名:生徒名:内容:科目:授業時間:休みなどのステータス:・・

といった感じ。

 

自作の業務システムのほうで、Googleカレンダーを読み込み、

コロン区切りをばらし、正規表現を駆使して、自前のDBに当て込むことをしている。

※自作業務システムは往年のさくらインターネットを使っている

 

その時にの弊害として、取り込むたびに、確定していた予定が、誰かが過去のGoogleカレンダーをいじるせいで、書き換わってしまう。

自作システムのほうで操作した内容が失われる。

あげく、受講料計算などを間違えることにつながっている。

 

私「かなりやばいですね」

主「どうやって対応すればいいですか?」

私「業務にGoogleカレンダーは使わないっすよね。

 なので、業務システムのほうで、カレンダー機能もちますよね」

主「カレンダーのUIみたいなのって作れるもんですか?」

私「Googleカレンダー通りではないですが、fullcalendar.jsとか使えば、

 それっぽいものはできます」

主「作ってみてください」

私「わかりました」

 

1か月後、

私「とりあえず、それっぽいものはできました」

主「いいですね、これでいいや」

A「Googleカレンダーに比べ見劣りしますね」(そりゃな・・)

私「これでよければ、業務カレンダー機能をこの画面で対応する」

主「旧システムにいれられますか?」

私「旧システムは全然手をつけてないので、ノウハウ共有するので、

 Aさんか、Bさんが旧システムをメンテすれば対応できるんじゃないですか?」(無理だな)

主「じゃあ、新しいシステムのほうで対応するでいいです」

私「休み判定とかどうするんですか?」

主「どうするつもりですか?」

A「・・・・」

私「API連携じゃないですかね」

A「じゃあAPI作ればいいですか?」

私「ほかに方法思いつきますか?」

A「・・・・」

私「DBが共通化できるなら、APIいらないですけど」

A「・・・・」

私「例えば、さくらインターネット側から、AWSのDBを読むことは可能ですが、

 逆はできません。将来的に、業務システムの画面が新システムになるから、

 このほうが、将来性は高いと思います。

 相互連携するなら、さくらインターネットやめて、全部AWSか、APIですね」

A「APIで!」

主「一応、さくらインターネットで、AWSから参照できるように対応できるかしらべてください」

 

その後、さくらインターネットの上位プランで、一応可能になるようだが、

インフラ代が5万ぐらいになるので、断念。

 

古いシステムがさくらインターネットで動作し、

新しいシステムをAWSで開発するプロジェクトはちなみに4回目になる。

大体末路として、古いシステムは消滅する。

 

私「古いシステムをAWSに移行したほうがいいです」

主「総合的にほかのエンジニアの意見を聞きましょう」

A「大変じゃないですか、(反対です)」

B「それ(AWS)は,なにか普通のサーバーと違うんでしょうか?」

私「ふつうのサーバーを仮想化して、ソフトウェアの状態で利用します。

 そのため、バックアップとかが非常にしやすくなります。

 中身は普通の空っぽのlinuxと変わらないので、いったん再構築は必要となります」

B「古いシステムは特別なものをインストールしてないので、動くと思うんですけどね」

私「では移行したほうがいいと思います」

主「移行するメリットは?」

私「AWSのリソースが利用できる。特にDBの共有ができるので、データ連携とかAPIとか作らず解決可能になります」
主「デメリットは?」

私「APIの開発ですね」

私「結局、移行工数と、APIの開発工数トレードオフ要素といった感じにはなります」

B「結局何をすればいいんですか?」

私「AWS環境に古いシステムを乗せ換えてテストする感じです」

A「動作するか保証できない」

B「わかりました。検討します」

その後、Bさんが持ち帰って判断材料を出し、

結局動作確認が難しいとなった。

Googleリソースなどの外部連携要因が多いのはしょうがないと思う。

これにより、API開発が必要となり。

そのAPI開発工数が半年以上かかっても完成しないとは、この時点では誰も考えていない