You are here

MSDN Blogs

Subscribe to MSDN Blogs feed
from ideas to solutions
Updated: 2 min 29 sec ago

IoTハンズオンコンテンツVer2公開中

Mon, 10/26/2015 - 00:26

9月から初めて先週土曜日(10/24)に終わった、IoTハンズオンセミナー、参加された皆さん、お疲れ様でした。

誤字脱字、わかりにくい部分を見直した資料をネット上で公開中です。

http://aka.ms/iotkitholv2on

構成を説明しておくので、参加された皆さんは復習を兼ねて、「え?そんなセミナーやってたの?」とか「時間が合わなくて参加できなかった…」という方は、是非チャレンジしてみてくださいね。

上のURLを開くと、ハンズオンコンテンツ全体を説明した資料が表示されます。このコンテンツは、GR-PEACH+センサーボードのPinKitという、.NET Micro FrameworkでC#でアプリをかけるボードを使っています。現在種々の事情で入手が困難な状況です。
PinKitのほかに、Windows 10 IoT Core for Raspberry PI2や、ハードウェアを一切使わないPCだけで実習が可能なコンテンツも用意しています。

Windows 10 IoT Core for Raspberry PI2で実習したい方は、ハンズオンコンテンツ全体を説明した資料と、上のURLを開いたときに左側に表示されている「IoTKitHoLV2_Win10IoTCore for Raspberry PI2」というコンテンツを組み合わせて実習してくださいね。

PCしかない(Windows 7、Windows 8.1、Windows 10で実習可能)方は、ハンズオンコンテンツ全体を説明した資料と、「IoTKitHoLV2_WPFEmulator」というコンテンツを組み合わせて実習してください。まぁ、やっぱり、なんといっても、実際のセンサーで計った値のほうがリアルで面白いんですけどね。

どちらも、ハンズオンコンテンツ全体を説明した資料の、.NET Micro Frameworkの部分を抜き出して置き換えた文書になっています。
他に「IoTハンズオン事前準備手順書」というドキュメントも用意したので、実習する場合には、このドキュメントを見て環境のセットアップなど行ってください。

なお、2015/9/30にプレビュー公開されたIoT Hubは、2015/10/26時点の内容では対応していません。Event Hubを使った内容になっております。もう少ししたら、IoT Hub対応を追加する予定です。ん…待てない!!という方は、現在公開中のコンテンツと、http://blogs.msdn.com/b/hirosho/archive/2015/10/22/iot-hub-windows-10-iot-core.aspx  のコンテンツを組み合わせると、とりあえずは、実践できるのでチャレンジしてみてくださいね。
他にも、今後は、AllJoynによるローカルネット連携+クラウドや、クラウドからデバイスへのコマンド送信のシナリオも追加予定です。今後、http://aka.ms/IoTKitHoL 側にも反映していく予定です。

このコンテンツを解説する、動画付きのコンテンツも作成して公開予定なので、公開した暁にはよろしくお願いします。

それから、本コンテンツで取り上げているハードウェア、OS、ミドルウェア、言語以外のハードウェアをつなぐ試みも、大歓迎ですので、そんな拡張をされた方は是非ごれんらくくださいませ。

Azure News on Friday (KW43/15)

Sun, 10/25/2015 - 23:57

Auch letzte Woche gab’s wieder viele Nachrichten zur Microsoft Azure Plattform. Hier sind nähere Infos dazu…

Aktuelle Neuigkeiten Datum Nachricht 23.10. Inside Web APIs with Swagger and API Managment with Brady Gaster
Web APIs beschreiben und leicht in eigene Anwendungen einbinden via Swagger 22.10. Sampling in Application Insights: How to keep the volume of your telemetry under control
Neu im jüngsten Application Insights SDK (2.0.0-beta) - Reduzierung des Telemetriedatenaufkommens via Sampling 22.10. Announcing MapR cluster deployment availability on Azure Marketplace
MapR Cluster können jetzt direkt aus dem Azure Marketplace deployt werden 22.10. Lots of options for Java Cloud developers with Azure!
Zusammenfassung der Möglichkeiten mit denen Java Entwickler Microsoft Azure optimal nutzen können 22.10. Follow Azure updates on the new Microsoft Mechanics
Neue regelmäßige Video-Show: Microsoft Mechanics - für IT Pros und Technologieenthusiasten 22.10. Unleashing insights from data in DocumentDB with Power BI
Daten aus Azure DocumentDB direkt in Power BI visualisieren und auswerten 21.10. Language support in Azure Search
Azure Search und das zugehörige SDK unterstützen jetzt Indizierung und Abfragen in 56 Sprachen 21.10. Open Sourcing App Service Mobile .NET Server SDK
Das .NET Server SDK für App Service Mobile steht ab sofort als Open Source auf GitHub 21.10. The Walking Dead: No Man's Land game soars to #1 supported by Azure DocumentDB
Powered by Azure DocumentDB - The Walking Dead auf Platz 1 im Apple App Store 21.10. Microsoft and Dell Extend Partnership with New Hybrid Cloud Offerings
Microsoft baut seien Partnerschaft mit Dell zur Bereitstellung hybrider Clouds aus - Cloud Platform System (CPS) Premium 20.10. October update for Azure SQL Data Warehouse
Neues in Azure SQL Data Warehouse - parallelisierter Datenexport, Performance-Verbesserungen beim Import etc. 19.10. Request filtering in Application Insights with Telemetry Processor
Neu im Application Insights SDK: Telemetry Processor zur Analyse, Filterung und Bearbeitung von Telemetriedaten 19.10. Microsoft Azure Storage Service Version Removal Update: Extension to 2016
Wichtig für alle Nutzer der Azure Storage API - Änderungen bei der Deaktivierung älterer API-Versionen 19.10. The Search for Search Contest
Search for Search Contest für alle, die Einsatzszenarien für Azure Search haben - mitmachen lohnt sich! 19.10. Running Go Applications on Azure App Service
Auf dem Azure App Services können jetzt auch in Go geschriebene Web Anwendungen ausgeführt werden 19.10. Introducing the Azure Storage Client Library for iOS (public preview)
Mit der neuen Storage Client Library Azure Storage jetzt direkt aus Objective-C und Swift heraus nutzen 19.10. Azure AD Code Samples
Azure AD Code Samples auf GitHub Neue Videos Datum Nachricht Video 23.10. Episode 190: Elastic Azure SQL Databases with Torsten Grabs
Cloud Cover Show mit allem Wichtigen zu Elastic Azure SQL Databases - gemeinsame Ressourcen, Abfragen etc.
22.10. Inside Web APIs and Swagger 101 with Brady Gaster
Gut 10-minütiger Überblick über Swagger - Beschreibungssprache für RESTful Web Services, Web APIs, API Apps etc.
22.10. Dynamic Data Masking Updates
Dynamic Data Masking in Azure SQL Database in 11 Minuten erklärt
22.10. Getting Started with Always Encrypted with SSMS
Alles zum Always Encrypted Feature in SQL Database kompakt in 23 Minuten
22.10. Azure Active Directory Authentication for SQL Database V12
Benutzer in Azure SQL Database via Azure AD authentifizieren
22.10. Azure SQL Database Threat Detection
Alles Wissenswerte zum neuen Threat Detection Feature in Azure SQL Database in 13 Minuten
22.10. Row Level Security Updates
Informationen zu Row Level Security in Azure SQL Database
21.10. OfficeDevShow - Episode 15 - Getting Started with Android Studio
Richard diZerega programmiert in 30 Minuten, eine Android App, die auf die Office 365 Unified API zugreift
21.10. What is Azure Search?
Azure Search in 1:27 Minuten erklärt
20.10. Azure SQL Database Layers of Protection

