What’s brewing in Visual Studio Team Services: July 2017 Digest

This post series provides the latest updates and news for Visual Studio Team Services and is a great way for Azure users to keep up-to-date with new features being released every three weeks. Visual Studio Team Services offers the best DevOps tooling to create an efficient continuous integration and release pipeline to Azure.

In this month’s update, we begin with an industry first by scaling Git beyond what anyone else thought possible. After discussing more improvements in Git, we’ve got a brand new built-in wiki now in public preview. We also have improvements in build, release, package management, and work item tracking. There’s a lot of new stuff, so let’s dive in.

World’s largest Git repo is on VSTS: 3.5M files and 300 GB!

As part of a big effort at Microsoft to modernize engineering systems, which we call One Engineering System (1ES), we set an audacious goal of moving the Windows code base into Git a few years ago. We tried a couple of different approaches, including submodules, before deciding that the best approach was to scale Git by virtualizing the repo. This spring we accomplished our goal when the Windows team moved the entire Windows code base into a single Git repo hosted on VS Team Services. With nearly 4,000 engineers working in a single Git repo called “OS,” Windows is in a single version control repository for the first time in decades. To achieve this, we created Git Virtual File System (GVFS) which we’ve also released as an open source project so that anyone can use it with VSTS.

The scale that Windows development operates at is really amazing. Let’s look at some numbers.

There are over 250,000 reachable Git commits in the history for this repo, over the past 4 months.
8,421 pushes per day (on average)
2,500 pull requests, with 6,600 reviewers per work day (on average)
4,352 active topic branches
1,760 official builds per day

We’ve already significantly improved performance from the first release of GVFS. Along the way, we’ve also made performance and scale improvements in Git, and we are contributing those to the Git project. Any account on VSTS can use GVFS, so feel free to try it out.

Since we’re talking about Git, let’s take a look at the improvements we’ve made in the experience.

Collapsible pull request comments

Reviewing code is a critical part of the pull request experience, so we’ve added new features to make it easier for reviewers to focus on the code. Code reviewers can easily hide comments to get them out of the way when reviewing new code for the first time.

Hiding comments hides them from the tree view and collapses the comment threads in the file view:

When comments are collapsed, they can be expanded easily by clicking the icon in the margin, and then collapsed again with another click. Tooltips make it easy to peek at a comment without seeing the entire thread.

Improved workflow when approving pull requests with suggestions

Using the auto-complete option with pull requests is a great way to improve your productivity, but it shouldn’t cut short any active discussions with code reviewers. To better facilitate those discussions, the Approve with suggestions vote will now prompt when a pull request is set to complete automatically. The user will have the option to cancel the auto-complete so that their feedback can be read, or keep the auto-complete set and allow the pull request to be completed automatically when all policies are fulfilled.

Filter tree view in Code

Now you don’t need to scroll through all the files that a commit may have modified to just get to your files. The tree view on commit details, pull requests, shelveset details, and changeset details page now supports file and folder filtering. This is a smart filter that shows child files of a folder when you filter by folder name and shows a collapsed tree view of a file to show the file hierarchy when you filter by file name.

Find a file or folder filter on commit tree:

Git tags

Our Git tags experience in the VSTS web UI continues to evolve quickly. In addition to improvements to viewing, you can also delete, filter, and set security on tags.

View tags

You can view all the tags on your repository on the Tags page. If you manage all your tags as releases, then a user can visit the tags page to get a bird’s-eye view of all the product releases.

You can easily differentiate between a lightweight and an annotated tag here, as annotated tags show the tagger and the creation date alongside the associated commit, while lightweight tags only show the commit information.

Delete tags

Sometimes you need to delete a tag from your remote repo. It could be due to a typo in the tag name, or you you might have tagged the wrong commit. You can delete tags from the web UI by clicking the context menu of a tag on the Tags page and selecting Delete tag.

Filtering tags

The number of tags can grow significantly with time. Some repositories may have tags created in hierarchies, which can make finding tags difficult.

If you are unable to find the tag that you were looking for on the tag page, then you can simply search for the tag name using the filter on top of the Tags page.

Tags security

Now you can grant granular permissions to users of the repo to manage tags. You can give users the permission to delete tags or manage tags.

New Wiki experience in public preview

For quite a while we’ve wanted to have a built-in wiki. I’m happy to announce that each project now has its own wiki. Help your team members and other users understand, use, and contribute to your project. Learn more about it in our announcement blog post and check out the docs. Oh, and one more thing. It fully supports emoji, so have fun with it!

Building with the latest Visual Studio

