[Sample Of Apr 15th] How to add multiple delegates in Office 365 Exchange Online

 

Homepage image
RSS Feed

Sample Download : http://code.msdn.microsoft.com/How-to-add-multiple-af21e3ef

Currently, you can easily add delegates in Outlook. But you may find this feature is not available in Outlook Web App (OWA). In this application, we will demonstrate how to add multi delegates in Office 365 Exchange Online.

1. Get the addresses of delegates;

2. Get the addresses of primary accounts;

3. Set the ImpersonatedUserId property if the login account has the impersonation permission.

4. Add all the delegates into all the primary accounts.  

imageYou can find more code samples that demonstrate the most typical programming scenarios by using Microsoft All-In-One Code Framework Sample Browser or Sample Browser Visual Studio extension. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates. If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch the introduction video on Microsoft Showcase, or read the introduction on our homepage http://1code.codeplex.com/.

????? ?? ????? ????? ????? ?? ?? ?????.

오늘은 소셜 러닝 시장을 개척하고 계신 ㈜바풀의 김영재 CTO님과 함께 이야기를 나누어 보았습니다.

김명신: 안녕하십니까? 이번에 Azure 분야에서 마이크로소프트의 MVP가 되셨다고 이야기를 전해 들었습니다. 다시 한번 축하 드립니다. 먼저 CTO로 계신 “㈜바풀”이라는 회사에 대해서 잠깐 소개해 주시면 어떨까 합니다.

245573721651김영재: 저희 회사는 이제 3년이 된 스타트업이고 “바로풀기”라는 이름의 앱과 서비스를 제공하고 있습니다. “바로풀기”는 간단히 말씀 드리면 학생들이 질문을 올리고, 답변을 할 수 있는 앱 이라고 말씀드릴 수 있을 것 같습니다. 여기까지는 단순 게시판 등과 유사할 수 있는데, 저희는 이러한 서비스를 통해서 여러 사람들로 이루어진 소셜 환경을 구축하여 공부 친구를 사귈 수 있다는 점에 차별점이 있습니다. 교육적으로 보자면 피어 러닝(Peer Learning)의 온라인화라고 정의할 수 있을 것 같습니다. 하루 3,000개 이상의 질문이 올라오고, 80% 이상의 문제가 해결이 되고 있습니다. 네이버 지식인과 간혹 비교해서 말씀을 드리곤 하는데 수학분야에서 한정해 보면 중요 수치인 질문 수와 답변률이 모두 2배 이상입니다. 저희 대표이사님께서 중학교 다니는 막내 동생에게 카톡으로 질문/답변을 주고 받으시다가 좀 더 편리하고 다양한 사람이 참여할 수 있는 수단이 있었으면 좋겠다는 생각을 가지시고 “바로풀기”와 같은 앱을 구상하였다고 합니다.

김명신: 그렇군요. 개인적인 관심분야나 혹은 취미생활이 직업으로 이어지거나 혹은 성공적인 솔루션의 개발로 이어지는 경우가 꽤나 있는 것 같습니다. 트위터나 페이스북과 같은 성공적인 소셜 플랫폼들도 회사 창업과 성공에 있어서 유사한 궤적을 가지고 있는 것 같더군요. “바로풀기”라는 앱에 대해서 조금 자세히 알아보고 싶은데요. 어떤 플랫폼에서 운영되는 앱인지 알고 싶습니다.

김영재: 현재까지 Web, 안드로이드, iOS, 윈도우 스토어 앱 형태로 다양한 플랫폼에서 “바로풀기” 앱을 사용하실 수 있습니다. 모든 앱들은 네이티브로 개발하고 있습니다. “바로풀기”의 1.0 버전에서는 웹 기술을 임베딩해서 사용하는 하이브리드 형태로 앱을 개발하였다가 다시 네이티브 개발로 전환하여 개발을 하였습니다.

김명신: 각자의 플랫폼들은 각자 서로 다른 장점과 특징들이 있어서, 많은 업체들이 이처럼 여러 플랫폼을 대상으로 서비스를 개발하고 운영하시는데 어려움을 토로하시는 것으로 알고 있습니다. 실제로 네이티브 앱으로 개발을 하시다가 하이브리드 형태로 전환을 한 사례도 상당히 많이 있는 것으로 알고 있습니다. 그런측면에서 보자면 개발인력이 많지 않은 스타트업에서 여러 플랫폼을 같이 개발하고 서비스 하시는 데에는 상당한 부담이 있을 것으로 생각됩니다.

김영재: 네이티브 앱과 하이브리드 앱은 말씀하신 것과 같은 고유의 장단점이 있습니다. 하지만 저희가 네이티브 앱 개발로 방향을 선회한 것은 플랫폼의 특징을 최대한 살려서 사용자들이 쾌적하게 앱을 사용할 수 있도록 하기 위함이었습니다. 그래서 실제로 각각의 플랫폼에서 수행되는 앱들은 미세한 차이들이 있는데요, 예를 들면 삼성 갤럭시 제품군에는 폭넓게 펜이 지원되기 때문에 이 제품을 사용하시는 분들은 질문과 답변을 하실 때 펜을 활용하실 수 있도록 하였고요, iOS의 경우에는 iOS 고유의 이쁘고 아기자기한 디자인을 최대한 살릴 수 있도록 디자인 하였습니다. 윈도우 스토어 앱의 경우 넓은 화면을 최대한 활용할 수 있도록 UX를 구성하였습니다. 하이브리드 앱의 경우 성능에도 문제가 발생할 가능성이 높고, 기능적으로도 제약이 있을 수 밖에 없는 것 같습니다. 여러 플랫폼에 쉽게 대응할 수 있는 장점이 있을지 모르나, 그 결과는 항상 80점에 머무르는 것이지요. 저희 같은 스타트업의 성패는 결국 그 나머지 20점을 어떻게 얻느냐 하는 것이라 생각합니다. 누가나 저희와 유사한 서비스를 시작하실 수 있고, 이미 서비스 중인 유사 앱이 있지만, 그에 비해 저희가 시장에서 앞서 나갈 수 있었던 기술적인 배경에는 네이티브 앱으로의 전환도 한 몫을 했다고 자평할 수 있을 것 같습니다. 빠르고 쾌적한 환경이 주는 사용자 충성도는 무엇과도 바꿀 수 없는 부분이라고 생각합니다. 개인적으로 소이치로 혼다(혼다 설립자)의 “One model, One Engine”라는 철학을 존경합니다. 각 차마다의 개성을 최대한 발현하기 위한 고유의 엔진이 필요하다는 의미인데, 앱과 플랫폼에 견주어서도 생각해 볼 수 있지 않을까 합니다. 여러 플랫폼을 지원하는 것이 기술적으로 난이도가 높고 개발 인력의 확보나 앱의 유지 보수에 어려움이 있을지는 모르나, 이러한 난관만 극복한다면, 이후에는 충분히 여러 훌륭하신 분들과 일할 수 있는 기회가 주어질 것으로 생각합니다. 회사가 일정 수준에 오르지 않고는 이러한 기회가 절로 주어지지는 않을 것으로 생각합니다.

