シンガポールでアジアのエンジニアと一緒にソフトウエア開発をして日々感じること、アジャイル開発、.NET、SaaS、 Cloud computing について書きます。

マイクロソフトのクラウド“Azure”上に書籍の物々交換サイトを立ち上げた

»

 小生、今までいくつかのSaaSシステムを開発してきた。その場合、サーバなどのハードウェア、ネットワーク接続環境などは、自前で準備するのが今までのやり方だった。開発は、自分のPCで行い、デプロイでは自分のPCで構築したリリースコードをサーバ上に準備したWebのルート上にXCopy deployするのが普通のやり方だった。

 立ち上げ時期のベンチャーの場合、サーバはオフィス内の片隅に本棚で囲んだサーバルームを作って、そこにサーバを並べたり、ラックを購入してそこにラックマウントのサーバを重ねて置いたりすることになる。そのやり方は、サービスを使ってくれる顧客が大きくなるにつれて、問題になる。セキュリティや稼働率の問題だ。誰でもアクセスできるところに、顧客の重要な情報が格納されているサーバがあるのは、「セキュリティ上問題だ!」とか、オフィスの停電でサーバがダウンするようでは、「高いサービスレベルを維持できない!」などだ。

 そこで、次のステップはデータセンターにサーバを移し、そこで運用を開始することになる。ここらあたりで、開発部隊が兼務でサーバの管理を行うことの限界になってくる。インフラ専門の担当者を置くようになる。

 ここまで来るまでに開発の費用以外の初期投資はかなり大きな額になるのが普通だ。例えば、サーバ群がうん百万円。データセンターの維持費が50万円/月など。さらにWindowsを使うと、OSやデータベースののライセンス料もかなり大きくなる。インフラ担当者の給与もばかにならない。

 そんなことから、ベンチャーと言えども、事業の立ち上げ時にかなりの投資が必要となる。とても個人が自分で、何かのサービスを立ち上げて、運用するなど出来ない。インターネット上でサービスを立ち上げることが出来るものは、潤沢な資金をはじめから持っているお金持ちか、確実性の高いサービスを立ち上げることや卓越したプレゼンテーション能力などで、ベンチャーキャピタリストからの資金提供を受けることに成功した「起業家」だけになる。

 さて、Azureはマイクロソフトが提供するクラウドコンピューティングである。そして、そのクラウドコンピューティングを使うと、サービス立ち上げ時のコストのあり方が様変わりする。極端な話、個人の優秀なエンジニアが、一人で立派なサービスの立ち上げが可能になる。クラウドコンピュータを利用すれば、サーバ、OSの購入の必要はない。インフラ担当者も不要だ。クラウドコンピューティングにかかる費用は、負荷に比例したものになるので、最初の立ち上げ時のまだ顧客が少ない時期には少ない費用ですむ。顧客が増え、サーバの能力の増強が必要になっても、簡単にサーバ能力を増強出来る。世界最大のソフトウェアメーカであるマイクロソフトのクラウドを使うのだ、セキュリティーの問題もそれでクリアされる*1

 ということで、小生もその潮流に乗り、個人でインターネット上のサービスを立ち上げることにした。本気で収益が出ることを目指している。これから何回かに分けて、システム構築する時に克服した技術的課題や、シンガポールで起業する時の体験などを中心に書く。内容は直接的な宣伝ではないが、サービスの宣伝になるのも事実で、このコラムを、エンジニアライフが掲載してくれるかどうか分からない。とにかく、これから何回かに分けて書くことにする。

 ということでリリースしたのが下のサイト。「スワップスクエア」と言う。興味のある方は、サイトにアクセスして、実際に会員登録して使用を開始してもらえればありがたい。使用料はもちろん無料で、これからもずっと無料だ*2。Azure利用にかかる経費だが、Pasona Tech他がAzureの拡張サブスクリプションの費用を、6カ月間キャッシュバックしてくれるキャンペーンを実施しており、現在それを利用している。その為、基本的には6カ月間は無料と言うことになる。6カ月の無料の期間の終了後、継続してサービスを使えるほどまで、収益が出ていることを期待している。また、現在は、Web Role(サーバ)1台のサブスクリプションなので、同時アクセスが増えてくると、台数を増やす必要が出て来て、無料の範囲を超えて、料金を払う必要に迫られるかもかもしれない。とにかく、これからどんどんとチューニングを施し、少ないハードウエアで最大の性能を発揮できるように、改善していくつもりだ。なお、会員になる前に、実際にどんなものか、見たい人は、ユーザー名:guestとパスワード:guestを使うと、システムの内部をのぞくことが出来る。もちろんそのユーザー名では、データの変更を伴うような操作はできない。

Swapnew

スワップスクエアのウエブサイト

 Swapsquare.comのドメインはすでに使われていたので、URLはhttp://www.swaptwo.com/にした。まずは書籍の蔵書管理と物々交換からサポートするが、徐々に対象品目を、マンガ本、DVDやCD。そして、あらゆる種類の収集家のためのサイトを見さすので、レトロなところで、LPレコード、さらに切手やコインなども扱えるようにすることを考えている。とにかく、何でも扱えるようにする予定で、そのつもりでシステム開発している。日本にも電子書籍の波が、米国から遅れること数年で、そろそろやって来そうなので、紙の本を扱うことだけで打ち止めにするわけにはいかない。

 使用した技術。マイクロソフトのAzureはPHPなどもサポートするらしいが、やはりマイクロソフトのWeb技術ということで、ASP.NET MVCの最新のASP.NET MVC3を採用した。一般にクラウドコンピューティングでは、リレーショナルデータベースはあまり使わないらしい。それに合わせて、AzureもTable StorageやBlob storageなどをサポートしているのだが、今回は結局やはりAzureがサポートしているということもあり、SQL Serverを使うことにした。ただし、NHibernateを使い、データアクセス層のSQLコーディングはゼロにした。また、TDDの開発に必要なDependency injectionを実装するために、Repository patternを全面的に採用しているため、データ層はきれいに分離できており、場合によってはSQLサーバから、Table Storageにコンバージョンも意外に簡単にできるかもしれない。次回は、本システムについて、技術的内容をもっと突っ込んで書いてみたい。

*1 世界有数のゲームメーカーであるSONYが最近、個人情報を億の単位で流失するという事件を起こしている。もしかしたら、企業の規模で、セキュリティの程度を判断するのは間違っているかもしれない。しかし、Windowsと言う世界のほとんどのコンピュータで使われるOSを開発しているメーカで、過去に何度かセキュリティの脆弱性を突かれる事故を起こし、その反省から、ここ10年ぐらいセキュリティの強化に、徹底して力を入れてきたマイクロソフトだ。信用して良いと思う。

*2 無料でどうやって収益を得るのか、実はそのあたりがまだ分かっていない。当面は、アマゾンのaffiliateの収益がある。多分、そんなに期待できないだろう。しかし、世の中には無料でサービスを提供して、収益を得ている企業が、Googleを始めとして、たくさんあるわけで、なんとかなるのだろう。クラウドコンピューティングを使い、初期投資がほとんど不要だということで、こんな風に後先を考えずに、気軽に無料のサービスを立ち上げることができる時代になったと言える。

Comment(0)

コメント

コメントを投稿する