Azure Marketplace 事始め – ビルディング ブロック-

Azure上のMySQLのホスティングサービスである ClearDB を利用された事のある方、は多いと思います。
ここでは、そのビジネス上のフレームワークとなっている Azure MarketPlaceを取り上げます。まずは「事始め」からです。

エンジニアの皆さんがクラウドに慣れてきて、次に考えるのはクラウド上でビジネスを考えているユーザーさんと、スモールスタートを成功できたとします。その先で、ビジネスがうまく回るようでしたら、その拡大を考えると思います。その際にどう対応するか、というお話です。

サービスモデル

ここで取り上げたいのはスピードです。

クラウドの良さの一つにビジネスの早さに、アプリケーションが対応できる速さを「サービスモデル」として取り入れられる、という事があります。全てのサイクルを早くする必要はありません。従来通りの対応の他に、クラウドのスピード感がある、という事だと思います。

サービスモデルについては、de:code 2015のスペシャルセッションが参考になります。
https://channel9.msdn.com/Events/de-code/decode-2015/SPL-001

アプリケーションの内部構造を再考

多くの場合、アプリケーションの全てを自分たちで開発する事はないと思います。ASP.NET MVCや、struts、Ruby on Rails、Cake PHPなどといった、アプリケーション開発のフレームワークを利用する。通知などのミドルウェアを利用する。といった事をしていると思います。
これまで通り、アプリケーションの中で、例えばメール送信のライブラリをdllなどの形で内部に取り入れ、パッケージ化して、デプロイする。これもやり方です。

ここでは、IaaSなどのモデルを参考に、アプリケーションの中を掘り下げてみましょう。

この図の中では個別サービス、機能、モジュールを「xxx Svc 」と箱 (ブロック)にしています。それらをどう実装するか、という場合にAzure MarletPlaceは「選択肢」を与えてくれます。

通知を考えてみましょう。モバイルアプリケーションですと、iPhoneなどがネイティブサポートしているPush通知の仕組みを呼び出すと思います。Twitter投稿や、メール送信もあるでしょう。

例えばメール送信だけでも、.NET Frameworkなどのメール送信APIで事足ります。SMTP Serverは別途必要ですね。この場合、その部分は皆さんの責任で管理する事になります。また、メールについては、そもそもの稼働状況だけでなく、正しく届いたのか、届いた後開封されたのか、など、メールそのものの専門的な機能・レポートも必要になるかもしれません。メールサーバーという事自身、実は大きなトピックですよね。Exchange serverの多機能を見れば一目瞭然です。

例で考える。 SendGrid

SendGridが、Azure MarketPlace経由で、メール送信のサービスを提供されています。

このメール送信部分だけは、SendGridを使うようにすると、その部分は「パートナー管理」に変わります。皆さんはSMTP Serverと立てることも、同時対象メールが、スパム扱いされないようにすることも出来ます。同時に、多くの専門的な機能が使えるようになります。

  • APIによるオートメーション
  • インフラとコストの伸縮性
  • アナリティックス。リアルタイムも

同等のものを実装しようとすれば、大きなサブシステムになりますよね。

SendGridは日本でも、構造計画研究所さんが、サポートをしています。

https://sendgrid.kke.co.jp/blog/?cat=12

SendGrid利用方法:

以下2名のエバンジェリストのblog Postを。他にも見つかると思います。Bingで検索してくださいwww

佐藤さんのblog:

https://satonaoki.wordpress.com/2013/12/12/azure-sendgrid/

鈴木さんのblog:

http://blogs.msdn.com/b/shosuz/archive/2013/01/03/sendgrid-windows-azure-mobile-services.aspx

Azure Markeplaceでのサービス提供種類

今後変わるかもしれませんが、幾つかの提供形態があります。

  • 仮想マシン

OSSのものも、商用製品もあります。OracleさんのDBなどがこれに該当します。ライセンスとサポートの契約も含まれます。多くの場合、仮想マシン自身の運用管理は、エンジニアの皆さんの責務となると思います。時間課金になりますね。

  • アプリケーションサービス

SendGridのサービスは、エンジニアの皆さんがAPIコールをする事を前提としています。ClearDBもこの範疇です。利用料、という発想ですので、サービスの運用管理は、サービス提供者側になります。こちらは月額課金となります。

  • データサービス

Bing Translatorの様にパラメータを投入すると、データが返ってくるものです。こちらはトランザクション回数、データ量などで課金がされ、サービスの運用管理は、サービス提供者側になります。こちらも月額課金となります。

ご参考:

Azure Marketplace を発表:

http://blogs.msdn.com/b/windowsazurej/archive/2014/11/12/blog-announcing-the-azure-marketplace.aspx

Azure MarketPlaceの今後

現在、日本のエンジニアの皆さんも、是非皆さんの利用シナリオにあったサービスを探してみてください。

そして、無ければ皆さんのサービスをここに提供する準備を是非。詳細は今後明らかになります。

https://azure.microsoft.com/ja-jp/marketplace/

フィードバックは、勿論こちら!

http://feedback.azure.com/forums/216369-azure-marketplace

コメントを残す