筆者が所属する企業では、主にオンプレミスにてWindows Server及びASP.NETをプラットフォームとしたASP・SaaSの開発・運用を行い顧客企業に対して提供を行っている。先日、新たなサービス開発に当たり、Windows Azure Platformを採用。すでに2つのサービスの開発及びリリースを行い現在に至っている。
なお、現在の筆者の主な職務は開発者兼ITProである。読者の中にも同様な職務に従事している方々がおられると思う。当記事では、これまで筆者が体験してきたWindows Azure Platformの採用から実際の開発・運用等で得られたノウハウ・知見などを、主にITPro的な視点で紹介していきたいと思う。
その前編となる今回は、Azureを採用するうえで検討した内容について触れていく。
執筆者紹介
阿部和幸(ABE Kazuyuki) - コムテックス
コムテックスにて主に新サービスの開発に従事。マイコン~汎用機までのさまざまな開発/運用経験を持つ。コムテックスは、「"つなぐ"ソリューションを富山から全国へ!!」をキャッチフレーズに、コミュニケーション能力の最大化を目的として、現場や人を"つなぐ"仕組みやサービスを社会に提供する企業。なかでも、建築/建築資材業界に特化した、システムを多数開発しており、実績とノウハウ、経験と知恵で顧客の信頼を"つないでいる"。
弊社開発システムの概要と採用したAzure機能について
今回、筆者が開発してきたシステムの概要およびそこで採用したAzureの機能について簡単に紹介する。
1つ目は、図1に示すように、タイムカードのような簡単なCTIシステムである。
オンプレミスにある電話設備に対し、システムの利用者より着電すると、画面上にその状況が随時プロットされていく。
このシステムはWebロールで稼働させている。WebプラットフォームとしてASP.NET MVC V1、データストアとしてSQL Azureサービスを採用している。
もう1つは、図2に示すように、グループウェアのようなシステムで、一般的なスケジュール管理及び、画像/文書等のバイナリーファイル共有等の機能がある。
また、前述の1つ目のシステム機能も包含している。その他の機能としてExcel2003形式ファイルでのデータエクスポート、PDFファイルでの帳票出力、各種の通知用としてメール送信などが組み込まれている。
このシステムもWebロールで稼働させており、WebプラットフォームとしてASP.NET MVC2、データストアとしてSQLAzureサービス及び、Azure ストレージのBLOBサービスを採用している。
なお、下記にシステムの概要などが記載されているので、興味をお持ちの方は参照いただきたい。
入退出管理システム : http://www.ctx.co.jp/deiri_pr/
グルーウェアシステム : http://www.ctx.co.jp/kizuku_pr/
Windows Azure Platform(クラウド)とそれらの機能の採用ポイント
さて、前置きが長くなったが、前述したシステムを開発・運用するに当たり筆者(及び所属企業)が採用時に留意したポイント等について述べたい。
なお、今回の案件はスタートが2009年12月頃であったので、記述内容と現在の情勢などに食い違いがある場合もあると思われるがその点についてはご容赦願いたい。
また、恥ずかしながら案件スタート当時、筆者はクラウドについては全く無知であって名前程度しか知らない状態であった事を申し添えておく。
なぜ、クラウドを採用したのか
冒頭でも述べたように、オンプレミスでのWebシステムを開発・提供するのが筆者の所属企業の通常のビジネス形態であるなか、あえてクラウドを採用・挑戦したのは下記の理由からである。
- 経営トップ自らが自社のコンピタンスとしてクラウド技術を求めた事と、筆者を含めた人員の知的好奇心など、ニーズとシーズが一致した事
- 今回は新規事業開拓に伴うフルスクラッチでのシステム開発案件であり、既存顧客等へのシステム提供案件や既存システムの移行案件等の際に生じるであろう、顧客への説明と理解/承認、互換性や相互運用性、データ移行の問題など様々な懸案事項に関してほとんど考慮する必要もなく、クラウドを採用する事で生ずるリスクがある程度許容されており採用しやすい環境であった事
- 新規事業開拓用の為、サーバー設備類へのインフラ投資や運用コストなどを極力抑制する必要があり、コストミニマムでスモール・スタートする事が必要であった事
- 将来の需要に応じて追加のインフラ投資などを行わなくとも容易に増強が可能であり、必要時には応分の利用コストは発生するが、それに対する収益面でも問題が無い事を判断した事
- 一般的にはデータ類を外部に出すリスクを心配されるが、今回の案件では問題が無い事を判断した事