Dynamics CRM: PowerShell で複数組織のシステム設定を確認する

Sun, 10/25/2015 - 23:30

みなさん、こんにちは。

今日は管理者の方向けの情報として、PowerShell を使って複数の Microsoft
Dynamics CRM 組織設定を更新する方法を紹介します。設置型/オンライン
ともに利用可能です。

事前準備

PowerShell 4.0

今回利用する PowerShell モジュールは PowerShell 4.0 以上が必要と
なります。以下の方法でバージョンが確認可能です。

1. PowerShell を起動して、以下のコマンドを実行します。
PS C:\> host
2. Version にバージョン情報が表示されます。

バージョンが 4.0 より古い場合は、以下のページより新しいモジュールを
取得してください。

Windows Management Framework 4.0
http://www.microsoft.com/ja-jp/download/details.aspx?id=40855

Microsoft Dynamics CRM モジュール

Microsoft Dynamics CRM 用の PowerShell モジュールのインストールは
以下の記事をご覧ください。

Dynamics CRM: 組織用 PowerShell の紹介

サンプル

Microsoft Dynamics CRM のユーザー登録サンプルスクリプトは
以下の手順で利用できます。

1. ブラウザより以下のサイトにアクセスします。
https://gallery.technet.microsoft.com/scriptcenter/PowerShell-functions-for-16c5be31

2. Description にある Microsoft.Xrm.Data.Powershell Samples_日付.zip を
ダウンロードします。

3. ダウンロードした zip ファイルを解凍し、MultiOrgOperation
フォルダを任意の場所に保存します。

サンプルスクリプトの編集

MultiOrgOperation フォルダ内の MultiOrgOperation.ps1 を
任意のエディタで開きます。ここでは PowerShell ISE を利用します。

1. MultiOrgOperation.ps1 を右クリックし編集をクリックします。

2. 16 行目の $connectionsSourceCsvPath に CRM 組織への接続情報を
保存した CSV ファイルパスを入力します。

3. 55 行目と 56 行目のコードを削除して、以下のコードに入れ替えます。
Write-Output "通貨の小数点設定を変更する"
Set-CrmSystemSettings -conn $conn -PricingDecimalPrecision 1

4. 変更を保存します。

5. MultiOrgOperation フォルダ内の connectionssource.csv を開きます。

6. Dynamics CRM 組織への接続情報を入力します。設置型の場合は Type
に OnPrem と入力し、ServerUrl に Dynamics CRM サーバーのアドレスを
入力します。オンラインの場合は Type に Online と入力し、Deployment
Region にリージョンを入力します。日本の場合は JPN です。

7. CSV ファイルを保存します。

スクリプトの流れ

このサンプルスクリプトは、以下の順序で処理を行います。

- CSV ファイルより複数の Dynamics CRM 組織の接続情報を取得
- 接続を作成して、 $conns 変数に格納
- $conns 変数を foreach 処理して同じ内容の処理を実施

注意点

- スクリプトはサンプルのため、検証環境で動作を試してください。
- CRM のバージョンによって存在しない設定もあります。

まとめ

今回はシステム設定の変更を試してみましたが、必要な設定を
すべて行うことで複数組織を同じ設定にすることも可能です。
是非おためしください!

- 中村 憲一郎

Visual Studio 2015 更新1 CTP

Sun, 10/25/2015 - 23:28

[原文发表地址]:Visual Studio 2015 Update 1 CTP

[原文发表时间]:2015-10-08

今天我们发布了Visual Studio 2015更新1. 包括以下内容:

  • 对C++ /BigObj编辑和继续功能的支持, 这意味着你可以在调试C++ Windows应用商店工程时编辑并继续调试。
  • Visual Studio中的C#交互式窗口和C# REPL命令行工具:

      

      

     · 关于GitHub ,对C#和Visual Basic脚本应用程序接口的支持。这些应用程序接口使你可以以脚本的方式在以上的交互式窗口和REPL工具中加载和运行C#及Visual Basic代码。

    · 团队资源管理器窗口中的合并请求。团队资源管理器现在具有一个新的合并请求中心,在此你可以看见你已经创建的合并请求列表,以及其他人已分配给他们的请求。我们还改善了创建合并请求的体验,目的是你可以一次性发布分支并创建合并请求。

                                

  · “合并请求所需”工作项策略。我们现在有一个分支策略,要求与任何合并请求有关的工作项。像代码评审工具和生成策略,任何提交到分支的代码都必须通过合并请求来提交。一个合并请求被创建时,与工作项链接相关的提交都会被检查出来,并且如果至少有一个链接存在,策略将会被执行。

· 工作项直接链接到合并请求, 并且如果合并请求直接链接到至少一个工作项,这个策略将会被执行。(如果没有工作项链接到合并请求或相关联的提交,该策略将不会被执行.)

关于在此版本中的改进,修复的bug,以及已知问题的详述,请参阅Visual Studio 2015 Update1 CTP详述。

Windows ストア アプリ向けの新しい広告機能とキャンペーン結果の追跡機能