We’re changing the model for handling different versions of Visual Studio. Due to architectural, storage, and performance limitations, we’re no longer going to offer multiple versions of Visual Studio on a single hosted build machine. For details on the history and rationale for these changes, see Visual Studio Team Services VS Hosted Pools.

In this release you’ll see the following changes:

You must now explicitly select a queue when you create a build definition (no default).

To make it easier, we’re moving the default queue to the Tasks tab, in the Process section.

The Visual Studio Build and MSBuild tasks now default to the Latest setting for the version argument.

Coming soon you’ll see more changes. For example, the following hosted pools (and corresponding queues) will be:

Hosted VS2017

Hosted VS2015

Hosted Deprecated (previously called “Hosted Pool”)

Hosted Linux Preview

Chef: Infrastructure as code

Chef is now available in the Visual Studio Team Services Marketplace! If you’re not familiar with Chef, they offer an infrastructure automation platform with a slick custom development kit allowing you to “turn your infrastructure into code.” In their words, “Infrastructure described as code is flexible, versionable, human-readable, and testable.” The Chef team wrote their own extensive blog post about this release, and I encourage you to check that out as well.

The Chef extension adds six new Build & Release tasks for configuring Chef Automate.

The tasks in this extension automate the common activities you perform when interacting with the Chef Automate platform. For a detailed look at setup and configuration, check out the getting started guide on GitHub. The tasks included in the extension typically used as part of the build process are:

Update cookbook version number: Allows you to take your current build number and set the version of a Chef cookbook with that version prior to uploading.
Upload cookbook to Chef Server: Allows you to specify a path containing a cookbook from within your repo, and have it uploaded to your Chef Server, along with all prerequisites if you have specified them.

The tasks typically used as part of your Release process are:

Add variables to Chef Environment: Using this task allows you to copy a set of VSTS Release Management variables for your Environment, over to a specified Chef environment.
Release cookbook version to environment: This task allows you to specify a version ‘pin’ for a Chef cookbook in a particular environment. You can use this task in a Release Pipeline to ‘release’ cookbooks to that environment.
Execute InSpec: Execute InSpec on machines in a Deployment Group.
Execute Chef Client: Execute Chef Client on machines in a Deployment Group.

We are happy to have Chef join the Team Services extension ecosystem, so take your infrastructure to the next level and give them a shot.

Control releases to an environment based on the source branch

A release definition can be configured to trigger a deployment automatically when a new release is created, typically after a build of the source succeeds. However, you may want to deploy only builds from specific branches of the source, rather than when any build succeeds.

For example, you may want all builds to be deployed to Dev and Test environments, but only specific builds deployed to Production. Previously you were required to maintain two release pipelines for this purpose, one for the Dev and Test environments and another for the Production environment.

Release Management now supports the use of artifact filters for each environment. This means you can specify the releases that will be deployed to each environment when the deployment trigger conditions, such as a build succeeding and creating a new release, are met. In the Trigger section of the environment Deployment conditions dialog, select the artifact conditions such as the source branch and tags for builds that will trigger a new deployment to that environment.

In addition, the Release Summary page now contains a pop-up tip that indicates the reason for all “not started” deployments to be in that state, and suggests how or when the deployment will start.

Release Triggers for Git repositories as an artifact source

Release Management now supports configuring a continuous deployment trigger for Git repositories linked to a release definition in any of the team projects in the same account. This lets you trigger a release automatically when a new commit is made to the repository. You can also specify a branch in the Git repository for which commits will trigger a release. This also means that you can link GitHub and Team Foundation Git repositories as artifact sources to a release definition, and then trigger releases automatically for applications such as Node.js and PHP that are not generated from a build.

On-demand triggering of automated tests

The Test hub now supports triggering automated test cases from test plans and test suites. Running automated tests from the Test hub can be set up similarly to the way you run tests in a scheduled fashion in Release Environments. You will need to setup an environment in the release definition using the Run automated tests from test plans template and associate it with the test plan to run the automated tests. See the documentation for step by step guidance on how to set up environments and run automated tests from the Test hub.

Securely store files like Apple certificates

We’ve added a general-purpose secure files library to the Build and Release features. Use the secure files library to store files such as signing certificates, Apple Provisioning Profiles, Android Keystore files, and SSH keys on the server without having to commit them to your source repository.

The contents of secure files are encrypted and can only be used during build or release processes by referencing them from a task. Secure files are available across multiple build and release definitions in the team project based on security settings. Secure files follow the Library security model.

We’ve also added some Apple tasks that leverage this new feature:

Utility: Install Apple Certificate

Utility: Install Apple Provisioning Profile

Consume secrets from an Azure Key Vault as variables

We have also added first-class support for integrating with Azure Key Vault by linking variable groups to Key Vault secrets. This means you can manage secret values completely within Azure Key Vault without changing anything in VSTS (for example, rotate passwords or certificates in Azure Key Vault without affecting release).

To enable this feature in the Variable Groups page, use the toggle button Link secrets from an Azure key vault as variables. After configuring the vault details, choose +Add and select the specific secrets from your vault that are to be mapped to this variable group.

After you have created a variable group mapped to Azure Key Vault, you can link it to your release definitions, as documented in Variable groups.

Note that it’s just the secret names that are mapped to the variable group variables, not the values. The actual values (the latest version) of each secret will be used during the release.

Package build task updates

We’ve made comprehensive updates to the NuGet, npm, Maven, and dotnet build tasks, including fixes to most of the issues logged in the vsts-tasks repo on GitHub.

New unified NuGet task

We’ve combined the NuGet Restore, NuGet Packager, and NuGet Publisher task into a unified NuGet build task to align better with the rest of the build task library; the new task uses NuGet 4.0.0 by default. Accordingly, we’ve deprecated the old tasks, and we recommend moving to the new NuGet task as you have time. This change coincides with a wave of improvements outlined below that you’ll only be able to access by using the combined task.

As part of this work, we’ve also released a new NuGet Tool Installer task that controls the version of NuGet available on the PATH and used by the new NuGet task. So, to use a newer version of NuGet, just add a NuGet Tool Installer task at the beginning of your build.

npm build task updates

Whether you’re building your npm project on Windows, Linux, or Mac the new NPM build task will accommodate. We have also reorganized the task to make both npm install and npm publish easier. For install and publish, we have simplified credential acquisition so that credentials for registries listed in your project’s .npmrc file can be safely stored in a service endpoint. Alternatively, if you’re using a VSTS feed, we have a picker that will let you select a feed, and then we will generate a .npmrc with requisite credentials that are used by the build agent.

Working outside your account/collection

It’s now easier to work with feeds outside your VSTS account, whether they’re Package Management feeds in another VSTS account or TFS server, or non-Package Management feeds like NuGet.org/npmjs.com, Artifactory, or MyGet. Dedicated Service Endpoint types for NuGet, npm, and Maven make it easy to enter the correct credentials and enable the build tasks to work seamlessly across package download and package push operations.

Maven and dotnet now support authenticated feeds

Unlike NuGet and npm, the Maven and dotnet build tasks did not previously work with authenticated feeds. We’ve added all the same goodness outlined above (feed picker, working outside your account improvements) to the Maven and dotnet tasks so you can work easily with VSTS/TFS and external feeds/repositories and have a consistent experience across all the package types supported by Package Management.

Mobile work item form general availability

The mobile experience for work items in Visual Studio Team Services is now out of preview! We have a full end-to-end experience that includes an optimized look and feel for work items and provides an easy way to interact with items that are assigned to you, that you’re following, or that you have visited or edited recently from your phone.

 

Extension of the month: Product Plan

Communicating the big picture helps align everyone to the team goals and empowers more people to notice when something may not be lining up. So I am happy to announce that our partners at ProductPlan have brought their roadmap solution to the VSTS Marketplace.

ProductPlan provides an easy way to plan and communicate your product strategy. Get started with a 30-day free trial.

Easily drag and drop bars, milestones, containers, and lanes to build beautiful roadmaps in minutes.
Update your plans on-the-fly.
Securely share with individuals, your whole team, or the entire company – for free. Easily print and export to a PDF, image, or spreadsheet.
Use the Planning Board to score your initiatives objectively.
Capture future opportunities in a central location with the Parking Lot.
Expand lanes and containers to tailor the amount of detail you share.
View multiple roadmaps in a Master Plan to understand your entire product portfolio at a glance.

As always, there’s even more in our sprintly release announcements. Check out the June 1st and June 22nd announcements for the full list of features. Be sure to subscribe to the DevOps blog to keep up with the latest plans and developments for VSTS.

Happy coding!
Quelle: Azure

Microsoft Cognitive Services updates – Bing Entity Search API and Project Prague

This blog post was authored by the Microsoft Cognitive Services Team.

Microsoft Cognitive Services enables developers to augment the next generation of applications with the ability to see, hear, speak, understand, and interpret needs using natural methods of communication.

Today, we are excited to announce several service updates:

We are launching Bing Entity Search API, a new service available in Free Preview which makes it easy for developers to build experiences that leverage the power of Bing knowledge graph with more engaging contextual experiences. Tap into the power of the web to search for the most relevant entities such as movies, books, famous people, and US local businesses, and easily provide primary details and information sources about them.
Microsoft Cognitive Services Lab’s Project Prague is now available. Project Prague lets you control and interact with devices using gestures to have a more intuitive and natural experience.
Presentation Translator, a Microsoft Garage project, is now available for download. It provides presenters the ability to add subtitles to their presentations in real time, in the same language for accessibility scenarios or in another language for multi-language situations. With customized speech recognition, presenters have the option to customize the speech recognition engine (English or Chinese) using the vocabulary within the slides and slide notes to adapt to jargon, technical terms, product, place names, etc. Presentation Translator is powered by the Microsoft Translator live feature, built on the Translator APIs of Microsoft Cognitive Services.

Let’s take a closer look at what these new APIs and services can do for you.

Bring rich knowledge of people, places, things and local businesses to your apps with Bing Entity Search API

As announced today, Bing Entity Search API is a new addition in our already existing set of Microsoft Cognitive Services Search APIs, including Bing Web Search, Image Search, Video Search, News Search, Bing Autosuggest, and Bing Custom Search. This API lets you search for entities in the Bing knowledge graph and retrieve the most relevant entities and primary details and information sources about them. This API also supports searching for local businesses in the US. It helps developers easily build apps that harness the power of the web and delight users with more engaging contextual experiences.

Get started

To get started today, let’s get a free preview subscription key on the Try Cognitive Services webpage.
After getting the key, I can start sending entity search queries to Bing. It’s as simple as sending the following query:

GET https://api.cognitive.microsoft.com/bing/v7.0/entities?q=mount+rainier HTTP/1.1
Ocp-Apim-Subscription-Key: 123456789ABCDE
X-Search-ClientIP: 999.999.999.999
X-Search-Location: lat:47.60357;long:-122.3295;re:100
Host: api.cognitive.microsoft.com

The request must specify the q query parameter, which contains the user's search term, and the Ocp-Apim-Subscription-Key header. For location aware queries like restaurants near me, it’s important to also include the X-Search-Location and X-MSEdge-ClientIP headers.

For more information about getting started, see the documentation page Making your first entities request.

The response

The following shows the response to the Mount Rainier query.

{
"_type" : "SearchResponse",
"queryContext" : {
"originalQuery" : "mount rainier"
},
"entities" : {
"queryScenario" : "DominantEntity",
"value" : [{
"contractualRules" : [{
"_type" : "ContractualRules/LicenseAttribution",
"targetPropertyName" : "description",
"mustBeCloseToContent" : true,
"license" : {
"name" : "CC-BY-SA",
"url" : "http://creativecommons.org/licenses/by-sa/3.0/"
},
"licenseNotice" : "Text under CC-BY-SA license"
},
{
"_type" : "ContractualRules/LinkAttribution",
"targetPropertyName" : "description",
"mustBeCloseToContent" : true,
"text" : "en.wikipedia.org",
"url" : "http://en.wikipedia.org/wiki/Mount_Rainier"
},
{
"_type" : "ContractualRules/MediaAttribution",
"targetPropertyName" : "image",
"mustBeCloseToContent" : true,
"url" : "http://en.wikipedia.org/wiki/Mount_Rainier"
}],
"webSearchUrl" : "https://www.bing.com/search?q=Mount%20Rainier…",
"name" : "Mount Rainier",
"image" : {
"name" : "Mount Rainier",
"thumbnailUrl" : "https://www.bing.com/th?id=A21890c0e1f…",
"provider" : [{
"_type" : "Organization",
"url" : "http://en.wikipedia.org/wiki/Mount_Rainier"
}],
"hostPageUrl" : "http://upload.wikimedia.org/wikipedia…",
"width" : 110,
"height" : 110
},
"description" : "Mount Rainier, Mount Tacoma, or Mount Tahoma is the highest…",
"entityPresentationInfo" : {
"entityScenario" : "DominantEntity",
"entityTypeHints" : ["Attraction"],
"entityTypeDisplayHint" : "Mountain"
},
"bingId" : "9ae3e6ca-81ea-6fa1-ffa0-42e1d78906"
}]
}
}

For more information about consuming the response, please refer to the documentation page Searching the Web for entities and places.

Try it now

Don’t hesitate to try it by yourself by going to the Entities Search API Testing Console.

Create more natural user experiences with gestures – Project Prague