김명신: 지난 마이크로소프트의 빌드 행사에서 다양한 이기종 플랫폼을 지원하기 위한 마이크로소프트의 전략 발표가 있었습니다. 그 중 가장 눈에 띄는 부분이 윈도우/윈도우폰/Xbox one까지를 아우르는 유니버셜 앱 개발과, 안드로이드, iOS, 윈도우 플랫폼 모두에서 C#등의 단일 언어로 코드를 개발할 수 있는 Xamarin(자마린) 프레임워크Roslyn의 오픈소스화 등이 있었는데요. 그 중 Xamarin과 같은 전략으로 여러가지 플랫폼에 대응하는 방식에 대해서는 어떻게 평가하고 계신가요?

김영재: Xamarin의 전략은 기본적으로 네이티브 개발 전략의 일환으로 볼 수 있습니다. Xamarin 그 자체의 장점은 앱의 로직을 단일 언어를 이용하여 작성할 수 있다는 것이겠지만, 여전히 개별 플랫폼의 특성에 대해서는 잘 알고 있는 전문가가 반드시 필요합니다. 플랫폼이나 개발 언어의 초급자가 여러 플랫폼을 지원할 수 있다는 장점만을 보고 시도하기에는 어려움이 있을 것으로 생각합니다. 하지만 플랫폼의 이해도가 일정 수준 이상이라면 1.5배의 노력으로 2배의 플랫폼을 지원할 수 있는 좋은 대안이 될 수 있으리라 생각합니다.

김명신:”바로풀기” 앱의 서버 측 구성에 대해서도 말씀해 주실 수 있을런지요? 다양한 플랫폼의 클라이언트를 지원하기 위한 나름이 비책이 있으실 것도 같습니다.

김영재: 서비스를 처음으로 시작할 때에는 KT 유클라우드를 이용하였습니다만, 서버 측 Blob 저장소를 구성하는 데 있어 제공되는 기능이 크지 않아 다양한 클라우드 플랫폼을 살펴보던 중, Microsoft Azure의 Storage Service를 접하였습니다. 유클라우드나 아마존의 IaaS를 중심으로 하는 클라우드 사업자에 비해서 Microsoft Azure는 PaaS를 그 중심축에 두고 있어서 저희 같은 Startup에게는 가장 적합한 클라우드 서비스라고 판단하였습니다. 유클라우드는 국내에 데이터센터가 있어서 네트워크 속도가 빠르고, 다른 클라우드 서비스에 비해서 가격이 저렴한 장점이 있습니다. 반면 비교적 안정성에 있어서 약간 실망스러운 결과를 보여주기도 하고 개발 플랫폼으로서의 장점을 거의 제공해 주지 못하였습니다. 그에 비해 Microsoft Azure는 네트워크 속도는 저희 서비스를 하는데 있어 부족함이 없고, 무엇보다 개발자 친화적인 개발환경과 편의성, 풍부한 플랫폼 API등이 있어서 낙점을 하였습니다. 지금은 모든 서버를 Microsoft Azure에 올려두었고, 이번 발표에서 세부적인 내용을 보여드리려고 준비 중에 있습니다. 저희가 처음으로 Microsoft Azure를 사용할 때에는 관리포털에 메뉴가 5가지 정도 밖에 없었는데 지금은 10개가 훨씬 넘는 메뉴들이 제공되고 있지요. 플랫폼이 진화하고 발전하는 모습을 보면서 저희에게 적합�� 기능들을 살펴보는 재미도 있습니다. 최근에는 WebJob과 같은 기능을 이용하여 저희 서비스를 개선하는 작업을 준비 중에 있기도 합니다.

김명신: Microsoft Azure가 특히 Startup에 적합하다고 판단하신 이유는 무엇일까요?

김영재: 실제로 Startup을 위한 개발 환경과 플랫폼은 빠르게 서버를 개발/구축하고, 서비스를 할 수 있어야 한다고 봅니다. 다양한 전문가를 모실 수 없기 때문에, 클라우드 서비스 업체가 가능한 많은 부분들을 기본 기능으로 제공해 주는 것이 좋습니다. 이러한 관점에서 IaaS와 같이 시스템의 설치나 구성, 운영에 시간을 쏟아야 하는 클라우드 서비스 보다는 PaaS와 같은 고수준의 서비스가 더욱 적합하리라 봅니다. 하지만 제품의 우수성과 상관없이 Microsoft Azure에 대한 마케팅 방식은 여전히 개선의 여지가 많이 있으리라 보이고, 적용사례나 한글 자료도 부족함이 있어 보입니다.

김명신: 조금 다른 관점에서 이야기를 나누어 보았으면 합니다. “바로풀기”는 모바일 플랫폼들을 중심으로 서비스를 하고 있다고 말씀해 주셨는데요. 최근에 국내 모바일 시장은 게임이 전부다라고 말해도 과언이 아닐 만큼, 기업의 숫자도 많고, 마켓의 크기도 큰 것 같습니다. 모바일 시장이 이와 같이 특정 산업에 편중되는 것은 바람직한 것은 아닐 것 같다는 생각이 있습니다. 이점에 대해서는 어떤 의견을 가지고 계실까요?

김영재: 사실 게임 중심의 모바일 시장은 안타깝습니다. 말씀 하신 바와 같이 특정 산업에 편중되는 것이 문제이기도 하거니와 상호작용하는 서비스들의 비중이 턱없이 적습니다.해외의 성공사례들을 살펴보면 각각의 기업체들이 자신이 가장 잘 하는 부분에 집중하고 그들이 융합하고 결합하여 시너지를 내고 그 안에서 다시 생태계가 구축되고, 지속적으로 변화 발전하는 등 역동적인 모습들이 보입니다. 그에 비해 한국의 모바일 시장은 퍼블리셔와 게임 개발사 등이 수직적으로 결합하여 빠르게 시장에 진입하여 수익을 창출하고 빠져 나가는 구조가 반복된다고 생각됩니다. 이는 모바일 시장이라는 관점에서 살펴보았을 때, 수익 창출 이외의 건전한 모바일 생태계의 구축과 발전의 측면에서는 바람직하지 않다고 생각하고 있습니다. 0842_2500_7824_clip_image004_thumb_55AC0446_thumb_1BE29F68_001A45D7최근 들어 카카오톡이나, 네이버, 다음 등에서도 일부 서비스들을 오픈하는 등 긍정적인 노력들이 보이는데 이러한 노력들이 한시적인 유행이 아니라 지속 발전 되었으면 하는 바램이 있습니다.

김명신: 오랜시간 인터뷰에 응해 주셔서 감사합니다. 이번 테크데이즈 미니 토요세미나에서 Microsoft Azure Service Bus에 대한 주제로 발표를 맡아 주신 점에 감사 드리고, 차질 없이 준비할 수 있도록 하겠습니다.