Sun, 10/25/2015 - 23:00
※本ブログは Building Apps for Windows " New advertising and campaign tracking capabilities for Windows Store apps ”の抄訳です。 マイクロソフトは、デベロッパー センターでアプリ内広告の管理の簡略化と効率化を図る新しい 2 つの機能と、以前にお知らせしたキャンペーン結果の追跡機能をリリースしました。 デベロッパー センターと pubCenter の 統合 : アプリに関するあらゆることを一元管理できます。 デベロッパー センターの COPPA サポート機能 (英語): 主なターゲットが子供のアプリ内広告の管理方法を定義できます。 キャンペーン結果の追跡機能 がご利用いただけるようになりました。 pubCenter 統合機能を利用するには、pubCenter のアカウントとデベロッパー センターのアカウントを リンク付けする必要があります 。pubCenter とデベロッパー センターで同じ Microsoft アカウントを使用している場合...(read more)

完全なる余談 : Internet Explorer の自動アップデートについて

Sun, 10/25/2015 - 22:59

最近、旧バージョンの Internet Explorer がサポート切れになるというテーマばかりで恐縮なのですが、この記事はそれらにまつわる付録と思って読んでくださいませ。

前回の記事でも(その前の記事でも)書いたとおり、来年 (2016) の 1 月 12 日からは、Internet Explorer のサポートポリシーが変更され、以下の表にあるとおり、その Windows 上で動作する最も高いバージョンの Internet Explorer しかサポートされなくなります。

Windows Internet Explorer 延長サポート終了 Windows Vista SP2 Internet Explorer 9 2017年 4 月 11 日 Windows Server 2008 SP2 2020年 1 月 14 日 Windows 7 SP1 Internet Explorer 11 Windows Server 2008 R2 SP1 Windows 8.0 Internet Explorer 10 2023年 1 月 10 日 Windows Server 2012 Windows 8.1 Internet Explorer 11 Windows Server 2012 R2 Windows 10 (最低でも10年)
(2016年1月12日以降、サポートされる
Windows と Internet Explorer の組み合わせ)
 

上記の表の青字の部分については、OS 既定の Internet Explorer のバージョンではないため Windows 8 以前のお使いの方は Internet Explorer をアップグレードする必要が出てくる可能性があります。

ここまでを読んで、Windows に詳しい方であれば、「Internet Explorer って、途中から自動アップグレードになったんじゃなかったんだっけなァ?」と思われる方もいることでしょう。

そのとおりです。自動アップグレードの仕組みがあるにもかかわらず、さまざまニュース記事でいまだに Internet Explorer 8 のシェアがそこそこ残っていることや、Web サイトを運営されている方々から「IE8 使ってる人、まだけっこういるんですよねぇ」と言くたびに 21世紀を迎えて 15 年を経た今でもこんなミステリーが残っていたのか! とただただ驚くばかりです。

ちなみに StatCounter によれば 2015 年 9 月の日本における Internet Explorer のシェアは 1.83% のようです。(画像をクリックすると実際にグラフにアクセスできます)

いっぼう、ニュース記事などによると、Net Applications の発表では 2015 年 9 月の Internet Explorer 8 のシェアは 11.71% もあるとのことです。しかし、どこの地域のデータなのか記載されていないので日本ではなくワールドワイドでデータの可能性があります。

こういったデータは、抽出するソースによって結果が変わってきますので、Web コンテンツ作成の際にレガシーブラウザー対応をするかしないか判断するにおいては、自分の Web サイトの実際のデータをしっかり確認することをお勧めします。

 

Internet Explorer の自動アップグレードとはなんだったのか?

Internet Explorer の自動アップグレードとは、Windows Update を使用して Internet Explorer を自動的に最新のバージョンにアップグレードする機能です。

2011 年 12月 16 日、 今はなき Exploring IE ブログ にて全世界の Windows XP、Windows Vista、Windows 7 に対し、それぞれの Windows がサポートする最新の Internet Explorer への自動アップグレードを開始する旨が発表されました。

Internet Explorer の自動アップグレードは全世界において 1 月中旬から地域別に段階的に実行され、日本では 3 月中旬より対象の Windows に対し、順次自動アップグレードが適用されました。

しかし、この自動アップグレードが適用されないケースもありました。

 

Internet Explorer の自動アップグレードがされない理由

Internet Explorer の自動アップグレードの対象は、Windows Vista の場合は SP2 から、Windows 7 は SP1 からであるため、それらサービスパックをインストールしていない場合は Internet Explorer が古いままの可能性があります。

Blocker Tookit や管理ソリューションで管理されていたり、以前の自動更新の際に新しいバージョンの Internet Explorer のインストールを拒否されていた場合も自動アップグレードは行われません。

つまり、いまだに Internet Explore 7 や 8 を使い続けている方は、これらのいづれかのケースに当てはまっていると考えられます。

これらに該当する方々は Internet Explorer のアップグレードを手動で行う必要がありますが、手動といってもむつかしいことはありません。Internet Explorer のダウンロードサイトからインストーラーをダウンロードして実行するだけです。

ただし、お使いの Windows Vista および Windows 7 に必要なサービスパック (SP) がインストールされていないと新しい Internet Explorer をインストールすることはできません。とくに Windows Vista の SP2 は、公開された時期の関係で、SP2 が適用済の単体パッケージは存在しませんので、理屈からいえばかならず SP2 を適用する必要があります。これ���サービスパックの適用は、メーカーからサポートを受けるための条件にもなっていますので、ぜひ適用してください。

企業などの、管理された IT 環境によって古いバージョンの Internet Explorer の使用を義務付けられている、というわけでもなく、ただなんとなく旧バージョンの Internet Explorer をご使用になられている方は、ぜひここで一度、胸に手をあてて、「なぜ自分は、時代遅れで性能も低くHTML5 も動作しないうえに、とくに他人への自慢のタネになると思えない古い Internet Explorer をいまだに使い続けているのか?」について冷静に考えていただきたいところです。(さらにもうひとつ、申し加えるなら、ただ単に古いだけのものに Vintage としての価値はありませんよ、ということです)

とくに理由が見つからないようであれば、ここはぜひ、速やかに最新に Internet Explorer か Windows 10 へのアップグレードをお願いいたします。

 

Window 10 における Edge と Internet Explorer 11 のアップデート

Windows 10 でも Edge や Internet Explorer 11 のアップデートは Windows Update により行われます。

ただし、Edge はたゆまない機能追加が行われますが、Internet Explorer 11 は不具合の修正やセキュリティ情報の更新くらいで、今後機能が追加されたり不具合以外での仕様変更もありません。

