BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース MicrosoftがAzure SignalRサービスのプレビュー版を発表

MicrosoftがAzure SignalRサービスのプレビュー版を発表

原文(投稿日:2018/05/18)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください。

Microsoftは最近、Seattleで開催された毎年開催されるBuild開発会議でAzure SignalR Serviceの公開プレビュー版を発表した。SignalRは個別のASP.NETライブラリとしてダウンロードすることができたが、完全なマネージドサービスとして利用できるのは初である。

SignalRは5年以上前にライブラリとして開発され、ライブダッシュボードなどのWebアプリケーションに対してリアルタイムエクスペリエンスを提供するために使われている。これは、サーバ側のコードから接続されたクライアントにコンテンツをリアルタイムでプッシュすることで実現する。この機能はWebSocketを通して提供されるが、WebSocketsがサポートされていない場合、サーバサイドイベント、永続フレーム、ロングポーリングを代替として使用する。

SignalRコンポーネントを直接ホスティングする場合、ユーザはセキュリティ、暗号化、容量、スケーリングの対応をしなければならない。ホストされた複数のノード間でサービスをスケーリングするには、各サービスノード間の接続を管理するスタティックバックプレーンを使用する。自己ホスト型SignalRではこのスケールアウト機能を提供するために、Azure Service Bus、Redis Cache、SQL Serverをサポートするライブラリを使って、バックプレーンの作成と管理が必要となる。

Azure SignalR Serviceは、独自のバックプレーンを用意することなく、スケールアップとスケールアウト機能を直接提供することで、セルフホスティングインスタンスに関連する複雑さを解消している。さらに、セキュリティは、サービスが共有アクセスキーを使って管理する。

サービスのインスタンスは、ほとんどのAzureサービスと同様の方法でAzureポータルから作成できる。インスタンス名はグローバルに一意である必要があり、サービス、価格レベル、リージョンロケーションを保持するためにAzure SubscriptionとResource Groupを選択する必要がある。

Azure SignalR Serviceは現在、East US、Southeast Asia、West Europe、West US、West US 2で公開プレビュー中であり、2つのサービスレベルがある。

Basicレベルを選択する場合、インスタンスがサポートできるメッセージ量と接続数を決定する最大10のスケールユニットを選択できる。公開プレビュー版では、自動スケールはサポートされていない。

SignalRは、firehose.iosocket.ioなど、リアルタイムWebアプリケーションの開発をサポートする多くのコンポーネントの1つである。Firehoseは、Backbone.jsやEmber.jsなどの一般的なJavaScriptフレームワークで直接サポートされているが、HTTPエンドポイントを呼び出せるクライアントであればRESTfulな設計を使うことができる。Socket.IOは、Trello、Zendesk、Microsoft Officeなどのリアルタイムインタラクションを必要とする多くのアプリケーションで使用されている。

Azure SignalR Serviceは現在、ASP.NETコアをサポートしており、また、JavaScriptと.NET用に提供されたクライアントをサポートしている。このサービスはHTTPエンドポイントを公開しているため、エンドポイントを呼び出すことができる他のクライアントは、そのサービスと直接対話できる。

MicrosoftのAzureのプリンシパルソフトウェアアーキテクトであり、SignalRライブラリの立ち上げ時のアーキテクトであるDavid Fowler氏は、今回の発表で、現在のSignalRプロジェクトを新しいサービスを使用するように変換する方法について説明している。

既存のSignalRベースのWebアプリケーションを持っている場合は、Azure SignalR Service SDKへの参照を追加し、接続のための文字列を設定し、services.AddSignalR().AddAzureSignalR()とapp.UseAzureSignalRをサービスに接続します。その後、アプリケーションはサービスの使えるようになります。

この発表で、サービスが一般向けの公開に向かうにつれて、他言語のSDKが利用できるようになるはずだと言われている。

Basicレベルのサービスは現在1時間あたり0.0335ドルとなっている。ただし、現在の価格ページでは、レベルごとに異なる用語が使われており、ポータルでは、FreeはDev/Testと呼ばれ、BasicはStandardと呼ばれている。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

BT