김영재: 네 발표 기회를 주셔서 저도 영광이고요, 좋은 내용을 발표할 수 있도록 최대한 노력하겠습니다. 많은 분들께서 참석하시면 좋겠습니다. 감사합니다.

 

테크데이즈 미니 토요세미나 안내

Visual Studio 2013 Update 2 RC ??? Azure SDK 2.3 ?????

このポストは、4 月 9 日に投稿された Deep dive: Visual Studio 2013 Update 2 RC and Azure SDK 2.3 の翻訳です。

編集メモ: 今回は、クラウド プラットフォーム ツールおよび Azure 開発者エクスペリエンス PM チームによる記事をご紹介します。

先日、Visual Studio 2013 Update 2 RC および Azure SDK 2.3 for .NET のリリースについてこのブログで発表しましたが、今回は Azure での開発に使用されるこれらの機能の詳細についてご紹介します。

Visual Studio 2013 Update 2 RC [ダウンロード (英語)]

  • 開発/テスト環境: Web アプリケーション用の開発/テスト環境 (Azure Web サイトまたは仮想マシン) を作成し、自動化された PowerShell デプロイメント スクリプトを生成します。
  • JSON エディター: リソース マネージャーのテンプレートの編集時に、IntelliSense をサポートする新しいエディターを使用できます。
  • モバイル サービス: リモート デバッグなどの .NET の機能がサポートされます。
  • 通知ハブ: テスト通知を送信します。

Azure SDK 2.3 for .NET [ダウンロード (英語)]

Azure SDK 2.3 を追加インストールすると、以下の機能も使用できます。

  • 仮想マシン: ネイティブ コードおよびマネージ コードのリモート デバッグ機能や、サーバー エクスプローラーで仮想マシンを作成する機能を利用可能です。
  • Web サイト: リモートでファイルやログを表示、編集できると共に、改良された Web 発行エクスペリエンスを使用して簡単に Web を発行することができます。
  • クラウド サービス: Emulator Express の一般提供が開始され、「標準ユーザーとして実行」のサポートおよびネイティブ コードのリモート デバッグが可能になります。
  • ストレージ: 更新されたストレージ エミュレーターとストレージ クライアント 3.0 がリリースされ、新しいプロジェクトが利用できるようになります。
  • PowerShellX-Plat CLI.NET の自動化 (Azure SDK 2.3 から個別にダウンロード): リソース マネージャーのほか、Web サイト、クラウド サービス、仮想マシンの自動化に使用する多数の新規コマンドなどがサポートされます。

開発/テスト: Web サイトと仮想マシンを使用した Web アプリケーションの開発およびテスト

Visual Studio で新しい ASP.NET アプリケーションを作成する際に、Azure Web サイトと仮想マシンを簡単に作成して、開発およびテストのターゲット環境として利用できるようになりました。また、これらのリソースを作成する際に PowerShell スクリプトおよび JSON 構成ファイルも利用できるようになり、リソースの追加インスタンスのプロビジョニングや、Azure へのアプリケーションのデプロイが可能になります。これらのスクリプトは Visual Studio で編集し、開発者のデスクトップで実行して、TFS ビルド定義や PowerShell を利用するその他のリリース管理ツールで使用することができます。

この新機能は、下記の [New ASP.NET Project] ダイアログで確認できます。

[Web Site] を選択した場合、Web サイトの他に、リンクされたデータベースも作成できます。

[Virtual Machine] を選択した場合、仮想マシンの作成には MSDN イメージ (MSDN サブスクライバーのみ利用可能)、Windows Server 2012 などのプラットフォーム イメージ、サブスクリプションで利用可能なユーザー独自のカスタム イメージを使用できます。

また、Web 開発用の仮想マシンを自動的に構成することもできます。仮想マシンにリモート デスクトップ接続する必要はなくなり、IIS、ASP.NET、デバッグ、トレース、Web デプロイの有効化を自動的に設定して、発行を自動化することができます。アプリケーションをオンプレミスで実行する場合も Azure で実行する場合も、Web 開発に必要な仮想マシンを Visual Studio で作成および構成できます。

アプリケーションをデプロイしたら、オンプレミスのアプリケーションと同様にデバッガーをアタッチできます。詳細については、「仮想マシン: リモート デバッグ」セクションを参照してください。

Visual Studio から PowerShell を活用した開発/テスト環境の作成

リソースの作成に加えて、Visual Studio では Web サイトや仮想マシンの作成とデプロイに PowerShell スクリプトと JSON 構成ファイルを使用できます。

また、Visual Studio で提供される構成ファイルは簡単に複製することができ、Web サイトや仮想マシンのさまざまなインスタンスを作成したり、以下の図のように、Azure Web サイトのステージング機能を活用したりすることができます。これらの JSON ファイルは、Visual Studio 2013 Update 2 RC の一部としてリリースされた新しい JSON エディターで編集できます。詳細については、下記の「JSON エディター」セクションを参照してください。

新しく PowerShell の色づけをサポートする Visual Studio IDE で PowerShell スクリプトを編集することもできます。

Web の発行の更新

今回のリリースでは、Web の発行ダイアログに対して、Azure 仮想マシンに直接 Web サイトを発行する機能など、複数の新機能を追加しました。また、Web サイトと仮想マシンを最初のダイアログに表示することで、Azure への発行をより簡単にしました。

Azure Web サイトまたは仮想マシンを発行するには、対応するボタンをクリックします。.publishsettings ファイルをインポートする場合は、これまでどおり [Import] ボタンを使用できます。その他の場合は、[Custom] ボタンをクリックして、設定を手動で指定することができます。

JSON エディター

Visual Studio 2013 Update 2 RC のリリースには JSON エディターが含まれ、JSON スキーマがサポートされています。JSON ファイルを使用する場合、Visual Studio では $schema キーワードで指定された場所からスキーマ ファイルを自動的にダウンロードします。そのため、プロジェクトや Visual Studio を更新しなくても、JSON ファイルに対応する最新の IntelliSense を利用できます。

Azure リソース マネージャー (英語) のテンプレートは $schema キーワードを含む JSON ファイルなので、(エディター上部のドロップダウン メニューに表示されるように) Visual Studio によってスキーマが自動的にダウンロードされ、これらのファイルを編集する際に IntelliSense が利用できます。下記の例では、Azure SQL データベース サーバーのプロパティに IntelliSense が表示されています。

モバイル サービス: .NET のサポートとリモート デバッグ

Visual Studio 2013 Update 2 RC では、.NET および.NET フレームワークを使用したバックエンドのモバイル サービス ロジックの作成も完全にサポートしています。

.NET モバイル サービスを利用するのは簡単です。[New Project] ダイアログ ([File] -> [New] -> [Project]) の [Web] ノードから [ASP .NET Web Application] プロジェクト テンプレートを選択します。そして、[New ASP.NET Project] ダイアログで [Azure Mobile Service] を選択するだけです。

.NET モバイル サービス プロジェクトが表示されます。これは、カスタマイズされた ASP.NET Web API プロジェクトで、モバイル サービス NuGet パッケージとサンプルのコントローラーが追加されています。