これら Windows Update の設定は、スタートボタン – [設定] – [更新とセキュリティ] メニューを選択することで表示される、[選択]ダイアログボックスの [Windows Update] タブで行います。

同タブ内の [詳細オプション] リンクをクリックすると、

Windows Update に関する詳細オプションを設定する画面が表示され、アップデートがかかったさいに必要となる再起動の日時が指定できたり、エディションによっては Window 10 の新しい機能がリリースされた際のアップグレードを延期することができます。

Windows Update で提供される既定のアップデートは、Current Branch と呼ばれ、セキュリティパッチや更新プログラム(機能追加やバグフィックス)が含まれています。

そして Windows 10 Pro 以上のエディションでは、企業内の管理された IT 環境などで、アップデートに対する検証作業にかかる期間の余裕を持たせる目的で、アップデートの適用をある期間延期する Current Branch for Business (CBB) という機能が搭載されています。

さらに Windows 10 Enterprise では、なにか特定の目的に固定されて使用されるような、環境のクリーンさが重要視されるシステム向けに、一切の機能追加を行わず、セキュリティパッチやバグフィックスのみを適用する Long Term Servicing Branch(LTSB) が用意されています。

マイクロソフトが推奨するアップデートは、既定の設定であるアップデートをいち早く適用する Current Branch  ですが、エンタープライズ環境向けに、上記のような Current Branch for Business や Long Term Servicing Branch といった機能が用意されています。

これらのエンタープライズ環境向けの機能につきましては、以下のドキュメントをご参照くださいませ。

最後に、Windows 10 の更新は、上記のような機能を使用して延期することは可能ですが、アップデートを適用しない、という選択はできません。

いつかはかならずアップデートが適用されますので、速やかなアップデート、事前の検証が必要な場合には速やかな検証をお願いいたします。

 

まとめ

今回の記事では Internet Explorer の自動アップグレードについて紹介しました。

じつはこの内容は、前回の記事「なぜサポートが終了した Web ブラウザーを使うと危険なのか?」の一部となる予定だったのですが、冗長になりそうだったのとテーマから外れているのでカットした部分になります。

Windows 10 がリリースされたあと、いまさら Internet Explorer の自動アップグレードを紹介しても….、とは思いましたが、せっかく書いたので投稿してみました。

なにかのお役に立てれば幸いです。

clicky.init(265360);

.NET Micro Framework 4.4 リリース

Sun, 10/25/2015 - 22:56

.NET Micro Framework の最新バージョン、4.4のRC版がリリースされました

http://blogs.msdn.com/b/netmfteam/archive/2015/10/21/net-micro-framework-4-4-is-now-available.aspx

ネットワークの安定性向上、いくつかのモダンなCPU向けの参照実装、Windows 10のUWPのAPIに似せたAPI(Device制御系)の追加等が含まれています。対応するVisual Studioは、2015の有償版、Community Editionです。
※2015 Expressには対応していないようです。

SDKインストールのためのファイル群(MicroFrameworkSDK.msi、NetMFVS14.vsix)は、
https://github.com/NETMF/netmf-interpreter/releases

からダウンロードできます。

現状では色々と不具合があるようなので、特にNETMF4.3をインストール済みの皆さんは、使う場合には注意が必要です。
https://yseosoft.wordpress.com/2015/10/24/netmf-net-micro-framework-v4-4-%e3%81%8c-rtw-%e3%81%97%e3%81%be%e3%81%97%e3%81%9f%e3%80%82%e3%81%8c%e3%80%81v4-3-%e9%96%8b%e7%99%ba%e8%80%85%e3%81%af-visual-studio-%e3%81%ae%e6%9b%b4%e6%96%b0/
に説明があるので、参考にしてください。

特に、Visual Studio 2015で、.NET Micro Framework 4.3を使っている皆さん、Visual Studio 2015からは、VSIXでインストールした機能にアップデートがあった場合、自動的に更新を適用する機能が入っているので、デフォルトではいつの間にか.NET Micro Framework 4.4にバージョンアップされて、コンパイルエラーになったり、デバッグできなかったりするようになるので、上の瀬尾さんの説明を読んで、.NET Micro Framework 4.3の再インストールを行った後、メニューの”ツール”→”拡張機能と更新プログラム”を選択し、

".NET Micro Framework project system"を選択して、”この拡張機能を自動的に更新する”のチェックボックスのチェックを外してください。

他のトピックスとして、.NET Micro Frameworkではそれ以外にも新しい取組みが始まっています。LLILUMです。
http://blogs.msdn.com/b/netmfteam/archive/2015/10/04/llilum-roadmap-and-latest-additions.aspx

既に初期バージョンのLLILUM SDKがVisual Studio向けに出ています。https://github.com/NETMF/llilum を読んでも今一つLLILUMとは何かがよくわからない感じですが、従来の.NET Micro Frameworkより、更に小さく、かつ、ハイパフォーマンスなバイナリを生成する技術と思ってください。
現在は、C#ですが、PythonやJavaScriptのサポートやUWPアプリも対応予定のようです。https://github.com/NETMF/llilum/wiki/roadmap もう少し簡単に使えるようになったらまたこのブログで紹介しますね

 

 

微軟開發部門 DevOps 經驗談 (四) - 從使用者經驗中學習

Sun, 10/25/2015 - 20:17

本文接續:

微軟開發部⾨ DevOps 經驗談 (一) - 從 Agile 邁向 DevOps

微軟開發部門 DevOps 經驗談 (二) - 從經驗中學習

微軟開發部門 DevOps 經驗談 (三) - 為 DevOps 量身打造的系統

今天要來談的是如何從使用者經驗中學習。

從使用者經驗中學習

我們盡可能讓所有開發的功能,都能提供良好的使用者體驗,就算這是件相當困難的事。舉例來說,我們花了很多功夫讓服務達到 99.9% 的服務可靠度 (SLA, Service-level agreement),但我們並不因此而滿足。