Project Prague is a cutting edge, easy-to-use SDK that helps developers and UX designers incorporate gesture-based controls into their apps. It enables you to quickly define and implement customized hand gestures, creating a more natural user experience.

The SDK enables you to define your desired hand poses using simple constraints built with plain language. Once a gesture is defined and registered in your code, you will get a notification when your user does the gesture, and can select an action to assign in response.

Using Project Prague, you can enable your users to intuitively control videos, bookmark webpages, play music, send emojis, or summon a digital assistant.

Let’s say that I want to create new gesture to control my app "RotateRight”. First, I need to ensure that I have the hardware and software requirements. Please refer to the requirement section for more information. Intuitively, when performing the "RotateRight" gesture, a user would expect some object in the foreground application to be rotated right by 90°. We have used this gesture to trigger the rotation of an image in a PowerPoint slideshow in the video above.

The following code demonstrates one possible way to define the "RotateRight" gesture:

var rotateSet = new HandPose("RotateSet", new FingerPose(new[] { Finger.Thumb, Finger.Index }, FingerFlexion.Open, PoseDirection.Forward),
new FingertipPlacementRelation(Finger.Index, RelativePlacement.Above, Finger.Thumb),
new FingertipDistanceRelation(Finger.Index, RelativeDistance.NotTouching, Finger.Thumb));

var rotateGo = new HandPose("RotateGo", new FingerPose(new[] { Finger.Thumb, Finger.Index }, FingerFlexion.Open, PoseDirection.Forward),
new FingertipPlacementRelation(Finger.Index, RelativePlacement.Right, Finger.Thumb),
new FingertipDistanceRelation(Finger.Index, RelativeDistance.NotTouching, Finger.Thumb));

var rotateRight = new Gesture("RotateRight", rotateSet, rotateGo);

The "RotateRight" gesture is a sequence of two hand poses, "RotateSet" and "RotateGo". Both poses require the thumb and index to be open, pointing forward, and not touching each other. The difference between the poses is that "RotateSet" specifies that the index finger should be above the thumb and "RotateGo" specifies it should be right of the thumb. The transition between "RotateSet" and "RotateRight", therefore, corresponds to a rotation of the hand to the right.

Note that the middle, ring, and pinky fingers do not participate in the definition of the "RotateRight" gesture. This makes sense because we do not wish to constrain the state of these fingers in any way. In other words, these fingers are free to assume any pose during the execution of the "RotateRight" gesture.

Having defined the gesture, I need to hook up the event indicating gesture detection to the appropriate handler in your target application:

rotateRight.Triggered += (sender, args) => { /* This is called when the user performs the "RotateRight" gesture */ };

The detection itself is performed in the Microsoft.Gestures.Service.exe process. This is the process associated with the "Microsoft Gestures Service" window discussed above. This process runs in the background and acts as a service for gesture detection. I will need to create a GesturesServiceEndpoint instance in order to communicate with this service. The following code snippet instantiates a GesturesServiceEndpoint and registers the "RotateRight" gesture for detection:

var gesturesService = GesturesServiceEndpointFactory.Create();
await gesturesService.ConnectAsync();
await gesturesService.RegisterGesture(rotateRight);
When you wish to stop the detection of the "RotateRight" gesture, you can unregister it as follows:+
C#Copy
await gesturesService.UnregisterGesture(rotateRight);

The handler will no longer be triggered when the user executes the "RotateRight" gesture. When finished working with gestures, keep in mind I should dispose the GesturesServiceEndpoint object:

gesturesService?.Dispose();

Please note that in order for the above code to compile, you will need to reference the following assemblies, located in the directory indicated by the MicrosoftGesturesInstallDir environment variable:

Microsoft.Gestures.dll
Microsoft.Gestures.Endpoint.dll
Microsoft.Gestures.Protocol.dll

For more information about the Getting Started guide, please refer to the documentation.

Thank you again and happy coding!

Quelle: Azure

ADAL .NET 3.14.1 released

ADAL.NET, delivered as a nuget package named Microsoft.IdentityModel.Clients.ActiveDirectory, is an authentication library which enables developers to acquire tokens from Azure AD (Active Directory) and ADFS, to be used to access Microsoft APIs or applications registered with Azure AD. ADAL.NET is available on several .NET platforms, including desktop, Universal Windows Platform, Xamarin / Android, Xamarin iOS, Portable Class Libraries, and .NET Core. It supports a number of authentication scenarios, involving native applications (desktop or device) or private applications (Web API). Authentication can leverage users credentials or application secrets.

What’s new – Support for Client assertion certificates in .Net Core

