アプリケーションで WP、iOS、Android などをサポートする必要がある場合は、これらのプラットフォームで簡単に使用できる API を構築できるテクノロジを検討する必要があります。その場合、コンテンツ ネゴシエーションをサポートする API を構築できる新しいASP.NET Web APIを検討することをお勧めします。
それに加えて、 Blob Storageを使用して Windows Azure にデータを格納する方法についても確認する必要があります。これにより、すべてのファイルに URI を指定し、アプリケーションがこれを行う代わりに、Blob Storage がこれらのファイルをユーザーに提供できるようになります。これにより、フロントエンドの負荷が大幅に軽減されます。これをCDNと組み合わせて、複数のエッジ サーバーで画像を利用できるようにして、ユーザーに最も近い場所からコンテンツを提供することもできます。
画像を扱っているので、サムネイルの作成、フィルターの適用など、これらの画像を扱うことになると思います...これらのタスクは多くのリソースを使用する可能性があり、そのすべての負荷をフロントエンド (Web ロール / Web サイト)。そのため、キューを使用してこの作業をバックエンド (ワーカー ロール) にオフロードするのが一般的な方法です。Workerロールとキューを使用してサムネイルを作成するトレーニング キットからの完全な例を次に示します。
Silverlight の部分に関しては、個人的には、Silverlight は使用しません。デスクトップのみに制限されるからです。ASP.NET MVC + jQuery / (他の JS フレームワーク) を使用すると、ネイティブ アプリケーションが利用できない場合でも、モバイル/タブレット ユーザーがサイトを操作できるようになります。