我們的目標並不僅僅只是 SLA,而是希望提供 100% 完全沒有缺點的服務。這也代表著我們必須要對發生機率是 0.001% 的例外狀況斤斤計較。由於異常狀況經常會隱藏在監控的數據之中,我們甚至為此改寫了三次計算 SLA 的演算法,來讓我們的監控標準更加的嚴謹。參考下圖一,在一開始,我們使用外部進入測試,來判斷服務是否正常運行,如圖表中的虛線所示,我們的第二個演算法是觀察所有使用者進行的操作指令中,失敗和執行緩慢的數量比例,來判斷是否有功能發生異常,你可以參考圖表中的失敗和緩慢指令數量。在服務成長之後,由於使用者數量過多,也可能會讓問題被隱藏在相對大的系統數字之中,目前我們的作法是計算每分鐘遇到問題的使用者數量相對於每分鐘所有使用者數量,作為判斷系統是否有異常的指標,如圖中黑色現所示。

圖一、呈現了計算SLA的三種演算法,外部進入測試沒有找到任何的異常,追蹤指令執行狀況呈現了有一小時發生執行緩慢的狀況,而在使用者異常相對比例中更反映了有三小時的執行緩慢情形發生。

如同你所看見的,在四個小時的週期中,第一條虛線顯示沒有異常,第二條線顯示大約有一小時的異常,而第三條線卻顯示了有三個小時服務的效能是十分糟糕的。其實我們沒有必要這麼嚴格的設定線上數據觀察的機制,但我們為了提供給使用者更好的服務品質,對每一個數據都會更嚴格的要求自己。

注重安全性

在我們服務的其中一個安全標準中,要求了我們必須確保服務能夠保護使用者隱私,確保資料安全,在提供穩定服務的同時維持安全品質。以前我們開發地端版本的軟體提供給客戶使用時,就曾經在軟體的安全性上下了不少苦工,甚至會假設如果服務被入侵時,要怎麼自動偵測或判斷服務的安全受到了威脅。

除此之外,我們使用擴展單元來部署服務的方式帶來了一些額外好處,SU0 除了作為我們服務的第一個部署單元之外,還可以透過它來進行安全演習,強化驗證並我們服務的安全性。我們會使用這個擴展單元來舉辦一些類似“遊戲日”的活動,例如在內部舉辦安全性比賽,看看服務是否能夠抵禦入侵,而使用 SU0 更大的好處是不會影響正在使用我們服務的使用者們!

不同的部署方式

在我們開發地端版本提供給客戶使用的軟體時,我們花了十分多的精力調整開發系統和流程,想辦法讓客戶使用軟體遇到異常的時間降低,換句話說,由於產品提供給客戶之後,萬一客戶在使用時發生任何的異常或問題,要處理的成本都會變得十分的高,所以我們必須要在提供給客戶前就盡可能的降低問題發生的機率,避免我們常常要發行修正更新給客戶來解決異常,也避免造成客戶對我們的軟體有不好的印象。

DevOps 以及服務的雲端化改變了我們的思維,我們要考慮如何盡可能降低修復問題和重新部署到線上服務的時間,這也讓我們有了不一樣的目標,同時必須還要考慮修復問題、發現問題、找到原因以及學習改善根本原因的時間

我們還想到在設計時必須多為了彈性做考量。線上服務可能會因為周邊相關的系統中斷而導致異常,尤其是在使用量尖峰時段很容易發生,但既然是線上服務,就必須將使用上的影響降到最低,並搭配對應的重試機制,例如使用 Circuit Breaker 模式。我們也要盡量避免使用者在重試期間可能造成的不當操作,這點可以透過類似 Chaos Monkeys 模擬使用者亂點的行為來進行測試,這套軟體是由 Netflix 所開發。

另外,災難復原機制也是相當重要的,像是在內部舉辦 “遊戲日” 活動時,侵入的行為可能會把服務打掛,因此我們必須要事先準備好相對應的機制來應付突然的異常或是任何意外造成服務中斷。

開放程式碼

我們提高了參與 Open Source Software 社群的比例,OSS 鼓勵人們建立可分享、可重複使用及容易搭配的服務或產品,並且盡可能的讓產品低耦合,鼓勵跨服務結合使用,但保持服務各自獨立發行。

如果有 OSS 的解決方案可以滿足我們的需求,我們會希望可以直接使用它,而不是再發明一套新的。如果我們開發了一些用途比較廣的軟體,我們也希望能夠分享

它。我們會獎勵開發出好用元件的工程師,鼓勵公司所有人使用那些好用的元件。任何公司內的工程師都可以對所有公司的產品提出改善的意見,同時,在公司內部我們提供所有公司產品的程式碼,以及完整的產品支援。

學習的好時機

只有在徹底了解問題發生原因並解決之後,才能夠視為處理完成。我們同時還會使用 “5 Whys” 方法,試圖從各種不同的面向了解下次如何做得更好。每當發生問題且影響客戶使用時,我們的管理負責人 Brian Harry 就會發佈一篇部落格文章詳細解釋問題發生的原因,以及我們學習到的教訓,這也替我們的線上異常提供了一份公開的紀錄,驅使我們持續改善。

我們也會透過客戶對於這篇部落格文章的反應,當作我們改進的參考,在文章中描述了服務的不足之處,客戶也感謝我們願意分享這些異常的處理及說明。透過透明化的方式,讓我們與客戶之間並不只是商人與顧客的關係,而擁有更深層更良好的互動。

經營與開發緊密結合

在過去,我們不容易統整經營和開發這兩者的考量,這也是因為我們所做的決定通常必須經過很久才能看到成效,但 DevOps 改變了這一切,我們希望能夠持續的讓使用者體驗更好,我們會從使用者一開始使用我們服務就開始了解使用者使用的狀況,不管是透過網路調查,或是其他試驗的方式,也會透過遙測技術觀察所有的數據,甚至是透過和使用率高的使用者進行 1 對 1 訪談來了解使用者的想法。

由於我們的服務提供了許多的功能,為了提供使用者更好的使用體驗,我們會假設使用者實際使用這些功能的動作,例如開啟網頁、註冊帳號,或是部署程式到 Azure 上,還是進行其他的動作。如果我們對於使用者進行操作步驟的轉換率不滿意時,我們會透過假設的方式來思考如何改善,調整功能進行實驗並收集數據分析結果,並且會只專注在有調整功能部分的數據,盡可能不讓它被服務的其他面向調整所影響,我們對於數據的有效性非常的謹慎,設法不要讓自己淪為追求成長的假象。