ローカルでのモバイルサービスの実行

他の Web プロジェクトと同様に、.NET モバイル サービス プロジェクトもローカルで実行することができます。プロジェクト内のサンプルの TodoItemController.cs を開きます。このコントローラーは、モバイル サービスで提供される組み込みの TableController<T> .NET クラスの使用方法を示しています。Visual Studio で GetAllTodoItems() メソッド内にブレークポイントを設定して F5 キーを押すと、モバイル サービスがローカルで実行されます。

モバイル サービスには、作成した API を表示およびテストできるヘルプ ページが含まれます。ヘルプ ページで、[try it out] リンクをクリックしてから [GET tables/TodoItem] リンクをクリックします。次に、[GET tables/TodoItem] ページで [try this out] と [send] をクリックします。ご想像のとおり、先ほど設定したブレークポイントで停止します。

スキャフォールディングの追加

[Add Scaffold] ダイアログ (プロジェクトを右クリックして [Add] -> [New Scaffolded Item] を選択) から、Web API、OData、モバイル サービスのスキャフォールディングを追加できます。

Azure へのモバイルサービスプロジェクトの発行

モバイル サービスの開発が完了したら、Azure に発行することができます。プロジェクトを右クリックして、[Publish] コマンドを選択します。発行ウィザードから新規または既存のモバイル サービスを発行できます。

リモート デバッグ

クラウド サービス、仮想マシン、Web サイトと同様に、Azure でモバイル サービスのリモート デバッグをリアルタイムに実行できます。モバイル サービスのリモート デバッグを行うには、モバイル サービスを再度発行し、発行ウィザードで [Configuration] を [Debug] に設定します。

モバイル サービスを発行してクラウドで実行されたら、ローカルのソース コードにブレークポイントを設定してから、サーバー エクスプローラーでデプロイされたモバイル サービスのインスタンスを右クリックし、[Attach Debugger] を選択します。モバイル サービスにデバッガーをアタッチすると、クラウドで実行されているアプリケーションのデバッグに Visual Studio の強力なデバッグ機能を使用できます。

通知ハブ: テスト通知の送信

以前のモバイル サービス ランタイムのリリースでは、通知ハブを新規作成して各モバイル サービスと統合することで、メインストリームのモバイル開発で通知ハブを利用できるようにしました。今回のリリースでは、Visual Studio でテスト メッセージを送信できる便利なトラブルシューティング ツールが追加されました。テスト メッセージを送信するには、サーバー エクスプローラーを開き、[Notifications Hubs] ノードの通知ハブを右クリックして、[Send Test Notifications] を選択します。

通知ハブ ウィンドウでは、特定のタグまたはすべて (ブロードキャスト) を選択し、10 件の登録先にランダムにメッセージを送信できます。カスタム テンプレートを使用して、Windows ストア、Windows Phone、Android、iOS、クロス プラットフォームのメッセージまで、豊富なテンプレートから選択することができます。[Send] をクリックするとすぐに送信結果が表示され、メッセージが正常に送信されたかどうかを確認できます。

仮想マシン: サーバー エクスプローラーでの仮想マシンの作成

サーバー エクスプローラーからは、仮想マシンを直接作成することもできます。[Virtual Machines] ノードのコンテキスト メニューから [Create Virtual Machine] を選択します。

[Create New Virtual Machine] ウィザードでは、仮想マシンを作成するための一連の詳細な手順が表示されます。このウィザードの最初のページでは、仮想マシンを作成する際に使用するサブスクリプションを選択できます。サブスクリプションのドロップダウン メニューには、現在サインインしている資格情報でアクセスできるすべてのサブスクリプションが表示されます。別の資格情報でサインインする場合は、サブスクリプションのドロップダウン メニューから [Manage…] を選択します。

次のページでは、仮想マシンの作成に使用するイメージを選択できます。[Image Type] ドロップダウン メニューを使用して、プラットフォーム イメージ、MSDN イメージ、ユーザー独自のカスタム イメージのいずれかを選択します。選択したイメージの詳細が右側に表示されます。

使用するイメージを選択した後、ウィザードには次の 3 つのページが順に表示されます。

  • [Machine Settings] – 仮想マシンの名前、サイズ、管理者のユーザー名およびパスワードなど、基本的な設定を入力します。
  • [Cloud Service] – 仮想マシンをインターネットに公開する方法を選択します。サブスクリプションで既にクラウド サービスを利用できる場合は、この仮想マシンを既存のクラウド サービスに追加できます。これにより、単一のクラウド サービスから複数の仮想マシンにトラフィックの負荷を分散できます。既存のクラウド サービスを選択した場合、この仮想マシンはクラウド サービス内の他の仮想マシンと同じネットワーク上に作成され、[Virtual Network] および [Subnet] フィールドは使用できなくなります。また、新規のクラウド サービスを作成することもできます。ストレージ アカウントの場合と同じように、既存のストレージ アカウントを利用するか、新しいストレージ アカウントを作成するかを選択できます。ストレージ アカウントは、仮想マシンに関連付けられている VHD を格納するために使用され、仮想マシンと同じリージョンまたはアフィニティ グループに配置する必要があります。他にも、特定の可用性セット内に仮想マシンを作成して、単一障害点の発生を回避することもできます。
  • [Endpoints] – 仮想マシンに必要となるエンドポイントを指定します。リモート デスクトップおよび PowerShell のエンドポイントが既定で追加されているため、仮想マシンに接続してリモートで PowerShell コマンドを実行できます。必要に応じて、これらのエンドポイントのポートを非標準のポートに変更したり、削除したりすることができます。仮想マシンでその他のサービスを実行している場合は、別のエンドポイントを追加することもできます。エンドポイントを追加するには、[Port Name] リストからサービスのタイプを選択し、[Add] ボタンをクリックします。エンドポイントを追加したら、名前、ポート、プロトコルを変更できます (名前とポートは一意である必要があります)。

エンドポイントの設定が完了したら、[Create] をクリックして仮想マシンを作成します。アクティビティ ウィンドウに進行状況が表示され、仮想マシンが作成されるとサーバー エクスプローラーに新しい仮想マシンが表示されます。

仮想マシン: リモート デバッグ

2.3 SDK では、仮想マシンのリモート デバッグの機能も新しく追加されました。サーバー エクスプローラーのコンテキスト メニューから、仮想マシンの特定のインスタンスに対してデバッグを有効化できます。

仮想マシンに対してリモート デバッグ拡張機能を有効化している間は、アクティビティ ウィンドウに進行状況が表示されます。これ以上ユーザーが設定を行う必要はありません。

仮想マシンでデバッグ拡張機能が有効になると、サーバー エクスプローラーのコンテキスト メニューからデバッガーをアタッチしたり、デバッグ拡張機能を無効にしたりできます。

[Attach Debugger…] を選択すると、[Attach to Process] ダイアログが表示され、デバッグする仮想マシンのプロセスを選択できます。[Select] ボタンをクリックして、デバッグするコードのタイプ (マネージ、ネイティブ、またはその両方) を選択することもできます。