Client credential authentication is used by a confidential client application such as a daemon or web service to access resources using its own identity, rather than the user’s identity. The application can use either a shared secret or a client certificate to authenticate itself. Learn more about service to service calls using client credentials.

Previously, client certificates were only available on .Net 4.5. In ADAL .NET 3.14 we now support the certificate-based scenario on .NET Core as well. The .NET core daemon application sample shows how a .NET core client console application can access an ASP.NET Core API protected with AzureAD.

Other changes

In this release, the “old” common (platform-independent) PCL library is now a .NET standard 1.1 library, and several known issues have been resolved:

Fixed the issue where silently logging in with an expired refresh token could cause a null reference exception.
Fixed the issue in federated tenant scenarios (GitHub issue #401).
Ported the ADAL.PCL project to .NET Standard 1.1 project.
Ported the ADAL.CoreCLR project to .NET Standard 1.3 project.
Authenticode-signed the assemblies with SHA-256 certificate.

In closing

As usual we’d love to hear your feedback:

Ask questions on Stack Overflow using the ADAL tag. We highly recommend you ask your questions on Stack Overflow first and browse existing issues to see if someone has asked your question before.
Use GitHub Issues on the ADAL.Net open source repository to report bugs or request features.
Use the User Voice page to provide recommendations and/or feedback.

Quelle: Azure

June 2017 Leaderboard of Database Systems contributors on MSDN

Congratulations to our June top-10 contributors!

This Leaderboard initiative was started in October 2016 to recognize the top Database Systems contributors on MSDN forums. The following continues to be the points hierarchy (in decreasing order of points):

For questions related to this leaderboard, please write to leaderboard-sql@microsoft.com.
Quelle: Azure

Public Preview of compatibility level 140 for Azure SQL databases

We are announcing the official public preview of compatibility level 140 in Azure SQL Database.

Compatibility level 140 enables the following query optimizer changes:

A trivial plan referencing Columnstore indexes will be discarded in favor of a plan that is eligible for batch mode execution.
The sp_execute_external_script UDX operator is eligible for batch mode execution.
Three adaptive query processing features are being introduced:

Batch mode memory grant feedback, which improves the performance of repeating queries that request too much or too little memory.
Batch mode adaptive join, which is a new query operator type that allows dynamic selection of the most optimal join algorithm based on runtime row counts.
Interleaved execution, which improves the performance of queries that reference multi-statement table valued functions by using the true row count of the function call for use during query optimization.

Please note that this list is not exhaustive.  Most optimizer hotfixes released after SQL Server 2016 RTM will be on by default in compatibility level 140.

The alignment of SQL versions to default compatibility levels are as follows:

100: in SQL Server 2008 and Azure SQL Database
110: in SQL Server 2012 and Azure SQL Database
120: in SQL Server 2014 and Azure SQL Database
130: in SQL Server 2016 and Azure SQL Database
140: in SQL Server 2017 and Azure SQL Database

To determine the current compatibility level of your database, execute the following Transact-SQL statement:

SELECT compatibility_level
FROM [sys].[databases]
WHERE [name] = 'Your Database Name';

Use of compatibility level 140 enables developers to benefit from query processor enhancements. To change the compatibility level of an existing database, execute ALTER DATABASE:

ALTER DATABASE database_name
SET COMPATIBILITY_LEVEL = 140;

The recommended workflow for upgrading the query processor to a higher compatibility level is detailed in the article, Change the Database Compatibility Mode and Use the Query Store.  Note that this article refers to compatibility level 130 and SQL Server, but the same methodology applies for moves to 140 for SQL Server and Azure SQL DB.

After SQL Server 2017 launches, the default Azure SQL Database compatibility level will change from 130 to 140 for newly created databases. Databases created before that time will not be affected and will maintain their current compatibility level. You can find more details at ALTER DATABASE Compatibility Level (Transact-SQL).
Quelle: Azure

Azure Site Recovery now supports large disk sizes in Azure

Following the recent general availability of large disk sizes in Azure, we are excited to announce that Azure Site Recovery (ASR) now supports the disaster recovery and migration of on-premises virtual machines and physical servers with disk sizes of up to 4095 GB to Azure.

Many on-premises virtual machines that are part of the Database tier and file servers use disks with sizes greater than 1 TB. Support for protecting these virtual machines with large disk sizes has consistently featured as a top ask from both our customers and partners. With this enhancement, ASR now provides you the ability to recover or migrate these workloads to Azure.

These large disk sizes are available on both standard and premium storage. In standard storage, two new disk sizes, S40 (2TB) and S50 (4TB) are available for managed and unmanaged disks. For workloads that consistently require high IOPS and throughput, two new disk sizes, P40 (2TB) and P50 (4TB) are available in premium storage, again for both managed and unmanaged disks. Depending upon your application requirements, you can choose to replicate your virtual machines to standard or premium storage with ASR. More details on the configuration, region availability and pricing of large disks is available in this storage documentation.

To show you how Azure Site Recovery supports large disk sizes, I protected the Database tier VM of a SharePoint farm. You can see that this VM has data disks which are greater than 1 TB.

Pre-requisite step for existing ASR users:

Before you start protecting virtual machines/physical servers with greater than 1 TB disks, you need to install the latest update on your existing on-premises ASR infrastructure. This is a mandatory step for existing ASR users.

For VMware environments/physical servers, install the latest update on the Configuration server, additional process servers, additional master target servers and agents.

For Hyper-V environments managed by System Center VMM, install the latest Microsoft Azure Site Recovery Provider update on the on-premises VMM server.

For Hyper-V environments not managed by System Center VMM, install the latest Microsoft Azure Site Recovery Provider on each node of the Hyper-V servers that are registered with Azure Site Recovery.

I would like to call out that support for Disaster Recovery of IaaS machines in Azure with large disk sizes is not available currently. This support would be made available soon.

Start using Azure Site Recovery today. Visit the Azure Site Recovery forum on MSDN for additional information and to engage with other customers. You can also use the ASR User Voice to let us know what features you want us to enable next.
Quelle: Azure

Enterprise Cloud Strategy, 2nd Edition

A roadmap to becoming a cloud-centric company

I’m delighted to announce the second edition of our free e-book, Enterprise Cloud Strategy, written by Barry Briggs and myself. Get your copy of the e-book. 

Much has changed in the two years since we published the first edition. Cloud computing has evolved from a technology that delivers efficiencies and cost savings, to a technology that also transforms the scope of IT and business operations with new opportunities.

The questions around the cloud have gone from “if” to “when” and “how.”

Learn how to shape the efficient enterprise cloud transformation

In the second edition, you’ll find best practices and guidance on how to get started, and which applications to consider first in your cloud migration. After the technical exercise of migrating applications, the journey starts for the rest of the organization. The cloud can and should begin transforming your business with greater scale, integration, and richer capabilities.

The book is based on real-world experiences from enterprise IT and seeks to answer a new question, “How can I use cloud computing to become a true partner to the business?” You’ll come away with an understanding of the three stages of cloud migration – experimentation, migration, and transformation – and how to plan and build strategies that involve all departments of the business.

With your organization’s data in the cloud, how do you integrate your migrated applications to take maximum advantage of new cloud services like big data analytics, machine learning, and Internet of Things? What new skills and new roles are needed? How do you appropriately involve various business units in the decision-making process?

“The move to the cloud has opened many opportunities. With it comes the need for best practices and guidance of how to adopt cloud platforms with enterprise-grade rigor and governance. This book fills this much-needed gap in a clear, concise, and practical way. It is an easy read, too.”

– Gavriella Schuster, Corporate Vice President, Channels & Programs, One Commercial Partner,  Microsoft

Enterprise Cloud Strategy, 2nd Edition is organized for cloud experts and novices alike, with chapters dedicated to understanding the different types of cloud, application models, and cloud journeys; all the way to planning and implementing a cloud transformation.

About the authors

Barry Briggs, an independent consultant, has a long history in software and enterprise computing. He served in a several roles during his twelve-year career at Microsoft, most recently as chief enterprise architect on the Microsoft DX (Developer Experience) team. Previously Barry served as chief architect and CTO for Microsoft’s IT organization, where he created and led Microsoft IT’s cloud strategy team.

Eduardo Kassner is the Chief Technology and Innovation Officer for the Worldwide Channels & Programs Group at Microsoft Corporation. His team is responsible for defining the strategy and developing the programs to drive the technical capacity, practice development, and profitability for the hundreds of thousands Microsoft partners worldwide. He recently co-wrote and published the first edition of Enterprise Cloud Strategy published by Microsoft Press, which has been downloaded more than 250,00 times from the Azure.com website.

Download the e-book today.
Quelle: Azure

Microsoft announces Project Olympus support for new Intel Xeon Scalable Processors

In March at the Open Compute Project (OCP) annual summit, we announced that Project Olympus, our next generation hyperscale cloud hardware design, attracted the latest in silicon innovation to address the exploding growth of cloud services. Project Olympus was based on a new hardware development model for community based open collaboration that we developed with OCP. Today, Microsoft is proud to announce support for the newest generation of Intel Xeon Scalable Processors within the Project Olympus ecosystem. 

Intel has been a premier platform partner for Project Olympus and the Intel Xeon Scalable Processor will be a cornerstone for this new platform. Microsoft has also worked closely with Intel to engineer Arria-10 FPGAs, which are deployed on every single Project Olympus server, to create a “Configurable Cloud” that can be flexibly provisioned and optimized to support a diverse set of applications and functions.

We designed Project Olympus with the ability to accommodate a variety of workloads from email to databases, online productivity, HPC, and even AI. Some of these workloads have extremely demanding requirements for compute, storage, and networking which require a base platform that can scale with demands of current and emerging workloads. Intel Xeon Scalable Processors enable such platform capabilities by providing the ability to scale resources as needed. Whether it’s high core counts and memory bandwidth for extreme multithreaded performance, IO scaling capabilities, or the new Intel AVX-512 instructions for HPC and AI workloads, Intel Xeon Scalable Processors, and Intel FPGAs provide a significant degree of flexibility and performance that allows us to meet the emerging demands of the cloud.

Project Olympus is Microsoft’s blueprint for future hardware development and collaboration.  We look forward to the continued collaboration with Intel in designing and building the highest performing, most flexible, and secure clouds possible.
Quelle: Azure

Azure Site Recovery support for Storage Spaces and Windows Server 2016

We recently announced the public preview of disaster recovery for Azure IaaS machines, which allows you to replicate applications between Azure regions as well as create networks, storage accounts, and availability sets. This capability reduces the complexity typically involved in setting up disaster recovery and helps you stay compliant by having a business continuity plan in place to keep applications available during a disaster.

Today we are announcing Azure Site Recovery between Azure region’s support for Windows Server 2016 and Storage Spaces.

Windows Server 2016 has seen tremendous adoption on both private clouds as well as on Azure in the few months since the time it became generally available. Azure Site Recovery for Azure virtual machines now supports workloads running on Windows Server 2016 Data center and Windows Server 2016 Data center – server core editions.

Storage spaces is a technology in Windows Server that enables virtualization of storage by grouping disks into storage pools for performance, flexibility and storage scaling. Storage spaces is a commonly utilized configuration on Azure virtual machines to improve input/output performance by striping disks and to create logical disks larger than 4 TB. For example, this is a very common configuration in SQL workloads where need for higher performance and capacity is obvious. Popular Azure gallery templates like SQL Server Always On deploy machines using storage spaces and to meet this need, in the latest release of Azure Site Recovery, we’ve added support for storage spaces so you can have better availability and compliance for your workloads.

Check out our product information to start replicating your IaaS workloads between Azure regions today.

Visit the Azure Site Recovery forum on MSDN for additional information and to engage with other customers or use the ASR User Voice to let us know what features you want.
Quelle: Azure

New government datacenter regions available in Arizona and Texas

I am pleased to announce that Azure Government is commercially live in two additional datacenter regions in Arizona and Texas for U.S. government customers and their partners following my announcement late last year. With these expansions, Azure Government has capacity in proximity to government customers and partners on the East Coast, West Coast and Central United States.

With a total of six U.S. datacenter regions, including two dedicated regions with DoD Impact Level 5 Provisional Authorization (PA), Azure Government continues to deliver the most customer choice in the U.S. for locating government workloads and sensitive data. As part of offering the broadest geographic availability, these regions are over 500 miles apart for geo-redundancy and we offer data replication across regions for business continuity.

Customers and partners are clear in their feedback that compliance with U.S. government standards and requirements is a priority. To address the compliance needs for U.S. government, we’ve engineered our datacenters and services to meet or exceed critical compliance requirements. In fact, Microsoft provides the broadest coverage for compliance and regulatory standards with support for FedRAMP High, CJIS, ITAR, DFARS, and DoD L4 and L5.

Specific to the future of cloud computing in government, we continue to announce Azure Government services that enable cool new ways for U.S. government customers and their partners to achieve mission. Most recently, we’ve announced:

PowerBI and HDInsight for data analysis and visualization
Azure CosmosDB and hot/cool blob storage
Expanded Cognitive Services Preview and interesting uses for U.S. government
IoT services

Combining the most datacenter region choices with most comprehensive compliance coverage and innovative services, further extends customer confidence in Azure Government as they deliver mission workloads with the cloud now and into the future.

Explore Azure Government here or contact us to learn more.
Quelle: Azure