在分析數據時,如果可以和使用者的反饋一起分析會更加有效。我們使用了很多種方式來收集使用者的反饋,其中一種最有效的是“高用量使用者計畫”,我們鼓勵自願的工程師每個月和一位高使用量的使用者進行訪談,了解使用者的意見,這也幫助我們了解使用者喜歡和討厭什麼,希望的功能或是感到困惑的地方,這些都是靠數字無法告訴我們的。同時在我們內部有一個“嘗鮮”小圈圈,其中大部分是 MVP 或和我們比較熟的客戶,我們幾乎每個禮拜都會透過網路開會來分享對於服務的新想法。他們會通過 StoryBoards 的方式,提供對於流程的想法和意見,並且在開始實作之前提供對於項目優先程度的想法。另外,我們也有使用類似 uservoice.visualstudio.com 的方式,讓所有人都可以提供意見和對想要的功能進行投票。

學習: 邁向卓越的實踐計畫

在我們轉換到 DevOps 之後,我們將成長歸納到七個面向,我們也認為即將迎來使用敏捷開發趨勢的第二個十年。

圖二、圖中的七個區域是我們為了更好的專精於 DevOps 上,所訂定持續改善實行的目標

  • 敏捷的規劃與團隊 - 這其實也是敏捷精神的延伸,但更加的輕量化。我們擁有更多面向的功能開發小隊,保持 Product backlog 的精神,最小化工作內容,並且在每個 Sprint 結束之後,將完成的項目即時部署到線上服務。 
  • 技術債務的管理 - 所有遺留下的技術債務都是風險,可能會產生預期之外的工作項目,例如線上服務的異常必須要及時的被排除,也有可能會影響預期的工作產出。我們非常謹慎的對待技術債務,並且在技術債務影響我們的產出或品質之前,就安排計畫將它排除。(有一次我們誤判了情況,就是在之前所提到的 VS2013 發表事件,但我們盡可能的保持資訊透明) 
  • 執行有價值的項目 - 我們的 backlog 項目會根據使用者所希望的功能,以及項目上線之後帶來的價值,來決定項目對我們的重要程度。從十年前使用敏捷開發時我們就很重視這些,但今天透過 DevOps 的遙測技術,可以透過實際測量項目所帶來的成效,以及需要進行的改進方向。
  • 基於假設的 backlog - 在導入 DevOps 之前,我們的 Product Owner 會根據使用者的反饋,挑選出對產品有幫助的項目加入我們的 backlog 之中。而現在,我們的 backlog 是由一系列的假設組合而成,根據所收集到使用者使用的數據,猜測能夠滿足使用者需求的項目進行實驗,再根據上線後所收集到的數據來分析我們的假設是否正確。根據這些結果,可以決定我們是否要繼續朝這個方向開發,或是應該調整我們所假設的方向。 
  • 數據與驗證 - 我們盡可能的讓一切都數據化,不僅僅只是服務是否健康運行、可靠度或是效能,我們還會收集軟體品質的分析,嘗試了解使用者的使用狀況,以及觀察假設性項目的結果是否理想。舉例來說,我們可能會根據使用者體驗做一些實驗性的調整,再測量這些調整對於流程轉換率的影響,我們會一起根據使用者實際使用狀況,來假想如何讓使用者擁有更好的使用體驗。 
  • 重視線上環境 - 只有在服務維持著高品質的時候,我們所收集的資料才有意義。所以我們會不斷的追蹤上線服務的健康狀況,找出每一個問題發生的根本原因,並監測我們的效能是否理想,找出導致功能緩慢的原因。 
  • 雲端化 - 要能夠讓我們的服務 7x24x365 不斷穩定的運行,只有不斷的改善優化服務架構,讓系統之間互相獨立,不要彼此依賴,並且使用更加具有彈性的公有雲服務。當我們的服務需要乘載更多的流量時,我們所使用的雲端服務就會提供延展的彈性 (我們使用的雲端平台是 Azure)。所有的新功能我們都會進行雲端版本的開發,完成之後再進行地端版本的產品化,包含了一些企業應用的處理,但相對來說就比較沒有那麼容易進行延展,我們也會從日常的使用狀況得到持續的反饋,來進行產品的改善。

其實我們可以說 DevOps 是敏捷開發精神進一步的延伸,打破了以往開發與營運難以合作的界線,讓敏捷開發的內容與現實生活更��近。除了保持著敏捷開發流程之外,現在還會更進一步的讓使用者現場與開發工作更加的緊密,透過收集使用者數據與各種遙測技術,我們能夠更加了解使用者想要的功能,讓產品符合市場需求,而不僅僅只是假設,也會透過持續改善的精神,不斷的推陳出新,讓產品具有更好的競爭力,提供更棒的使用者體驗。

Ücretsiz ekitap : "Data Science in the Cloud with Microsoft Azure Machine Learning and R: 2015 Update"

Sun, 10/25/2015 - 17:55

https://www.oreilly.com/ideas/get-started-with-cloud-based-data-science adresinde yazar Stephen Elston'ın, kitapla ilgili giriş yazısını okuyabilrsiniz. Kitabı epub, mobi, pdf formatında http://www.oreilly.com/data/free/data-science-microsoft-ml-r-2015-update.csp?intcmp=il-data-free-lp-lgen_20151019_radar_data_science_in_the_cloud_with_microsoft_azure_report_post_radar adresinden indirebilirsiniz.

Bu arada sadece 55 sayfa olduğu için kitap"çık" demek daha doğru olabilir. Microsoft Azure Machine Learning (MAML) 'ın ne olduğunu duydum ama biraz daha öğrensem diyenler için gayet faydalı olacağını düşünüyorum.

Business Rule Extension

Sun, 10/25/2015 - 16:49

Applies To: SQL Server 2016 Preview

Business rule is a rule that you use to ensure the quality and accuracy of your master data. You can use a business rule to automatically update data, to send email, or to start a business process or workflow. The system only provides a certain number of pre-defined conditions and actions. We are introducing Business Rule Extension in SQL Server 2016, which enables customers to define more flexible and powerful Business Rules. Users can create their own rules for both conditions and actions.

Create your own conditions

SQL functions that match following criteria can be used as Business Rule conditions.

  • Must be defined under [usr] schema.
  • The return value type must be BIT.
  • Only following types are supported for parameter types.
    • NVARCHAR
    • DATETIME2
    • DECIMAL (precision, scale)
      • precision must be 38
      • scale must be a value from 0 to 7

Example

CREATE FUNCTION [usr].[IsDateEmpty]

(

@Value DateTime2

)

RETURNS BIT

AS BEGIN

SET @Value = NULLIF(LTRIM(RTRIM(@Value)), N'')

IF @Value IS NULL

BEGIN

RETURN 1

END

RETURN 0

END

Create your own actions