リモート デバッグを有効にすると、仮想マシンに追加のエンドポイントが表示されます。これらのエンドポイントは、Visual Studio がリモート デバッグ エージェントを利用する場合に使用されます。

Web サイト: リモートでの表示および編集

以前のリリースでは、サーバー エクスプローラーからの Azure Web サイトの表示および管理のサポートを追加しましたが、今回のリリースでは、サーバー エクスプローラーから Web サイト ファイルおよびログ ファイルをリモートで表示できるようにしました。また、サイトを発行しなくても変更内容を保存できるようになっています。これは、ローカル プロジェクトを変更せずに、サイトを一時的に変更する場合 (Web.config を customErrors mode=”off” に更新する場合など) に便利です。

サーバー エクスプローラーで各 Web サイトを展開すると、ファイルとログ ファイルのノードが表示されます (下記の画像を参照)。

ファイルをダブルクリックすると、ダウンロードされて Visual Studio で開かれます。元の Azure Web サイトに変更を保存する場合は、[Save] ボタンをクリックします。すると、下記の画像のような確認ダイアログが表示されます。

次回以降に確認ダイアログを表示しない場合は、[Don’t ask again] チェックボックスをオンにします。

また、ファイルをダブルクリックすれば、ログ ファイルを表示できます。ファイルの編集内容はローカルに保存されます。Visual Studio からログ ファイルをリモートで編集することはできません。

クラウド サービス: Emulator Express を使用したローカル デバッグ

SDK 2.3 のリリースに伴い、Emulator Express の一般提供開始が発表され、新しいクラウド サービス プロジェクトの既定のコンピューティング エミュレーターとなりました。Emulator Express では、標準ユーザーとしてクラウド サービス プロジェクトをローカルで実行できます。つまり、クラウド サービスを作成およびデプロイするために、管理者として Visual Studio を実行する必要はありません。

SDK 2.1 でプレビュー版としてリリースされたこの軽量のエミュレーターは、完全なエミュレーターよりもリソースの使用量が少なく、マルチロール/シングル インスタンスのシナリオをサポートします。

クラウド サービス: リモート デバッグ

今回は、クラウド サービスのリモート デバッグの一般提供開始も発表されました。今回のリリースでは、ロールまたはインスタンスの任意のプロセスにアタッチする機能や、ネイティブおよび相互運用 (マネージとネイティブ) のデバッグのサポートなど、デバッグ機能にも複数の機能が追加されています。クラウド サービスのリモート デバッグも、発行プロセスの一環として、発行ウィザードから引き続き利用できます。

クラウド サービスを発行したら、コード内のデバッグを開始する場所にブレークポイントを設定し、サーバー エクスプローラーから [Attach Debugger] を選択します。[Attach Debugger] は、ロール レベルまたはインスタンス レベルから選択できます。

この操作により、新しい [Attach to Process] ダイアログが表示されます。仮想マシンのデバッグの場合と同様に、[Attach to Process] ダイアログにはインスタンスで実行中のすべてのプロセスが表示されます。デバッガーをアタッチするプロセスを選択します。今回の例では Web アプリケーションなので、[w3wp.exe] を選択します。デバッグするコードのタイプも選択できます。この例では、相互運用デバッグを利用するために、[Managed (v4.5, v4.0)] と [Native] をオンにします。

ブレークポイントで停止したら、デバッガーを使用して、コードのステップスルーや [Autos] ウィンドウといった一般機能を利用できます。

マネージ コードがプロジェクトで参照されているネイティブ コードの関数を呼び出す場合は、下記の画像のように、マネージ コードからネイティブ コードにステップインして、ネイティブ コードのデバッグを続けることができます。

ストレージ: 新しいプロジェクトで利用できる更新されたエミュレーターと Storage Client 3.0

Azure SDK 2.3 には、以前のリリースで NuGet のみに含まれていた .NET 3.0 用ストレージ クライアント ライブラリが追加されました。このライブラリには、テーブル使用時の JSON プロトコルのサポートや、読み取りアクセス地理冗長ストレージ (RA-GRS) など、2013 年 11 月にリリースされた新機能との互換性が追加されています。また、ストレージ エミュレーターでも JSON や CORS といった 2013 年 11 月の REST の機能をサポートするようになりました。詳細については、Azure ストレージ クライアント ライブラリ 3 (英語) を参照してください。

PowerShell の機能強化

先日、Azure PowerShell 0.8.0 も公開されました (個別にダウンロード)。Azure PowerShell は頻繁に公開され、SDK 2.2 以降、多数のリリースが提供されてきました。完全な変更ログは、こちら (英語) からご覧いただけます。ダウンロード可能な 2.2 以降の最新の Azure PowerShell の機能強化には、下記の内容が含まれます。

  • Azure リソース マネージャー (英語) のサポート
  • ExpressRoute のサポート
  • HDInsight のサポート
  • スケジューラのサポート
  • 仮想マシン: 新しい拡張コマンドレット
  • クラウド サービス: 新しい拡張コマンドレット
  • Web サイト
    • ステージング発行のサポート
    • Web ジョブのサポート
  • ストレージ
    • 新しいメトリックスおよびログ記録コマンドレット
    • 新しい SAS トークン コマンドレット
  • ネットワーク
    • 新しい予約済み IP コマンドレット
    • 新しい静的 IP コマンドレット
    • Azure パックの仮想マシンのサポート

PowerShell: リソース マネージャーのサポート

最新の PowerShell 0.8.0 リリース、X-Plat CLI (英語).NET クライアント ライブラリ (英語) は、いずれも新しいリソース マネージャー (英語) をサポートしています。ここでは、PowerShell でのサポートについて説明します。

PowerShell でリソース マネージャーを使用するには、PowerShell コンソールを開いて下記を実行します。

Switch-AzureMode AzureResourceManager

これにより、Azure PowerShell でリソース マネージャーが使用されるように設定されます。Service Management API を使用するように設定し直す場合には、Switch-AzureMode AzureServiceManagement を実行します。

その後、下記のコマンドレットを使用して、利用可能なリソース マネージャーのコマンドレットをすべて表示します。

PS C:> help azure

ローカルの JSON テンプレートファイルによるリソースグループの作成

テンプレートを使用してリソース グループを作成するには、下記のコマンドレットを使用します。

PS C:> New-AzureResourceGroup 
-Name testrg -Location "West US" -TemplateFile .WebSiteAndSQLDatabase.json -StorageAccountName teststorage -siteName testsite
-hostingPlanName testplan -siteLocation "West US" -sku Free -workerSize 0 -serverName testsql serverLocation "West US"
-databaseName db -collation SQL_Latin1_General_CP1_CI_AS -administratorLogin scottgu -Verbose

cmdlet New-AzureResourceGroup at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
administratorLoginPassword: ***********

リソース グループの作成中には次のステータスが表示されます。

