オルタナティブ・ブログ > プログラマー社長のブログ >

プログラミングでメシが食えるか!?

ProDHCPがたくさん使われ、安定稼働し続けている背景など

»

今週も忙しい一週間でした。特に私が自分で担当している、ProDHCP関連の、構築・テスト・説明会・切り替えが今週来週という案件と、今日が納期のカスタマイズ案件が山場でした。もちろん、それだけではなく、ずっと続いている共同開発案件などもあります。

ProDHCPは管理表を見ると、すでに直販のソフト売りで数十ライセンス、さらにOEMで数百ライセンスが出ていて、私が自分で作ったサーバプログラムでは一番世の中で動き続けているものと言えるでしょう。しかも、DHCPサーバは24時間365日連続稼働させるものなので、我ながらよく動いているものだと感心してしまうほどです。

昨日、再開発の話題を書きましたが、ProDHCPは珍しく(?)再開発はしていません。2005年の夏にプロトタイプを開発したときのソースコードがほぼそのまま発展してきた感じです。3日でプロトタイプを作って提案し、テスト開始まで2週間という、呆れるほどの短納期で作り上げ、1ヶ月後くらいには本稼働をはじめたような感じでした。

これだけの短期間で作ったソースがそのまま今でも使えているのにはちゃんと理由があります。DHCPサーバを作るのは初めてでしたが、

・ネットワークプログラミングは実にたくさん仕事で作っていたので、開発技術面では慣れたものだった。
・大規模データを扱うことは、入社前後からやっていたCADシステムで経験を積んでいた。
・使い慣れたUNIX系OS+C言語。

大学1年からC言語はやっていたので、2005年時点ですでに15年くらいは経験があったわけです。

ProDHCPはその案件の後、自社製品として販売することになりましたが、1年以上まったく問い合わせもない状態でした。しかし、現在もOEM供給しているソリトンシステムズさんに使っていただくようになり、品質面や仕様面もレベルアップし、さらに、ソリトンさんで採用というブランド力(?)で問い合わせも増え、その後、公衆無線LAN関連をはじめとした大規模案件で実績を積み、幅広く使っていただくようになったという感じで発展してきました。

DHCPサーバをフルスクラッチで開発しているということと、国産自社開発というのはとても珍しく、カスタマイズの相談も比較的多くありますし、何よりも、サポートが完璧にできる(何かあっても必ず解析・解決できる)という点が評価されているようです。もちろん、性能が高いということもありますが、小規模案件でも使われているのは、やはり広い意味での信頼性でしょう。

実はプログラミングの作りの面でも、信頼性を高める方法で作っています。そうでなければこれだけたくさん使われて、私が他の案件もやったり、バンコク出張に行ったり、寝たりすることも難しかったことでしょう。当初は構築の際には必ず私が自ら手を動かし、立ち会ったものですが、今ではSIerさんが担当してくれたり、社内でも他のメンバーが構築してくれたりしています。

プログラミング的には何ら高度な手法は使っておらず、C言語初心者でも簡単に読むことができるソースです。ソリトンさんへのOEMが決まった背景にはソースが理解できるということが大きかったと聞いていますし、IPv6版に私以外のメンバーで流用できたのもソースが簡単だからでしょう。もちろん、私自身もソースが簡単なので、メンテナンスや機能追加も容易なわけです。

それでも、機能追加したバージョンが新規稼働はじめるタイミングや、新規案件で稼働を始めるタイミングにはドキドキするものですが、自分自身で「こう作ったのだから大丈夫」と思えないものはインターネットの基幹部分へのリリースなど怖くてできません。シンプルに作っているからこそ、自分自身も安心してリリースができているのです。まあ、それでもごく希に不具合はあったりしますが、人がやっていることなので仕方ありません。それでも大惨事にならないように、冗長化や監視・チェック機能なども含めてシステム化して提案・構築しているわけです。

DHCPサーバは空気のような存在で、動いて使えて当たり前、というイメージだと思いますが、実は結構苦労して世に出しているのです。

Comment(0)