SQL stored procedures that match following criteria can be used as Business Rule actions.

  • Must be defined under [usr] schema.
  • Only contain following parameters
    • @MemberIdList mdm.[MemberId] READONLY
    • @ModelName NVARCHAR(MAX)
    • @VersionName NVARCHAR(MAX)
    • @EntityName NVARCHAR(MAX)
    • @BusinessRuleName NVARCHAR(MAX)

Example

CREATE PROCEDURE [usr].[SetCurrentDate]

(

@MemberIdList mdm.[MemberId] READONLY,

@ModelName NVARCHAR(MAX),

@VersionName NVARCHAR(MAX),

@EntityName NVARCHAR(MAX),

@BusinessRuleName NVARCHAR(MAX)

)

AS BEGIN

INSERT INTO stg.Product_Leaf (ImportType, BatchTag,Code,CreatedDTM)

SELECT 0, N'BR', Code, GETDATE()

FROM @MemberIdList

EXEC[stg].[udp_Product_Leaf]

@VersionName = @VersionName,

@BatchTag = N'BR'

END

Script actions will be executed as mds_br_user which has following permissions

Schema

Permissions

mdm

SELECT

stg

SELECT, UPDATE, DELETE, EXECUTE, INSERT

usr

FULL

Create a Business Rule with script conditions and script actions

Let’s create a business rule against Product entity that updates the CreatedDTM to current date if the value is not set. You can get the Product entity from Sample Packages.

Navigate to Business Rule Manage page after create script condition and action using sample code above. Choose Product model and Product entity and then click Add Button, now a new empty Business Rule is created.

Then click Edit button, we can find IsDateEmpty and SetCurrentDate are shown on the components panel.

Now let’s drag “ IsDateEmpty” to IF panel on the right, and then drag CreatedDTM from Attributes Panel to Edit Condition Panel. Click Save button to save the condition.

In order to create the action, just drag SetCurrentDate to Then panel and click save on the Edit Action Panel.

After creating the Business Rule, click top left Back button to go back to the management page and click “Publish business rules” button to activate the rule.

Now let’s test the Business Rule we just created.

1. Choose Product model and an open version in the main page

2. Click Explorer Task button.

3. Choose Product entity from Entities menu.

4. Click Marketing attribute group

5. Click Add Member and enter “BB-1111” in Code field.

6. Click Ok button

7. Now we can see the CreatedDTM for Product “BB-1111” is set to current date.

開発者のための Windows 10 ガイド ビデオ シリーズ改訂版

Sun, 10/25/2015 - 16:00
※本ブログは Building Apps for Windows " Update to Developer’s Guide to Windows 10 video series " の抄訳です。 ユニバーサル Windows アプリを迅速に構築するには、Andy Wigley とShen Chauhan が講師を務める Microsoft Virtual Academy トレーニング コース「 開発者のためのWindows 10 ガイド 」(英語)の改訂版をご覧になることをお勧めします。この改訂版のシリーズでは、Windows 10 ビルド 10240 以降と Visual Studio 2015 RTM が必要です。ソースコードをダウンロードする場合は、 GitHub にアクセスしてください。 この改訂版のシリーズでは、アダプティブ UI の構築に使う Blend の新機能と、パフォーマンスの問題を診断する Visual Studio の新しいツールの概要を確認できます。また、マウスやキーボードを使わずに人間とコンピューターの対話式操作を拡張できる方法や...(read more)

Using Azure Policy to Deny or Audit Management Operations

Sun, 10/25/2015 - 15:39

The deep integration between Azure Resource Manager (ARM) and Azure Active Directory (AAD) lights up interesting security features such as role-based access control allowing fine-grained control over who can manage Azure resources. Azure Policy is a new ARM feature that supports global restrictions on the deployment and management of Azure resources. For example, Azure Policy provides the ability to restrict deployments of Virtual Machines to specific sizes and regions – regardless of any other permissions the administrator may have. Azure Policy also supports the ability to audit operations that are then allowed to succeed.

An Azure Policy is implemented by creating a policy definition specifying the policy rules and actions and then assigning it at one of subscription, resource group or resource scope. The policy definition is specified as a JSON document specifying a rule as one or more conditions and an action which is either deny or audit. A deny action ensures that the action is expressly forbidden at the assigned scope regardless of any RBAC authorizations the caller may have. An audit action means that the action is allowed to complete but that an audit message is written to the Azure logs, from which it may subsequently be retrieved.

The conditions in the policy definition rule are based on various fields contained in the operation as well as the source of the action (operation). The rules can use the following data elements:

  • name
  • location
  • type (of resource, eg., Microsoft.Compute/virtualMachines)
  • tags
  • source (resource provider namespace, e.g., Microsoft.Compute)

Azure Policy is described in a post on Azure.com. The REST API for Azure Policy definitions is documented here. The REST API for Azure Policy assignments is documented here.

PowerShell Azure PowerShell v1 supports Azure Policy with the following cmdlets:
  • Get-AzureRmPolicyAssignment 
  • Get-AzureRmPolicyDefinition 
  • New-AzureRmPolicyAssignment 
  • New-AzureRmPolicyDefinition 
  • Remove-AzureRmPolicyAssignment
  • Remove-AzureRmPolicyDefinition
  • Set-AzureRmPolicyAssignment 
  • Set-AzureRmPolicyDefinition
Example

The following policy rule forbids the creation in the East US region of a storage account created using the Microsoft.Storage resource provider:

$policyRule =
@'
{
  "if":{
    "allOf":[
      {
        "source":"action",
        "equals":"Microsoft.Storage/storageAccounts/write"
      },
      {
        "field":"location",
        "in":[
          "eastus"
        ]
      }
    ]
  },
  "then":{
    "effect":"deny"
  }
}
'@

Had the effect been audit, instead of deny then creation would be allowed but the fact of creation would be explicitly audited.

The following cmdlets create a new policy definition and then assign it as a policy to the specified resource group:

$policy = New-AzureRmPolicyDefinition -Name $policyName -DisplayName "No Storage in East US" -Policy $policyRule

$resourceGroup = New-AzureRmResourceGroup -Name $resourceGroupName -Location "westus"

New-AzureRmPolicyAssignment -Name $policyAssignment -PolicyDefinition $policy -Scope $resourceGroup.ResourceId

With this assignment the following will be denied for all users:

New-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Location eastus -Name $storageAccountName -Type Standard_LRS

While the following deployment in the West US region will succeed