VERBOSE: 3:31:36 PM - Create resource group 'testrg' in location 'West US'
VERBOSE: 3:32:03 PM - Uploading template 'Microsoft.WebSiteSQLDatabase.0.1.0-preview1.json' to https://teststorage.blob.core.test-cint.azure-test.net/deployment-templates/20140324_223203_WebSiteAndSQLDatabase.json?sv=2013-08-15&sr=b&sig=lchiNTgZZpVH/FDgbQderQYv+UL/dqpD5ZbB24d5A+M=&st=2014-03-24T22:27:03Z&se=2014-03-25T22:32:03Z&sp=r.
VERBOSE: 3:32:04 PM - Template is valid.
VERBOSE: 3:32:05 PM - Create template deployment WebSiteAndSQLDatabase' using template https://teststorage.blob.core.test-cint.azure-test.net/deployment-templates/20140324_223203_WebSiteAndSQLDatabase.json?sv=2013-08-15&sr=b&sig=lchiNTgZZpVH/FDgbQderQYv+UL/dqpD5ZbB24d5A+M=&st=2014-03-24T22:27:03Z&se=2014-03-25T22:32:03Z&sp=r.
VERBOSE: 3:32:24 PM - Resource Microsoft.Sql/servers 'testsql' provisioning status in location 'westus' is Succeeded
VERBOSE: 3:32:24 PM - Resource Microsoft.Web/serverFarms 'testplan' provisioning status in location 'westus' is Succeeded
VERBOSE: 3:32:30 PM - Resource Microsoft.Sql/servers/databases 'testsql/db' provisioning status in location 'westus' is Succeeded
VERBOSE: 3:32:30 PM - Resource Microsoft.Sql/servers/firewallrules 'testsql/AllowAllWindowsAzureIps' provisioning status in location 'westus' is Succeeded
VERBOSE: 3:32:37 PM - Resource Microsoft.Web/Sites 'testsite' provisioning status in location 'westus' is Succeeded
VERBOSE: 3:32:45 PM - Resource Microsoft.Web/Sites/config 'testsite/web' provisioning status in location 'westus' is Succeeded
 
ResourceGroupName : testrg
Location          : West US
ProvisioningState : Succeeded
Resources         :
                    Name             Type                        Location
                    ==========  =========================        ========
                    testsql     Microsoft.Sql/servers            westus
                    testsql/db  Microsoft.Sql/servers/databases  westus
                    testplan    Microsoft.Web/serverFarms        westus
                    testsite    Microsoft.Web/sites              westus

指定したテンプレート ファイルに応じて、“siteName” などのパラメーターがコマンドレットに動的に追加されています。この優れたコマンドレットでは、テンプレートを解析して、パラメーターの名前、型、許容値が取得されます。その結果、タブ補完や構文チェックといった PowerShell のあらゆる便利な機能を利用できるようになります。さらに、テンプレートに含まれる “securestring” 型のパラメーターは PowerShell SecureString として処理されるため、資格情報を安全に指定することができます。

動的パラメーターの代わりに、TemplateParameterObject を使用してパラメーターのハッシュ テーブルを指定したり、TemplateParameterFile を使用してパラメーター ファイルを指定したりすることができます。

ギャラリーを使用したリソースグループの作成

ローカルのテンプレート ファイルを使用する以外に、ギャラリーからも直接テンプレートを簡単に使用できます。下記のコマンドレットを使用して、利用またはカスタマイズするギャラリー テンプレートを検索またはダウンロードすることができます。

# List all the gallery templates published by Microsoft
Get-AzureResourceGroupGalleryTemplate -Publisher Microsoft

# Get detail information of a particular template
Get-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSiteSQLDatabase.0.1.0-preview1

# Download a particular template
Save-AzureResourceGroupGalleryTemplate -Identity Microsoft.WebSiteSQLDatabase.0.1.0-preview1

また、New-AzureResourceGroup コマンドレットの GalleryTemplateIdentity パラメーターを使用して、ギャラリー テンプレートから直接リソース グループを作成することもできます。この場合も、もちろん動的パラメーターは有効になります。

リソース グループの作成後、Get-AzureResourceGroup を使用するとリソース グループの情報を表示できます。Get-AzureResourceGroupDeployment を使用すると、テンプレートのデプロイ履歴の詳細が表示されます。また、Get-AzureResourceGroupLog を使用すると、すべての操作の詳細ログを取得して、診断に役立てることができます。

まとめ

Visual Studio 2013 Update 2 RC (英語) と Azure SDK 2.3 のリリースにより、優れたクラウド アプリケーションの開発がますます簡単になりました。Azure デベロッパー センターに日々追加される .NET 開発者向けリソース (英語) を参考とし、Azure SDK 2.3 リリースを利用することで、今まで以上に楽しみながら効率的に開発作業を進めることができます。

Azure アカウントをお持ちでないお客様は、無料評価版にサインアップして、上記のすべての機能を今すぐお試しいただけます。これらの機能を使用したアプリケーションの構築方法の詳細については、Azure デベロッパー センターをご覧ください。

Build 2014?de:code #decode14

マイクロソフトの田中達彦です。
2週間ほど経ってしまいましたが、2014年4月2日~4日にBuild 2014という開発者向けイベントが米国サンフランシスコで開催されました。
Buildというイベントはマイクロソフトの最新技術に関するカンファレンスで、新しいテクノロジを発表する場でもあります。

Buildそのものに関しては、MVA(Microsoft Virtual Academy)で速報をお届けしました。
http://www.microsoftvirtualacademy.com/training-courses/build2014-sokuhou
この速報では、Buildでの発表内容からいくつかのテクノロジを抜粋して簡単に紹介しています。

もっとこってり最新テクノロジを解説する場として、日本でde:codeというイベントを2014年5月29日~30日に開催します。
de:codeではセッションをいくつかのトラックに分類しています。
僕自身も、Devicesというトラックのオーナーをしていて、他のトラックオーナーやスピーカーとともにセッションを作り上げていっています。

Devicesトラックの概要文(青字の部分)をWebサイトから持ってきました。

業務においても、個人的な用途においても、今後デバイスの多様性や役割が向上することは間違いないでしょう。PC で動作をすることを前提に開発、設計されてきた Web やアプリケーションを、その開発スキルや資産を活かしつつ、あるいは、新しいフレームワークを取り込みながら、デバイス & サービス時代に対応するための手法や最新の技術情報をお届けします。

Devicesトラックでは、主にクライアントのソフトやアプリを開発している開発者の方に、マイクロソフトがどのような方向に進もうとしているのか、そしてそのためにどのようなテクノロジを選べばよいのかという答えを、Devicesトラックのセッションを通じてお届けします。

Buildで発表されたWindows 8.1 updateでは、マウスやキーボードでの操作性を向上させています。
デスクトップのタスクバーにWindowsストア アプリをピン止めできたり、ストア アプリからデスクトップアプリにタスクバーを使って切り替えれたりと、今まで隔離していた感のあるデスクトップ アプリとストア アプリの行き来がスムーズになっています。
さらに、サイドローディングと呼ばれる方法でストア アプリを直接PCにインストールしたときは、ストア アプリからPC内のWin32アプリとやり取りできるようになりました。
これらの変更は、ストア アプリをビジネスで使う際の利便性を大幅に向上させています。
すなわち、ストア アプリは一般消費者向けだけではなく、ビジネスの世界でも活用できるのです。

de:codeでは奥の深いセッションを用意するとともに、ストア アプリの開発をよく知らない方が体系的に学べるセッションも用意しています。
例えば、以下のセッションに順に参加することにより、ビジネスで使うストア アプリについて学ぶことができます。

Windows アプリ開発、どこへ向かうのか。どう考えるべきなのか
  ↓
Windows ストア アプリの開発、テスト、デバッグ、ストアへの提出まで
  ↓
XAML による Universal Windows アプリ 徹底解説
  ↓
業務システム/LOB アプリをタブレットに注入! Windows ストア アプリの開発と展開
  ↓
デスクトップ アプリケーションと Windows ストア アプリの連携
(各セッションタイトルは最終版のものではありません。変更する可能性があります)

1つ新しいテクノロジを紹介します。
セッションタイトルの中に、Universal Windowsアプリという文言があります。
Universal Windowsアプリとは、Windows 8.1とWindows Phone 8.1で一部のソースコードを共有できるアプリです。
Windows 8.1のストア アプリは、そのままUniversal WindowsアプリとしてWindows Phoneとコードの一部を共有できるのです。

日本ではWindows Phone 8.1が発売されていないのでUniversal Windowsアプリなんて関係ないという声も聞きますが、ストア アプリを作るのであればUniversal Windowsアプリに関する知識も得ていたほうが良いことには間違いありません。
詳しくは、de:codeでのセッションをご覧ください。

de:code
2014年5月29日(木)~30日(金)
ザ・プリンス パークタワー東京
http://www.microsoft.com/ja-jp/events/developer/

マイクロソフト
田中達彦

Last full month to save 40% off certification exams

Microsoft Partner Network competencies show your customers that you have proven capabilities and expertise on the latest Microsoft technologies. Right now, you can purchase packs of certification exams at up to 40% off. In addition, each voucher comes with a Second Shot if retakes are needed. Order packs before May 31, 2014 and be sure to use them before they expire at the end of the year.

US partners have an additional offer to sweeten the deal. Individuals who are associated to a Microsoft Partner Network member organization and who pass a qualifying Microsoft Certification exam between February 3 and April 27 earn an entry** into a sweepstakes:

· Weekly drawings – Two $500 Microsoft Store gift cards

· Monthly drawings – Two Surface Pro 2 tablets

List of qualifying exams. You will receive a drawing entry for each exam you pass.

**NO PURCHASE NECESSARY. Sweepstakes ends April 27. Open only to authorized representatives of companies enrolled in the Microsoft Partner Network with a valid MPN ID who are legal residents of the US, age 18 and older. For details, including free alternate method of entry, see Official rules.

The Codesign Co-operative Story

Guest post from Cameron Wall, Founder of the Codesign Co-operative – a recent addition to the BizSpark Network Partner family. 

In 2013 after running software development teams for over 15 years, and with the recent rise of agile and lean development methodologies coupled with free cloud based collaborative tools I realised that just about all of my developers and designers had side projects running.

The problem with all of these side projects was that although the ideas were good (in many cases) they were only as good as the discipline that the person possessed. You might find a really well executed and functional application that looked shocking and had a terrible UI resulting in a bad UX. In other cases the projects looked fantastic however the code framework had not been thought through or in many cases there was a great App that had no obvious market fit or defined business model. I thought, how I could come up with a platform that was a fair playing field fostering design and development and also the market and business development, and the Codesign Co-operative was born.

The Codesign Cooperative is for coders and designers to collaborate on software and application development and build innovative viable products and services. We are a community based cooperative where our members can collaborate around projects they choose via a voting process. Members are invited to the CoOp or can apply to be invited and hold equal shareholding and voting rights. The best part about the cooperative structure is that the members get to keep their day job and allocate time to the CoOp at night and on weekends, usually the same amount of time they would allocate to their side projects.

Members collaborate on four types of projects including startup creation, enterprise prototyping, not for profit & community based projects. In a nutshell the CoOp commercialises side projects for individuals and enterprise organisations that are not structured to do so.

Startup’s are born out of projects within the CoOp, all projects are rapidly built to MVP  (Minimum Viable Product), stage and then taken to the market to be validated. Other members of the CoOp are long time business development people that have contacts in many industries and can validate quickly. If a project looks like it might fly it is spun out as a startup and is presented to the various early stage venture funding platforms both here in Australia and overseas, seeking a runway of 12-18 months. This process is attractive to venture groups as the validation and MVP is already in place and also a founding team. Startup projects can also apply or be introduced to the CoOp and the CoOp always retains a small equity stake in all startup’s that are spun out.

The Enterprise Innovation Program has been the biggest surprise however as many enterprise organisations see the CoOp as a vehicle outside of the company where a rapid prototype (MVP), can be produced in a few weeks. For a new product it can usually take 2-3 months and cost $50K to produce a business case which is a document, however with the CoOp they have a working prototype they can present to stakeholders. The fee that the enterprise partners pay is a usually a fixed monthly retainer so in most cases it’s realised in OPEX.

CoOp members can be located anywhere and of any background and we utilise cloud based collaboration tools for all aspects of development, testing and communication. All members of the CoOp can remain anonymous and just about all have been involved in some of the best software application development there is from many large brand names.

The Codesign Co-operative is the first co-operative in the world that benefits the software and application development community and we believe that it is the future of collaborative product development for startup’s and the enterprise alike.

Have any questions? Feel free to reach out to me, details below:

Cameron Wall – Founder

cameron@codesigncoop.com

www.codesigncoop.com

0423 530 318

New agent for Application Insights available

We are excited to announce that there is an updated version of Microsoft Monitoring Agent (MMA) available now. Performance counter collection frequency was reduced from 5 minutes to 1 minute for standard and custom counters so you’ll see trends more granularly and faster. There are also improvements in our log collection feature and bug fixes improving agent stability.  This agent version standardizes on a single way to configure Application Insights (both agent and SDKs) driven through Visual Studio using our Application Insights Tools for Visual Studio.  The best part is this Application Insights configuration file is now part of the application so deploying a new app to a server that has MMA installed is all that’s needed to enable monitoring of a new application.  We strongly encourage all customers to update the agent in your environment to start getting all the benefits. Older versions of agent will be deprecated soon.

The latest version of the agent is available here and the best way to check the current version running today is by looking at the Overview Servers view.  Ensure the Agent Version column shows: 7.1.11115.0.  Follow the steps below to update.  Note: latest Java agent is 1.13.202.31.

clip_image002

Three different scenarios:

1. My application is installed on a VM (including hosted in Azure) or a physical server and I do have the ability to update the project file and deployment through latest Application Insights VSIX (recommended)

a. Install or double check you are running the latest Application Insights VSIX (version 1.2)

b. Open the Solution that includes your application project