New-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Location westus -Name $storageAccountName -Type Standard_LRS

Logging

The Get-AzureRmLog cmdlet can be used to retrieve information about the status of any ARM operation, including failure, as well as the fact that an operation was audited.
The following example retrieves detailed information for all failed operations in the last hour:

Get-AzureRmLog -DetailedOutput -Status Failed

A different timeframe can be selected using the StartTime and EndTime parameters. The output can also be restricted by resource group and resource provider.

The following example retrieves all audit notifications in the last hour (which can again be modified by StartTime and EndTime).

Get-AzureRmLog | Where {$_.OperationName -eq 'Microsoft.Authorization/policies/audit/action'}

Authorization :
Scope : /subscriptions/GUID/resourceGroups/PolicyDemo/
providers/Microsoft.Storage/storageAccounts/policydemo555
Action : Microsoft.Storage/storageAccounts/write
Role : Subscription Admin
Condition :
Caller : admin@orgid.com
CorrelationId : 682c2a4c-1bed-4871-8428-3c58f3e290fe
EventSource : Administrative
EventTimestamp : 10/25/2015 10:18:14 PM
OperationName : Microsoft.Authorization/policies/audit/action
ResourceGroupName : PolicyDemo
ResourceId : /subscriptions/GUID/resourceGroups/PolicyDemo/providers/Microsoft.Storage/storageAccounts/policydemo555
Status :
SubscriptionId : GUID
SubStatus :

This makes it trivial to identify attempts to manage audited resources as well as who attempted the operation.

Secrets of the Speech Night Powerpoint Display

Sun, 10/25/2015 - 12:01

Tips and tricks for perfecting your PowerPoint skills for speech night, final assembly and beyond!

...(read more)

Windows 10 Deployment–Deep Dive

Sun, 10/25/2015 - 09:59

In my previous article,  I have discussed the must know concepts for IT professionals in Windows 10 – Deployment, Management and Security. In this post, let us deep dive into Windows 10 deployment – tools, techniques and process.

To deploy Windows 10 in your organization, it is important to understand the different ways it can be deployed with new scenarios and the mix of devices with with multiple versions of Windows OS.

Deployment techniques:

To deploy Windows 10 and applications, it is important to know and understand the techniques or scenarios along with their applicability and limitations.

  • In-place upgrade

This option is meant for systems running in Windows 7, Windows 8 and Windows 8.1. It is used for hassle free upgrade option without a complex deployment plan or process. An IT friendly upgrade process to be precise. It automatically preserves all data, settings, applications, and drivers from the existing operating system version.

  • Dynamic provisioning

There are 2 dynamic provisioning scenarios namely – Azure AD Join with automatic MDM enrolment and Provisioning package configuration without MDM. This is mainly used in CYOD (choose your own device) scenarios where in there is no restriction to choose the available and certified devices within the organization.

  • Traditional deployment (wipe and load)

As the name suggests this is the traditional deployment method where in the device OS is wiped off and fully installed fresh. Again this is mainly used in three scenarios – New computer, computer refresh and computer replace.

Deployment tools:

Now that we have a fair idea about the deployment techniques/scenarios, the next step is to understand about the toolsets which are useful in deployment scenarios. These are the tools majorly used for deployment.

Windows Assessment and Deployment Kit

Windows ADK contains core assessment and deployment tools and technologies, including

    • Deployment Image Servicing and Management (DISM),
    • Windows Imaging and Configuration Designer (Windows ICD),
    • Windows System Image Manager (Windows SIM),
    • User State Migration Tool (USMT),
    • Volume Activation Management Tool (VAMT),
    • Windows Preinstallation Environment (Windows PE),
    • Windows Assessment Services,
    • Windows Performance Toolkit (WPT),
    • Application Compatibility Toolkit (ACT)

While there are tips for ITPros to use the tools and techniques, there are guidance as well when to use the techniques.

When you should go for in-place upgrade?

    • The existing computer OS is Windows 7, 8, 8.1
    • When application compatibility tests are passed
    • Upgrade to standard Windows 10 image
    • Where you need automatic roll back to previous OS.

When not to go for In-place upgrade?

    • Changing from Windows x86 to x64
    • Systems using Windows To Go, boot from VHD
    • Changing from legacy BIOS to UEFI
    • Dual boot and multi-boot systems
    • Where there is Image creation processes involved (can’t sysprep after upgrade)
    • Using certain third-party disk encryption products

The dynamic provisioning and traditional deployment use cases are very well known and am not going in depth in the same.

One important feature that can’t be missed in Windows 10 is Windows as a Service – as the name suggests, now you can get Windows updates like software updates.

There are different ways you treat your normal users, business users and critical users. You may not want to treat your business users the same way as critical or normal users. Like the term says – one size doesn’t fit all – one update process may not be fitting all. All these times, it was either full update or no update (though there were policies to control the number of updates and when to update), it was not that fully implemented even with WSUS.

There are some widely used terms while defining the windows update. Those are

  • Current Branch
    • Features are released to broad market
    • Customers are up to date with features as they are released after broad preview validation
    • Opportunity for enterprises to test and validate new features
    • WSUS, SCCM, and WU for Business can be used for managing delivery of updates
    • Security updates and fixes are delivered regularly
  • Current Branch for business
    • Business customers can start testing as soon as preview features are released via Windows Insider Program
    • Business customers can wait to receive feature updates for an additional period of time, testing and validating in their environment before broad deployment
    • Within the deferral period, you can flight these features and updates in your organization and provide feedback
    • WSUS, SCCM, and WU for Business can be used for managing delivery of updates
    • Security updates and fixes are delivered regularly
  • Long term servicing branch
    • Security updates and fixes are delivered regularly
    • Customers on Long Term Servicing Branch receive security and critical fixes only for ten years
    • Customers can move from one LTSB to the next one via in-place upgrade and can skip one LTSB as well
    • Customers manage updates via WSUS

There is something newly introduced called Windows update for business. The capabilities are

  • Time to test and validate the feature updates
  • Create internal deployment groups
  • Maintenance window aligned with business rhythm
  • Peer to peer delivery to optimize bandwidth
  • Integrating with the existing tools such as system center
  • Access to current branch and current branch for business

Finally, I would like to finish the deployment story with the tip of thinking through deployment strategy.

For more details on Windows 10 deployment, please check here.

See you all in my next post on Windows 10 Security.

Pages

Drupal 7 Appliance - Powered by TurnKey Linux