c. Right click the application project and choose “Add Application Insights Telemetry”

d. IMPORTANT: Make sure to choose “Configure Settings” and select the component name that this application uses today so data is still routed to the same Application.

e. On the server where the application is installed uninstall MMA

f. Delete the Monitoring.CollectionPlan.config  if specified and merge the content/settings you still need into the ApplicationInsights.config file created by step c.  Setting names or meanings have not changed.

g. install the latest MMA agent.  Available directly from here and restart IIS.

h. Deploy your application and make sure the ApplicationInsights.config file is included in the deployment (should be in the same directory as web.config). 

i. If the application is running on more than 1 server make sure to update MMA and your application on each.

j. Back on VS Online Application InsightsOverviewServers ensure the agent version is 7.1.11115.0 and all servers updated have recent Last server reported times.  On the same page choose “filter by application” and ensure there is a recent “Last app reporting time” as well.  Trouble shooting steps: 1. Ensure MMA services are running (named Microsoft Monitoring Agent and Microsoft Monitoring Agent MMA) 2. Ensure there is some load or requests on the application 3. Check the Operations Manager event log on the server

k. Redo steps b-h for each application that needs an updated MMA

 

2. My application is installed on a VM (including hosted in Azure) or a physical server and I do not have the ability to update the project file and deployment through latest Application Insights VSIX

a. Create a new application in your VS online account

b. Navigate to the Server Performance page (Performance -> Server Performance)

c. Make sure the Application drop down selector is showing the newly created Application

d. Download the ApplicationInsights.config file.

i. clip_image004

e. Manually change these 2 settings in the file to match the Application you are updating the agent on.

i. <ComponentID> </ComponentID>

1. This is the ID used by the SDKs and is unique per application

2. This key can be obtained by going to the Application Insights Admin pages (setup icon top right).  Then go to the Keys and Downloads page and ensure the drop down now shows the Application you want to update the agent on (it shouldn’t show the App you just created as the keys will already be set to that)

3. clip_image006

ii. <ComponentName></ComponentName>

1. This is the current Display Name used by the MMA agent for the application that needs an updated agent.  the default is the name of your Website if not specified through agent config already.

2. Note: It is not possible to have 2 applications on the same server to share the same ComponentName.

f. If you have customized the MMA settings already in a collectionplan update these settings in ApplicationInsights.config – this includes windows performance counter collection. Setting names or meanings have not changed.

g. Download the latest MMA agent. Available directly from here

h. Uninstall the current version of the MMA agent.

i. Delete the Monitoring.CollectionPlan.config 

j. Place the updated ApplicationInsights.config file in your applications root folder (same folder as web.config)

k. Install the new version of MMA agent and then restart iis.

l. Redo this on each server that is reporting for the same application name

m. Back on VS Online Application InsightsOverviewServers ensure the agent version is 7.1.11115.0 and all servers updated have recent Last server reported times.  On the same page choose “filter by application” and ensure there is a recent “Last app reporting time” as well. Trouble shooting steps: 1. Ensure MMA services are running (named Microsoft Monitoring Agent and Microsoft Monitoring Agent MMA) 2. Ensure there is some load or requests on the application 3. Check the Operations Manager event log on the server

n. Redo steps e-l for each application that needs an updated MMA

 

3. My application is running in an Azure Cloud service

a. Install or double check you are running the latest Application Insights VSIX (version 1.2)

b. Open the Solution that includes your application project

c. For each WebRole (Coming soon: worker Roles) Right click the Web role project and choose “Add Application Insights Telemetry”

d. IMPORTANT: Make sure to choose “Configure Settings” and select the component name that this application uses today so data is still routed to the same name.

e. Delete the Monitoring.CollectionPlan.config  in the azure cloud VS project (if you have it specified) and merge the content/settings you still need into the ApplicationInsights.config file created by step c.  Setting names or meanings have not changed.

f. Remove ApplicationInsights settings from CSCFG as they are specified in ApplicationInsights.config file now (see advanced settings below for ways to override).

g. Modify ServiceDefinition.csdef to update the Application Insights startup task definition to be:

i. <Task commandLine=”AppInsightsAgentUnifiedBootstrap.bat” executionContext=”elevated” taskType=”simple”></Task>

h. Ensure your project includes a AppInsightsAgent folder and contains 2 files: UnifiedBootstrap.bat & UnifiedBootstrap.ps1

i. Should be set to “Copy if newer”

ii. They can be downloaded from here

i. Rebuild your cloud project, package for the deployment and deploy it to the Azure.  If you’re doing an in-place upgrade you’ll need to reimage your role after.

j. Back on VS Online Application InsightsOverviewServers ensure the agent version is 7.1.11115.0 and all servers updated have recent Last server reported times.  On the same page choose “filter by application” and ensure there is a recent “Last app reporting time” as well.  Trouble shooting steps: 1. Ensure MMA services are running (named Microsoft Monitoring Agent and Microsoft Monitoring Agent MMA) 2. Ensure there is some load or requests on the application 3. Check the Operations Manager event log on the server

k. Redo steps above for each application/web role that needs an updated MMA

l. Advanced Settings:

i. These settings can still be controlled from CSCFG if the same deployment is used in multiple environments such as QA, PROD. 

1. <Setting name=”Microsoft.AppInsights.AccountId” value=”accountgui>”/>

2. <Setting name=”Microsoft.AppInsights.InstrumentationKey” value=”instrumentationkey” />

3. <Setting name=”Microsoft.AppInsights.DisplayName” value=”displayname” />

4. <Setting name=”Microsoft.AppInsights.EnableMonitoring” value=”true” />

 

If you have any questions or run into issues post them at http://aka.ms/AIForum

Thanks,

vlad

Using Power Map to light up the vast ALM Rangers community

We recently asked our Rangers if anyone is interested in created one visualisation of the distribution of ALM Rangers around the globe.

Chris Margraff mentioned Microsoft Power Map for Excel. It is a three-dimensional (3-D) data visualization tool which allows us to plot geographic and temporal data visually, analyze that data on a 3-D globe and over time, and create visual tours to share with others.

Michael Fourie and Niel Zeeman reacted and the outcome was an interesting set of illustrations and a really informative and “cool” tour.

Screenshot (111)Screenshot (109)Screenshot (114)

The core message is that the ALM Rangers are truly geographically dispersed. This makes any project a challenging adventure, but means that you are probably not alone out there Smile

Day of Unity events coming to a city near you!

Microsoft will be hosting “Day of Unity” events throughout the US this month and next. The goal of these events is for beginners and advanced developers alike to learn about Unity and the Windows platform.

There will be prize giveaways, free food, and a lot of fun to be had.

When and where?

Click here to see all the dates and locations.

I personally will be at the following:

4/22 – Sunnyvale, CA

2/24 – Denver, CO

5/6 – San Diego, CA

5/8 – Los Angeles, CA

5/13 – Portland, OR

5/15 – Seattle/Bellevue, WA

 

Want to know what is going to be taught? Check out the full schedule on my blog!