Quantcast
Channel: Category Name
Viewing all 10804 articles
Browse latest View live

Custom Speech: Code-free automated machine learning for speech recognition

$
0
0

Voice is the new interface driving ambient computing. This statement has never been more true than it is today. Speech recognition is transforming our daily lives from digital assistants, dictation of emails and documents, to transcriptions of lectures and meetings. These scenarios are possible today thanks to years of research in speech recognition and technological jumps enabled by neural networks. Microsoft is at the forefront of Speech Recognition with its research results, reaching human parity on the Switchboard research benchmark.

Our goal is to empower developers with our AI advances, so they can build new and transformative experiences for their customers. We offer a spectrum of APIs to address the various scenarios and situations developers encounter. Cognitive Services Speech API gives developers access to state of the art speech models. Premium scenarios, using domain specific vocabulary or complex acoustic conditions, offer Custom Speech Service that enables developers to automatically tune speech recognition models to their specific needs. Our services have been previewed on a wide range of scenarios with customers.

image

Speech recognition systems are composed of several components. The most important components are the acoustic and language models. If your application contains vocabulary items that occur rarely in everyday language, customizing the language model will significantly improve recognition accuracy. Customers can upload textual data like words and sentences of the target domain to build language models which can then be deployed and accessed by any devices through our Speech API.

University lectures are a typical example as they contain domain specific terminology. In a biology lecture for example we could encounter terms like “Nerodia erythrogaster" which are extremely specific but important to correctly transcribe. Presentation Translator, an add-in to PowerPoint which customizes the language model based on slide content, addresses the lecture or any presentation scenario offering highly accurate transcription results for domain specific audio. This video on getting started with Presentation Translator provides a deeper explanation, and this video demonstrates the Presentation Translator add-in.

image

Similarly, customizing the acoustic model enables the speech recognition system to be accurate in particular environments. For example, if a voice-enabled app is aimed for use in a warehouse or factory, a custom acoustic model can accurately recognize speech in the presence of loud or persistent background noise. Customers can upload audio data with accompanying transcripts to build acoustic models.

image

Custom Speech Service enables acoustic and language model adaptation with zero coding. Our user interface guides you through data import, model adaptation, evaluation and optimization through measuring word error rate and tracking improvements. It also guides you through model deployment at scale, so models can be accessed by your application on any devices.

Creating, updating, and deploying models takes only minutes, making it easy to build and iteratively improve your application. To learn and start building your own speech recognition models, visit Custom Speech Service and our Custom Speech Service documentation pages.


File nesting in Solution Explorer

$
0
0

We are excited to share with you a new capability in Visual Studio that was a clear ask from you, the community. Visual Studio has been nesting related files in Solution Explorer for a long time now, but not everybody agrees with the rules it uses. That’s not a problem any more because Visual Studio now gives you complete control over file nesting in Solution Exporer! We hope your continued feedback helps us evolve this capability into a fan favorite!

Out of the box you get to pick between the presets Off, Default and Web, but you can always customize it exactly to your liking. You can even create solution-specific and project-specific settings, but more on all of that later. First let’s go over what you get out of the box.

What you get out of the box

Off: This option gives you a flat list of files without any file nesting whatsoever.

Default: This options gives you the default file nesting behavior in Solution Explorer that Visual Studio has had since before you were able to control it.

Web: This option applies the “Web” file nesting behavior to all the projects in the current solution. It has a lot of rules and we encourage you to check it out and tell us what you think. The very first picture in this post is highlighting just a few good examples of the file nesting that you get with this option.

Customizing file nesting to your exact liking

If you don’t like what you get out of the box, you can always create your own, custom file nesting settings that make Solution Explorer nest files to your exact liking. You can add as many custom file nesting settings as you like and you can switch between them as you see fit. Every time you want to create a new one you start by choosing to either start with an empty file or to use the Web settings as your starting point:

We recommend you use Web settings as your starting point because it’s easier to tweak something that already works. If you do that you’ll be starting off with something that looks like the following (instead of being empty):

Let’s focus on the node dependentFileProvider and more specifically the children being added to it. Each child node is a type of rule that Visual Studio can use to nest files. For example, “having the same filename, but a different extension” is one such type of rule. Let’s go over each type of rule available to you:

  • extentionToExtention: Use this type of rule to make file.js nest under file.ts
  • fileSuffixToExtension: Use this type of rule to make file-vsdoc.js nest under file.js
  • addedExtension: Use this type of rule to make file.html.css nest under file.html
  • pathSegment: Use this type of rule to make jquery.min.js nest under jquery.js
  • allExtensions: Use this type of rule to make file.* nest under file.js
  • fileToFile: Use this type of rule to make bower.json nest under .bowerrc

Ordering is very important in every part of your custom settings file. You can change the order in which rules are executed by moving them up or down inside of the dependentFileProvider node.  For example, if you have one rule that makes file.js the parent of file.ts and another rule that makes file.coffee the parent of file.ts the order in which they appear in the file decides what happens when all three files are present at the same time: file.js, file.ts and file.coffee. Since file.ts can only have one parent, whichever rule executes first wins.

You can manage all settings, including your own custom settings through the same button in Solution Explorer:

 

Creating solution-specific and project-specific settings

You can create solution-specific and project-specific settings through the context menu of each solution and project:

 

Solution-specific and project-specific settings will be combined with whatever Visual Studio settings are already active. Don’t be surprised for example if you have a blank project-specific settings file, yet Solution Explorer is still nesting files. The nesting is either coming from the solution-specific settings or the Visual Studio settings. The process of merging file nesting settings goes: Project > Solution > Visual Studio.

You can tell Visual Studio to ignore solution-specific and project-specific settings, even if the files exist on disk, by enabling the option Ignore solution and project settings under Tools | Options | ASP.NET Core | File Nesting.

You can do the opposite and tell Visual Studio to only use the solution-specific or the project-specific settings. Remember that “root” node we saw earlier in our custom settings? If not, go back and take a look at the picture. If you set that node to true it tells Visual Studio to stop merging files at that level and not combine it with files higher up the hierarchy.

The great thing about solution-specific and project-specific settings is that they can be checked into source control and the entire team that works on the repo can share them.

Next steps

Download Visual Studio 2017 15.6 Preview 4 and try file nesting in Solution Explorer. The feature is currently only supported by ASP.NET Core projects, but tell us that you want it for other projects as well and we will try to make it happen.

Please ask us questions and give us your feedback any way you find most convenient. You can leave a comment on this blog post, you can submit your suggestions on UserVoice or you can drop us an email on Anton.Piskunov<at>microsoft.com (Principal Engineer) and Angelos.Petropoulos<at>microsoft.com (Product Manager).

Visual Studio 2017 Version 15.6 Preview 4

$
0
0

Today, we are excited to share the final Visual Studio 2017 version 15.6 feature preview, which builds upon earlier previews of Visual Studio 2017 version 15.6. This preview contains new features, bug fixes, and other enhancements that address your feedback.

The top highlights of this Preview are described in this blog post: an enhanced acquisition experience for updates, performance improvements, information about Visual Studio Live Share, better Build and Test Explorer tools, and various C++ improvements.  You can view the complete list of new features and details on how to enable them in the Visual Studio 2017 version 15.6 Preview release notes.

We hope that you will install and use the Preview and share your feedback with us.  If you’re on a Windows machine, you can get it fresh from here or, if you already have a prior Preview installed, you can either click on the in-product notification flag or check for an update directly.  We appreciate your early adoption and feedback as it helps us ship the most high-quality tools to everyone in the Visual Studio community. Thank you for engaging in Visual Studio previews!

Performance

Solution Load: In Visual Studio 2017 version 15.5, we delivered improved solution load performance for large C# and VB solutions and in 15.6 Preview 2 we made “warm” loading of solutions twice as fast. In this Preview, we focused on .NET Core, and according to our lab measurements, we expect customers to see an average of 20 percent faster solution load times. Customers with large solutions (30+ projects) will see the most gains. UI Responsiveness: A consistent piece of feedback over the past several Visual Studio releases has been the request for transparency around extensions’ impact on performance and reliability. In this preview, extensions that are suspected of causing the UI to become unresponsive will now be reported too. The notification gives the option to disable the extension as well as the option to disable future notifications for that extension.

Diagnostics: The debugger’s Threads window significantly faster compared to the previous releases. Also, the window now works asynchronously which allows users to interact with Visual Studio while it processes data in the background. Developers will really appreciate these perf improvements, particularly when the target application being debugged uses a lot of threads.

Visual Studio Live Share

A few months ago at our Connect(); developer event we announced Visual Studio Live Share. With Visual Studio Live Share, you get real-time sharing in tools you love. You can share the full context of your code, collaboratively edit while still navigating files independently, securely share local servers, and even collaboratively debug while still retaining the ability to inspect on your own.

We’re excited to announce that we have started a limited private preview of Visual Studio Live Share with Visual Studio 2017 version 15.6 Preview 4! If you’re interested in actively participating, please sign-up and we’ll let you know when you’ve been added to the program.  We are working closely with a small group of developers in order to collect feedback and ensure we can deliver the best experience possible before opening the service more broadly.  For more information, please check out our documentation and FAQ.

C++ Development

CMake: You can now choose whether or not to automatically generate the CMake cache when you open new CMake projects in Visual Studio.

C++ linker improvements: Debugging large solutions with /Debug:fastlink PDBs is more robust. Changes in the PDB lead to reduced latency and a 30% reduction in heap memory consumption in the Visual Studio Debugger. Additionally, mapfile generation overhead is reduced in full linking scenarios. We still recommend using PDB files instead of mapfiles. C++ compiler improvements: The C++ team has made significant compile-time improvements. The compiler now optimizes your code to run faster through improved optimizations of pre-incremented loops and improved identification and propagation of constant global data in LTCG. We’ve also made it so that compile times are shorter compared to 15.5: the compiler front-end is between 3-5% faster on most inputs, the compiler optimizer is 3% faster due to reduced overhead of core optimization algorithms, and large LTCG compilations are 10% faster due to re-architected data structures. Profile-Guided Optimization: Profile-Guided Optimization is enabled and fully supported on ARM64.

Build Tools

The Visual Studio Build Tools allow you to create build servers without installing all of Visual Studio. In addition to supporting C++, ASP.NET, and .NET Core for Desktop projects, the Build Tools will now start supporting TypeScript and Node.js project types, and we expect to add support for more project types in future releases.  Here is the download location for the Visual Studio 2017 version 15.6 Preview Build Tools. There are also other improvements specifically to the MSBuild component of the Build Tools.   For example, MSBuild can now easily and seamlessly leverage NuGet to resolve SDKs without doing any extra package modification. We expect this feature to be popular, so we’ve created a SDK repository for everyone to use.  More information is available here, and please provide MSBuild feedback here.

Unit Testing

Navigate your tests by Project, Namespace, and Class in an expandable list by clicking the Hierarchy View button. In the hierarchy view you may notice that tests are ordered alphabetically. This has been an ask from many customers and we are excited to hear feedback.

Tests will be discovered automatically with Real time test discovery without requiring you to build your managed project. This allows the Test Explorer to stay in sync with code changes such as adding, removing, or editing tests. Note that unlike Hierarchy View feature described above which is available for all types of projects, the automatic test discovery feature is only available for C# and Visual Basic projects.

You can now configure your test discovery options in Tools > Options > Test. This includes the ability to turn off test discovery for managed tests to improve build performance when you are not testing.

Please try out the Preview today!

If you’re not familiar with Visual Studio Previews, take a moment to read the Visual Studio 2017 Release Rhythm. Remember that Visual Studio 2017 Previews can be installed side-by-side with other versions of Visual Studio and other installs of Visual Studio 2017 without adversely affecting either your machine or your productivity.  Previews provide an opportunity for you to receive fixes faster and try out upcoming functionality before it becomes mainstream. Similarly, the Previews enable the Visual Studio Engineering team to validate usage, incorporate suggestions, and detect flaws earlier in the development process. We are highly responsive to feedback coming in through the Previews and look forward to hearing from you.

Please install the Visual Studio Preview today, exercise your favorite workloads, and tell us what you think. You can report issues to us via the Report a Problem tool in Visual Studio or you can share a suggestion on UserVoice. You’ll be able to track your issues in the Visual Studio Developer Community where you can ask questions and find answers. You can also engage with us and other Visual Studio developers through our Visual Studio conversation in the Gitter community (requires GitHub account).

Christine Ruana Principal Program Manager, Visual Studio

Christine is on the Visual Studio release engineering team and is responsible for making Visual Studio releases available to our customers around the world.

Two Lesser Known Tools for Local Azure Development

$
0
0

If you’re developing applications that target Azure services (e.g. Web Apps, Functions, Storage), you’ll want to know about two powerful tools that come with Visual Studio 2017 and the Azure development workload:

  • Cloud Explorer is a tool window inside Visual Studio that lets you browse your Azure resources and perform specific tasks – like stop and start app service, view streaming logs, create storage items.
  • Storage Emulator is a separate application to Visual Studio that provides a local simulation of the Azure storage services. It’s really handy for testing Functions that trigger from queues, blobs or tables.

In this blog I’ll show you how you can develop Azure applications entirely locally – including the ability to interact with Azure storage – without ever needing an Azure subscription.

Prerequisites

Note: You will NOT need an Azure subscription to follow this blog. In fact, that’s the whole point of this blog. 😉

Cloud Explorer

The Cloud Explorer is your window into Azure from within Visual Studio. You can browse the common resources in your Azure subscriptions in one convenient tool window. Each of the various Azure services have different properties and actions.

Cloud Explorer - Expanded

In the picture above, you can see it has listed a variety of resources from my Azure subscription including my App Services, SQL Databases and Virtual Machines, as well as my App Service Plans, Storage Accounts and other network infrastructure assets. I have published the sample app to an App Service called ListBlobFilesSample. You can see it listed under the App Services node.

Each resource has a collection of properties and actions. You can trigger actions by right-clicking on the item of interest. For instance, I can View Streaming Logs to see a running output of my application in the cloud, or I can Attach Debugger to step through the code to diagnose errors. (Note: For more information about diagnosing errors, see Diagnosing Errors on your Cloud Apps.)

In this blog, we’ll be using Cloud Explorer to interact with our Storage Accounts – specifically, with the local (Development) storage account using the Microsoft Azure Storage Emulator.

Sample Code

For this post, we’ll be working with a sample Web App with a single Razor Page file that displays a list of items in a Blob storage container (i.e. list of files in a folder in a storage account).

Clone the source from here and open the ListBlobFiles solution in Visual Studio.
The web app consists of:
      – a single Razor Page file (Index.cshtml),
      – its code behind file (Index.cshtml.cs),
      – a utility class for reading items from storage (StorageHelper.cs),
      – the application’s settings file (appsettings.json),
      – standard web app startup files (Program.cs and Startup.cs)

Here’s a snippet of the most interesting part – the helper class that returns a list of files stored in a blob storage container.

Using Storage Completely Offline with Storage Emulator

Using the Storage Emulator, you can develop, run, debug and test your applications that use Azure Storage locally without an Azure subscription. The other great thing is, the Storage Emulator is part of the Azure development workload in Visual Studio, so there is no extra installation required.

Start the Storage Emulator

  • Press the Windows key and type “Storage Emulator”, then select Microsoft Azure Storage Emulator.
  • When the Storage Emulator is running, an icon will appear in the Windows system tray.

    Storage Emulator icon in task bar

Launch the web app from Visual Studio

  • Press Ctrl+F5 to build and run the web app locally.
  • A web browser will launch an open the Index page of the app.
    The page renders and shows there are no files in the Blob container.
    Web page displays errors

Let’s add some files to a local storage container and see if they show up when we refresh the page.

Create local Blob Storage (using Storage Emulator and Cloud Explorer)

  • Open Cloud Explorer
  • Expand to Blob Containers under (Local)->Storage Accounts->(Development)
  • Click Create Blob Container in the Actions panel
  • Cloud Explorer - Create Blob Container

  • Enter a name for the local blob storage container (ie. “myfiles”) – Note: must contain only lowercase/numbers/hyphens

Add files to your Blob container

  • Right-click the new container (myfiles) and select Open.
  • In the toolbar, click the Upload button.
  • Browse for a file, then press OK.
  • Do this repeatedly to add several files to your blob container (storage folder).

Cloud Explorer - Add files to blob container

You’ll see the files appear in the container window, along with the URL for each item.
The Microsoft Azure Activity Log window shows the status of the uploads.

Files appear in container view

Return to the web browser that is running our local web app and refresh the page.
Notice that the page now outputs the URLs of all the files in the container.

Web page renders correctly, showing files in blob container

Success! You’re now doing local development of an app that uses Azure storage – without needing any resources on Azure.

Next Steps

Try it on the cloud! When you’re ready, publish your app to Azure App Services and configure it to run with Azure Storage on the cloud.

You can continue to use Cloud Explorer within Visual Studio to interact with your storage account on Azure in just the same way you did with local development.

Related Links

Get started with Azure Blob storage using .NET
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-dotnet-how-to-use-blobs

Use the Azure Storage Emulator for development and testing
https://docs.microsoft.com/en-us/azure/storage/common/storage-use-emulator

Introduction to Razor Pages in ASP.NET Core
https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages/?tabs=visual-studio

ASP.NET Core – Simpler ASP.NET MVC Apps with Razor Pages
https://msdn.microsoft.com/en-us/magazine/mt842512.aspx

Azure Article: Azure Blob Storage Photo Gallery Web Application
https://azure.microsoft.com/en-us/resources/samples/storage-blobs-dotnet-webapp/
Related sample on GitHub: Image Resizer Web App
https://github.com/Azure-Samples/storage-blob-upload-from-webapp

Upload image data in the cloud with Azure Storage
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-upload-process-images

Azure Blob Storage Samples for .NET
https://github.com/Azure-Samples/storage-blob-dotnet-getting-started

Top stories from the VSTS community – 2018.02.09

$
0
0
Here are top stories we found in our streams this week related to DevOps, VSTS, TFS and other interesting topics. TOP STORIES Updates from the DevOps VSTS Bot – Jeffrey OpdamDear community, I want to inform you for my upcoming update, which will be deployed on February 10, 2018. VSTS Gems- Identify flaky tests –... Read More

Introducing Social Login for Bing Webmaster Tools

$
0
0
Bing is actively listening to you, our customers, to improve our user experience and to understand what features you want within Bing Webmaster Tools. One of the top requests we have received is to expand the webmaster tools login capabilities to include a social login option.

We are excited to begin the first phase of the global roll out of social login to webmaster tools on Friday, February 9th to webmasters in the United States. We expect to continue the roll out to webmasters in Europe, Middle East and Africa, Latin America and Asia Pacific regions shortly thereafter. Webmasters will be able to login to Bing Webmaster Tools using their Facebook and Google accounts in addition to their existing Microsoft account.



Additionally, this means that the messages Webmaster Tools may occasionally send you about your managed properties will be sent to the email account associated with the webmaster tools account you are logged in with. The most recent messages will still be available in your Webmaster Tools Message Center.

If you don’t have a Webmaster Tools account, you can sign up today.

Let us know what you think of the new social login option. Tweet to us @Bing.

Thank you,

The Bing Webmaster Team

Because it’s Friday: Bon Voyage, Starman

$
0
0

TSpaceX's Elon Musk had a plan: to launch his original Tesla Roadster into orbit around Mars, atop the new Falcon Heavy rocket.

And on Wednesday, the plan went into effect. The Falcon Heavy launched successfully, and two of the boosters landed themselves for recovery. 

Absolutely incredible job by @SpaceX, landing two rocket boosters at the same exact time. #FalconHeavy pic.twitter.com/BQizH3bKKm

— Jason Rabinowitz (@AirlineFlyer) February 6, 2018

The core booster did not survive its sea landing, but the core mission was a success: Starman and the Roadster are now in Solar orbit, and will eventually pass between Mars and the asteroid belt and will continue to do so for billions of years.

View from SpaceX Launch Control. Apparently, there is a car in orbit around Earth. pic.twitter.com/QljN2VnL1O

— Elon Musk (@elonmusk) February 6, 2018

Congratulation, SpaceX and Starman! I only hope there's a towel in that Tesla somewhere.

That's all from us for this week. Have a great weekend, and we'll be back next week.

Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4

$
0
0

Today we released stable packages for ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4 on NuGet. This release contains some minor bug fixes and a couple of new features specifically targeted at enabling .NET Standard support for the ASP.NET Web API Client. You can read about the .NET Standard support for the ASP.NET Web API Client in the earlier preview announcement.

For the full list of features and bug fixes for this release please see the release notes.

To update an existing project to use this release you can run the following commands from the NuGet Package Manager Console for each of the packages you wish to update:

Install-Package Microsoft.AspNet.Mvc -Version 5.2.4
Install-Package Microsoft.AspNet.WebApi -Version 5.2.4
Install-Package Microsoft.AspNet.WebPages -Version 3.2.4

If you have any questions or feedback on this release please let us know on GitHub.

Thanks!


Azure IoT SDKs released new Long-Term Support branch

$
0
0

The Azure IoT SDKs now have a new Long-Term Support (LTS) Branch. While we develop our SDKs on public GitHub repositories and ship a new version every other week to give developers access to the latest and greatest features, we now also offer a branch that will only get critical bugs and security patches, starting in July 2017. Developers can now leverage the latest LTS version, release in January 2018, to develop clients that work with Azure IoT Hub and Azure IoT Hub Device Provisioning Service.

The LTS branch offers customers a guarantee that they will benefit from any necessary security or critical bug fixes with minimal impact to their device’s code. At the same time, developers can access latest updates in the master branch of the repositories, staying on top of the technology and features, with a faster response and resolution time to posted issues. Best of both worlds!

The latest LTS version is accessible from GitHub under lts_2018_01 branch and from package managers such as NuGet, PiPy, apt-get, Maven, and NPM. All our SDKs follow semantic versioning. A major version change corresponds to a breaking change; a minor version change corresponds to adding functionality, and a patch version change corresponds to bug-fixes.

Our LTS timeline is:

  1. Every six months, a new version of LTS is released. This means that a new LTS branch is created for code access and a new set of LTS packages is released on the supported package manager. The versioning of LTS branch follows the master branch at the time of release. Deprecated APIs from the master branch are removed with major version update and removed in the subsequent release of a new LTS branch.
  2. A version is actively maintained for six months to receive security fixes and critical bug fixes. At the end of six months, a new version of LTS is released. The previous version will enter deprecated mode, where it will not receive any updates.
  3. After a one-year total lifetime, the corresponding branch will be removed from GitHub, but packages from package manager will still be available.

If you have any feedback on our design, please share it on UserVoice!

lts

Azure Redis Cache geo-replication is now generally available

$
0
0

We are very happy to announce the general availability of geo-replication support for Azure Redis Cache. Redis Cache is Microsoft Azure’s Cache-as-a-Service offering, based on the popular open source Redis in-memory key-value store. With geo-replication support, Redis Cache joins a growing list of Azure services that enable developers and IT pros to build disaster recovery plans. This ensures the availability of mission-critical applications running on our cloud, even in the unlikely event of a widespread regional failure. In fact, customers can already design disaster resilient solutions on Azure, using Virtual Machines with Azure Site Recovery, Traffic Manager, and data services such as Cosmos DB, SQL Database, and now Redis Cache.

While announcing the general availability of geo-replication for Redis Cache, we would also like to take the opportunity to express our gratitude to everyone who has participated in the public preview. Your feedback has been invaluable to us and helped validate our implementation. Thank you!

Setting up geo-replication in Redis Cache

Geo-replication is a feature of the premium tier of Azure Redis Cache. You need a pair of premium cache instances before you can use geo-replication. If you already have a premium cache, you just need to add another one in a secondary Azure Region of your choice. If you are currently using a basic or standard instance, you will have to upgrade it to premium before you can enable geo-replication for that. Currently you can set up only one geo-replicated cache with each primary cache. While there is no restriction on where you can place them, we recommend that you put your caches in different Azure Regions for better resiliency.

You set up geo-replication by linking your two instances of Azure Redis Cache together. The simplest way to do this is using the Azure Portal, and you can see detailed step-by-step instructions in our documentation: How to configure Geo-replication for Azure Redis Cache.

image

Once your Azure Redis Cache instances are configured for geo-replication, the primary cache instance will process client requests just as before, but the replica will accept data replication from the primary. The replica is available in read-only mode, so you can immediately use it with an application running on the secondary region.

Managing failover

For optimal cache performances, customers should always co-locate in the same Azure Region. A Redis cache with the application using typical Azure Redis Cache response times, including roundtrip network latency, are in single-digit milliseconds when both the client and server reside in the same region. Otherwise, the physical distance between two Azure Regions can add significant delays to the overall response time. Because of that, Azure Redis Cache will not automatically failover to a geo-replicated cache in another Region.

In the unlikely event of a regional-level service outage, you would want to orchestrate the geo recovery of your entire application stack to a secondary region through a sequence defined by your business continuity plan. For example, if your application runs in two, fully redundant Azure Regions with requests routed by Traffic Manager, you need to failover the Azure Redis Cache before you instruct Traffic Manager to redirect all incoming requests to the secondary region. You can failover to your geo-replicated, secondary cache at anytime by unlinking it from the primary and configuring your application, presumably in the same Azure Region, to use it instead of the primary. When a geo-replication link between two cache instances is removed, the secondary cache becomes an independent primary and can accept write requests. You can delete a geo-replication link manually using the Azure Portal or automate the action with a PowerShell command.

Pricing

Geo-replication is included in the pricing of the Azure Redis Cache premium tier. However, you will be charged standard fees for any network egress traffic that is resulted from cross-geo data replication.

Give it a try

Azure Redis Cache geo-replication is a valuable tool to protect your important data against unforeseeable disasters. By leveraging this and other Azure services’ geo-redundancy capabilities, you can implement a strong disaster recovery plan for your services running on the cloud, ensuring availability for your mission-critical applications.

If you have any question or feedback, please contact us at AzureCache@microsoft.com.

Microsoft Azure Data Lake Storage in Storage Explorer – public preview

$
0
0

Providing a rich GUI for Azure Data Lake Storage resources management has been a top customer ask for a long time, we are thrilled to announce the public preview for supporting Azure Data Lake Storage (ADLS) in the Azure Storage Explorer (ASE). With the release of ADLS resources in ASE, you can freely navigate ADLS resources, you can upload and download folders and files, you can copy and paste files across folders or ADLS accounts and you can easily perform CRUD operations for your folders and files. Azure Storage Explorer not only offers a traditional desktop explorer GUI for dragging, uploading, downloading, copying and moving your ADLS folders and files, but also provides a unified developer experiences of displaying file properties, viewing folder statistics and adding quick access. With this extension you are now able to browse ADLS resources along-side existing experiences for Azure Blobs, tables, files, queues and Cosmos DB in ASE.

Key customer benefits

  • Offers a one-stop shop to manage Azure Storage Resources including ADLS
  • Enables direct connect through Azure AD Authentication
  • Provides traditional explorer experiences for file movement, file/folder upload and download with great scalability
  • Delivers better accessibility for file navigation and data management capability with reliable performance

Summary of key features

  • ADL hyperlink support – Copy and open ADL hyperlink with Storage Explorer with one click
  • Local and attach – View ADLS resources shared by others through ACL
  • Resources navigation - Browse ADLS files and folders across ADL accounts under your subscriptions
  • File/Folder CRUD Operations – Support recursive folder and multi-selected files
  • Desktop Explorer experience – Drag and drop, add folder to quick access, recent locations​
  • Activity log – Display log information in the lower right pane to view activity status
  • Resource Properties – Display folder statistics and file property 

image

Get started

Install Azure Storage Explorer: [Windows], [Mac], [Linux]

For more information about Cosmos DB in ASE, please see:

Learn more about today’s announcements on the Azure blog. Discover more Azure service updates.

If you have questions, feedback, comments, or bug reports, please use the comments below or send a note to adldevtool@microsoft.com

Last week in Azure: Living the serverless life, Kubernetes, and more

$
0
0

Several of the items highlighted below focus on serverless solutions where you don’t need to provision and manage any servers so that you can take your mind off implementing infrastructure. Building a serverless application on Azure using services like Azure Functions, Logic Apps, and Azure Cosmos DB frees you to focus on what's truly unique about your solution.

Last week, I published a special three-part episode series of Azure Friday that features Donovan Brown and Ralph Squillace exploring the open source tool chain that enables container-native, microservice-oriented app development & delivery in Kubernetes. While you're at it, be sure to listen to last week's Azure Podcast, which featured Kubernetes co-founder Brendan Burns. 

Now generally available

Azure M/B/V3-series VMs are now generally available in UK - Azure M/V3/B-series of VM sizes are now available in the UK South region. M-series is perfectly suited for your large in-memory database workloads like SQL Server with the In-Memory OLTP functionality and other contenders in this space. Dv3 and Ev3 VMs are some of the first VMs to enable nested virtualization and Hyper-V containers. B-series VMs provide the lowest cost option for customers with flexible vCPU requirements.

Azure #CosmosDB Graph API now generally available - In December, Azure Cosmos DB Graph API became generally available. This release includes several critical updates to the performance and latency, as well as expanding the application platforms that can be used with it. This post also provides a recap of the features included in the December release.

Headlines & updates

Bing Speech API extends its text to speech support to 34 languages - The Speech API, a Microsoft Cognitive Service, now offers six new text to speech (TTS) languages to all developers, bringing the total number of available languages to 34: Bulgarian, Croatian, Malaysian, Slovenian, Tamil, and Vietnamese.

Brand Detection in Microsoft Video Indexer - Microsoft Video Indexer now includes Brand Detection from speech and from visual text. Brand Detection in the video index gives you insights on names of products and organizations, which appear in a video or audio asset without having to watch it and enables you to search for brands over large amounts of video and audio.

Azure Search service upgrades: New hardware, unlimited document counts, and more! - Upgrades were made to Azure Search service performance for all newly provisioned services in all paid service tiers. For the exact same price, these upgraded Azure Search services have roughly double the compute power of the previous hardware configuration that backed Azure Search and unlimited document counts. Standard tier services also began using SSD storage instead of HDD storage.

Microsoft Azure IP Advantage: Our first year - Learn how Azure IP Advantage provides customers with uncapped indemnification for Microsoft cloud services, including for the open source components that power these services. Eligible customers also have access to 10,000 Microsoft patents to deter and defend their own applications running on Azure against patent lawsuits by operating companies.

First System Center Semi-Annual Channel release now available - System Center includes Azure security & management capabilities for enhanced on-premises management and for the management of Azure resources. For example, you can use Service Manager integration with Azure to set up rules for automatically creating incidents for alerts fired on Azure and non-Azure resources.

Technical articles

Build email notifications for SQL Database Automatic tuning recommendations - Use the techniques outlined in this post to build your own custom email notifications for SQL Database Automatic tuning recommendations using a PowerShell script to retrieve tuning recommendations and Azure Automation to run it.

Go serverless for your IoT needs - Take a look at a few IoT scenarios in which the combination of Azure IoT Hub, Azure Event Grid, and Azure Functions provide a potent solution to your IoT needs, such as processing incoming device data in real time and custom processing on IoT Edge.

OMS Monitoring solution for Azure Backup using Azure Log analytics - See how you can now use the same workflow that generates Azure Backup reports in Power BI to build your own Microsoft Operations Management Suite (OMS) monitoring solution for Azure Backup in the upgraded OMS workspace.

Custom Speech: Code-free automated machine learning for speech recognition - Learn how you can use the Custom Speech Service to automatically tune speech recognition models to your specific needs. You can use textual data like words and sentences of the target domain to build language models which can then be deployed and accessed by any devices through our Speech API. As an example, the Presentation Translator PowerPoint add-in customizes the language model based on slide content.

Developer Spotlight: Serverless

Create a function in Azure that is triggered by a timer - Learn how to use Azure Functions to create a serverless function that runs based a schedule that you define.

Internet of Things Show | Serverless and Internet of Things - The IoT Show welcomes Bahram Banisadr from the Azure Events Grid team to discuss Serverless in IoT and demo how simple it is to put together an MXCHip DevKit device, IoT Hub, a Function and Cognitive Services to create a portable translator.

Serverless Twitter Analytics with CosmosDB and Logic Apps - Jeremy Likness extends the serverless custom link-shortening solution he built to analyze more of the available data. Thanks to the schemaless nature of Azure Cosmos DB, he's able to add new properties as an afterthought.

Implementing a simple Azure Function with a Xamarin.Forms client - This article and sample by Laurent Bugnion will show you how to implement a very simple Azure Function in the Azure Web Portal or in Visual Studio at first, and build a cross-platform client with Xamarin.Forms, running on Android, iOS and Windows.

Azure Functions | Work with Azure Functions Proxies - This article explains how to configure and work with Azure Functions Proxies, which you can use to specify endpoints on your function app that are implemented by another resource. Use these proxies to break a large API into multiple function apps (as in a microservice architecture), while still presenting a single API surface for clients.

Service updates

Azure shows

Durable Functions now available - Corey Sanders, Director of Program Management on the Microsoft Azure Compute team sat down with Azure Functions / Azure Logic Apps PM Jeff Hollan to see what's new with durable functions.

Container-native developer experiences, Part 1 - Overview - Learn about the open source tool chain that enables container-native, microservice-oriented app development and delivery in Kubernetes. They cover the challenges of adopting containers as a code delivery technology and some of the tools that help address them: Draft, Helm, and Brigade.

Container-native developer experiences, Part 2 - Draft - Learn how to use Draft to kickstart container-native development for Kubernetes applications. Draft lets you concentrate on your service code by removing the containment and service composition from most development work, which increases the speed of service development and improves the consistency of Dockerfiles & Helm charts.

Container-native developer experiences, Part 3 - Brigade - Learn about Brigade, the Kubernetes-native service that creates structured container pipelines from JavaScript functions, letting you "script" your cluster in reaction to events. You'll also learn about Kashti, the web dashboard that shows you the status of all your Brigade projects.

Cloud Tech 10 - 5th February 2018 - Event Grid, Jenkins, Ansible and more! - Mark Whitby, a Cloud Solution Architect at Microsoft UK, covers what's happening with Microsoft Azure in just 10 minutes, or less!

The Azure Podcast: Episode 215 - Kubernetes Innovations - The guys have an amazing talk with Brendan Burns, Distinguished Engineer at Microsoft, about the future of Kubernetes in Azure.

Build Go apps for Azure with the Go SDK, now generally available

$
0
0

We’re pleased to announce that the Azure SDK for Go is now generally available to help developers build apps for Azure with Go. The SDK features support for connecting to data sources including Cosmos DB and Azure Storage, deploying Azure resources programmatically, authenticating users, and much more. Alongside the SDK update, we are also making the Azure Go Dev Center available on our docs.

With today’s announcement, we are once again reinforcing our commitment to build an open cloud, supporting open source technologies such as Go and enabling our customers to innovate faster, using the tools they prefer.

Why Go? In today's digitally transformed world, developer and software efficiency have a major impact on project success. Cloud platforms like Microsoft Azure increase that efficiency by managing infrastructure and platforms on behalf of developers. Go also increases both developer and software efficiency through clear syntax, modern standard libraries, native compilation, and reliable concurrency primitives. By expanding Azure’s support for Go we hope to enable our customers to capitalize on both simultaneously.

 Go
Image credits: @ashleymcnamara

Azure SDK for Go

Developers can use the Azure SDK for Go to more quickly build cloud apps. For example, the SDK allows you to:

  • Interact with our object storage service, Azure Blob Storage.
  • Connect to Azure database services like Cosmos DB, Azure DB for PostgreSQL, and more.
  • Authenticate your users and other services using Azure Active Directory identities and Key Vault secrets.
  • Provision and manage Azure resources like Virtual Machines, Virtual Networks, Storage Accounts, as well as databases like Cosmos DB and PostgreSQL.
  • Analyze data with Azure Cognitive services.

Several popular cloud management projects already use the SDK to integrate with Azure, including Kubernetes, Terraform, and the Open Service Broker for Azure.

“HashiCorp Terraform heavily leverages the Azure Go SDK for provisioning the underlying Azure infrastructure. We have partnered closely with Microsoft over the past two years to help drive fixes and improvements into the SDK, as well as leverage the latest functionality for supporting the newer Azure features in Terraform.”

- Burzin Patel, VP of Alliances, Hashicorp

“Azure Go SDK is a critical component of Azure Container Service (AKS), enabling the integration of Kubernetes with Azure resources, including Load Balancers, Network Security Groups, and Managed Disks.”

- Jason Hansen, Program Manager, Microsoft Azure Container Service

Get started

For help getting started, check out our GitHub repo full of snippets and testable examples at Azure-Samples/azure-sdk-for-go-samples, as well as our newly-published documentation and tutorials in the Azure Go Dev Center. Full API documentation for the SDK is available on GoDoc.

Please share comments and feedback with us below or in the SDK issue tracker on GitHub.

Azure also offers other tools and services to help you efficiently build Go apps for cloud:

If you don’t have an Azure subscription yet, you can get started with our free trial, offering $200 in Azure credits as well as one year of popular services, for free.

Lastly, don’t forget to check out the free, open source Visual Studio Code editor for macOS, Windows and Linux, coming with an extension to build and debug Go apps.

Diversity scholarships for upcoming R conferences

$
0
0

One of the greatest things about the R community is its diversity. This is largely thanks to organizations like Forwards and R-Ladies, who have been instrumental in welcoming women and other under-represented groups to the world of R. Likewise, conferences in the R community encourage diversity, with open codes of conduct, facilitations like on-site child-care, and by offering scholarships for travel and lodging to encourage attendees from diverse backgrounds. 

Here are three upcoming R community events that are offering diversity scholarships:

The rOpenSci Unconference (May 21-22, Seattle) is now accepting self-nominations to participate. You can request travel support as part of the application process, and the organizers "strongly encourage applications from women and other underrepresented genders, people of color, people who are LGBTQ, people with disabilities or any other underrepresented minorities in research". Applications are open now.

The eRum 2018 Conference (May 14-16, Budapest, Hungary) will include a Package Development Workshop for Women presented by Forwards, which is also offering scholarships to attend (thanks to funding from the R Consortium). The deadline to apply is February 25.

The useR! 2017 Conference (July 10-13, Brisbane, Australia) is offering scholarships for those seeking financial aid to attend, and in addition R-Ladies Melbourne is offering two $500 travel scholarships. Applications are open now.

If you're thinking about applying, Forwards offers useful tips for applying for diversity scholarships.

 

Microsoft partners with National Science Foundation to empower data science breakthroughs

$
0
0

Over the past decade, Microsoft has partnered with the National Science Foundation (NSF) on three separate programs, first in 2010, and more recently through a commitment of $6M in cloud credits across two NSF supported data science programs – with the Big Data Regional Innovation Hubs and as part of the NSF BigData solicitation.

The engagement with NSF has helped Microsoft reach diverse research groups such as the Big Data Hubs1 that brings together communities of data scientists to spark and nurture collaborations between domain experts, researchers, communities, state partners, nonprofits, and industry.

As of today, Microsoft has provided 17 cloud credit awards to Principal Investigators (PIs) who benefit from NSF supported programs. These collaborations are already seeing some interesting breakthroughs across the human body, microbial diseases, and even everyday communication –

  • Franco Pestilli, Assistant Professor in Psychology, Neuroscience and Cognitive Science, Indiana University is an Azure awardee and PI through the Midwest Big Data Hub2 - his group has built a platform called Brainlife using the Azure award, with the goal of fostering collaboration with sixty-six different global scientific communities such as developmental and learning sciences, network science, computer science, engineering, psychology, statistics, traumatic brain injury, vision science.
  • Chirag Patel, Assistant Professor of Biomedical Informatics, Harvard Medical School is working in epigenomics, specifically by building quantitative models that demonstrate what role certain microbial species play in disease of their human host. His team used Azure credits through NSF funded Northeast Big Data Hub to analyze metagenomes en masse through a catalog of 10 million unique genes, which was computationally infeasible with on-premise laboratory resources.
  • Lisa Singh, Professor, Georgetown University and an active participant with NSF’s Big Data programs and the South Big Data Hub3 is a recent recipient of an Azure award. Her group in collaboration with 3 universities and over 10 social science researchers expects to further the area of humanist and social science research given Georgetown University’s strengths in this area. One of the goals is to build a web-based platform that incorporates state of the art cloud based machine learning, natural language processing and data mining algorithms to extract meaningful big data variables (sentiment, emotion, perception, opinion, buzz, etc.) from unstructured data sources, such as newspapers, social media to empower social scientists with meaningful tools.
  • Among other projects in the West region, the NSF-funded West Big Data Hub is focused on Data Science education using Jupyter notebooks running on Azure credits to rapidly scale4 UC Berkeley’s phenomenally successful data science education program to other institutions. As a first pilot designed to democratize data science educational access, the Foundations of Data Science course infrastructure framework was leveraged at the University of Washington this past semester.

Academia Looks to the Cloud

Academic research computing is going through a fundamental transformation evident with an increasing number of researchers and domain scientists shifting their data intensive research workloads to the cloud. With an average of more than four out of five higher education institutions already using at least one service in the cloud5, the widespread adoption of cloud based research computing is inevitable.

Over the past decade, Microsoft Azure has accelerated its pace of innovation to become an obvious scalable and on-demand infrastructure choice for computation dependent technology workloads.

Central IT at universities recognize the benefits and face enormous opportunities and demands to keep up with the transformation to cloud. Fortunately, pioneering funding agencies like the NSF are acknowledging the major role that public cloud providers can play in ensuring that academia is supported in their journey towards the cloud.

Microsoft is committed to a continued partnership with the National Science Foundation in its efforts to bring the power of the cloud to research computing in academia. We will continue to update the Microsoft Azure roadmap to help the community stay informed as new releases become available.


Related links

1Microsoft Research and NSF Big Data Hubs Collaboration Passes the One-Year Mark

2Advancing Science Through a MBDH – Microsoft Research Partnership

3South Hub, Microsoft team up to provide Azure credits for researchers

4Passing Notebooks in Class: West Big Data Innovation Hub’s UC Berkeley and UW partner with Microsoft on shared data science infrastructure

5Educause Center for Analysis and Research: IT Service Delivery in Higher Education


Application consistent backup for Linux VMs using Azure Backup is generally available

$
0
0

We are excited to announce the general availability (GA) of application consistent backup for Linux VMs running in Azure using Azure Backup. We did a preview of this feature last year and customers are already using this framework for various applications like Oracle, MySQL, Mongo DB, SAP HANA, and PostGreSQL.

What is application consistent backup?

Application consistent backup ensures that the backed-up data is transactionally consistent, and that applications will boot up post VM restore. To ensure transactional consistency, applications need to be quiesced and there should be no unfinished transactions when taking a VM snapshot.

Windows has the Volume Snapshot Service (VSS) framework to ensure application consistent VM backup, but there is no such generic framework for Linux. With greater adoption of Azure Linux VMs, there is an increasing demand to backup critical enterprise applications running inside Azure VMs. We introduced a VSS-like generic framework for ensuring application consistent VM backup for Linux applications running on any Linux distribution. This framework gives you the flexibility to execute custom pre and post scripts as part of the VM backup process. These scripts can be used to quiesce application IOs while taking a VM snapshot that guarantees application consistency.

f4bad234-e373-48e9-812a-46e9f90aa79e

The framework, in fact, is more powerful as you can use it to take application native backup by invoking native backup APIs as part of the VM snapshot. Azure Backup will then move this data to an offsite recovery services vault making it secure against VM corruption, VM delete, or disaster recovery scenarios. All this without the need to shutdown the VM.

Key features

  • Effortlessly test and restore application data: You can now mount your applications directly from the recovery point using iSCSI. This will help you quickly validate your recovery points without copying any backup data. You can then recover specific application files without the need to restore the entire VM. For example, when there is a backup of an Azure Linux VM running MySQL, you can mount .sql data dumps from the cloud recovery point, directly attach MySQL database to this file, and quickly validate the backup or retrieve individual items such as tables without having to download the entire data dump.
  • Improved monitoring: With this release, any framework related error will surface in backup jobs to help you identify and easily fix the issues. For example, if you configured “Continue on failure” for scripts, the backup will proceed as a file system or crash consistent. However, the backup job will now show “Completed with warnings” and provide detailed error message and recommended action to fix the script error.
  • Application and distribution agnostic: The framework is agnostic of Linux distributions and versions, and works seamlessly for all supported Linux distributions as long as the guest application has APIs to pause and resume application IOs.
  • Sample scripts on GitHub: We are working with partners and ISVs to provide open source scripts on GitHub for popular Linux applications. As of this release, we have these in place for MySQL, Oracle, and Caché.
  • Automation at scale with Azure CL: You can now use Azure CLI to configure, manage, and automate Azure Backup tasks at scale. Take advantage of CLI features such as smart defaults for most common operations, tab completion, and pipe-able outputs to simply manage your VM backup and recovery operations. Apart from configuring backup and restore, you can also query on command outputs to automate other management tasks. For example, backup health information can be programmatically retrieved, and subsequent operations can be initiated based on the health status.

Getting started

The video below walks you through various steps on how to configure the framework for executing pre-script and post-script. For more details, please refer to the steps to configure application-consistent Linux VM backup.

You can now mount your applications directly from VM backup to validate your data, without the need to copy and backup data. Watch the below video for more details.

Customer success stories

The Open University (OU) leveraged the Azure Linux Consistent Backup solution to allow consistent image-based backups of Linux database servers for a set of Azure based virtual learning environments shortly going live in Azure.

The OU operates several virtual learning environments, such on-premises datacenters in Milton Keynes UK utilizing virtualization, and is now starting to deploy new virtual learning environments to Azure. By utilizing Azure Backup and Azure Linux Consistent Backup solution they are able to have a consistent approach to Linux database backups allowing them to simplify deployment, backup and recovery of new learning environments hosted in Azure.

“The pre-freeze and post-freeze process is almost identical to the process we use on Linux database servers with our on-premises virtual machine image level backup solution. This allows us to leverage our existing packaged pre-freeze and post-freeze scripts without modification. This has made deployment of an Azure virtual learning environment far simpler and allows us to use the Azure machine backup whilst ensuring database backup consistency”.

- Gareth Robins, Systems Programmer, IT Service & Support, The Open University

Intercept, a Microsoft partner, has implemented the application consistent backup for Oracle databases running in Azure Linux VM. Below is Intercept’s feedback on the feature.

“We have implemented the application consistent backup for Linux feature for one of our customer to make sure the Oracle Databases within the Azure VM’s will be backed up consistently. Our customer want their backup tooling to be simple and prefer an Azure native solution for ease of management and to have a uniform backup experience for all Azure resources , Azure application consistent backup for Linux makes that possible.”

- Remco Vrielink, Intercept

Impacting SA tried this solution for MySQL and MongoDB and have seen significant (up to 70%) improvement in their restore time as they need to only restore specific application files and not the entire VM. Below is the feedback from Impacting SA.

“It was easy to activate this functionality on, since we only had to follow the documentation and guidelines available. They were simple, explicit and easy to understand. A positive point of this feature was that it reduced the backup time, since the moment it starts until we are able to restore it. The backups recovers became a lot more faster, about 70% more, when compared to the previous process - it went from 4h to about 20 minutes.”

Sample scripts for Oracle DB

We have seen many customers use our solution for MySQL and Oracle, while MySQL open source scripts were already uploaded on our GitHub, we have now added sample Oracle scripts. You can use this as a reference to create your own scripts and leverage the power of this framework.

Seeking open-source community contribution

To make this framework generic and support a variety of applications like Windows VSS we are calling developers, ISVs, tech enthusiasts, and partners to contribute to open source scripts to the GitHub repository. The scripts will be available for everyone to use directly or customize based on their requirements. If you are interested in contributing please send an email to linuxazurebackupteam@service.microsoft.com and we will work with you to publish them on GitHub, explain usage guidelines, and ensure that you get acknowledgement for your contribution.

Related links and additional content

New reference architecture for Jenkins on Azure

$
0
0

The patterns & practices (p&p) group of the Azure Customer Advisory Team (Azure CAT), has published a new reference architecture for deploying and running a Jenkins server on Azure with Ubuntu 16.04 LTS. Jenkins is a powerful open source tool for building DevOps solutions. This reference architecture helps identify the best practices for setting up a Jenkins server on the Azure platform and helps you make the most of Azure services for supporting your engineer requirements.

It provides prescriptive guidance for the following topics:

  • Architecture, including plugins for the deployment
  • Scalability
  • Availability
  • Manageability
  • Security

image

This reference architecture is based on the Microsoft published Jenkins master in the Azure Marketplace. This installs a Microsoft image for Jenkins on Azure along with several Azure plugins:

  • Azure AD Plugin enables you to set up a single sign-on (SSO) experience.
  • Azure VM Agent Plugin allows you to scale the pipeline with Jenkins agents in Azure virtual machines.
  • Windows Azure Storage Plugin provides storage for build assets that are shared in a pipeline.
  • Azure Credentials Plugin works with the Azure Key Vault service.

Like other Azure reference architectures, this Jenkins deployment and associated resources include a GitHub repository. For example, you can download scripts that use Azure Managed Disks to support a disaster recovery scenario. You can also learn how to use the Azure Monitor service to monitor the Jenkins server or pipeline.

We invite you to review the reference architecture, try out the deployment, and even contribute to this and other reference architectures on GitHub.

What does Microsoft do with R?

$
0
0

I was genuinely chuffed to get a shout-out in the most recent episode of Not So Standard Deviations, the awesome statistics-and-R themed podcast hosted by Hilary Parker and Roger Peng. In that episode, Roger recounts his recent discovery of the Microsoft ecosystem of tools for R, which he (jokingly) dubbed the "Microsoft-verse".

While we're flattered by the allusion to the tidyverse, in general Microsoft's developments with R are designed to work with the entire R ecosystem rather than be distinct from it. Here's a quick overview of what Microsoft has developed around R. It's in three sections: the first two don't require any special version of R, and only the third section requires a Microsoft-specific R distribution.

Thanks again to Hilary and Roger for another entertaining episode of NSS Deviations and for giving me the impetus to write all of this down. (This started as an email, but I quickly realized it was getting too long and became this blog post instead.) If you have any questions or feedback, let me know in the comments section of this post.

R available from within Microsoft products

You can call R from within some data oriented Microsoft products, and apply R functions (from base R, from packages, or R functions you've written) to the data they contain.

  • SQL Server (the database) allows you to call R from SQL, or publish R functions to a SQL Server for database adminstrators to use from SQL. 
  • Power BI (the reporting and visualization tool) allows you to call R functions to process data, create graphics, or apply statistical models to data.
  • Visual Studio (the integrated development environment) includes R as a fully-supported language with syntax highlighting, debugging, etc.
  • R is supported in various cloud-based services in Azure, including the Data Science Virtual Machine and Azure Machine Learning Studio. You can also publish R functions to Azure with the AzureML package, and then call those R functions from applications like Excel or apps you write yourself.

Open source R tools and packages from Microsoft

Microsoft provides various open source tools to help people use R. This includes R packages published on CRAN and in Github.

  • Microsoft R Open, Microsoft's distribution of open-source R. The only difference with CRAN R is that comes bundled with Intel Math Kernel Libraries (which makes vector and matrix operations faster on multi-core machines), and that it uses a static mirror of CRAN so packages don’t change from day to day (but you can always use the "checkpoint" package described below to get the latest-and-greatest, if you want). 
  • MRAN, which is the download repository for Microsoft R Open, and also hosts daily archive snapshots of the entire CRAN system (from 2015 to the present). These snapshots are used for reproducibility by Microsoft R Open, the checkpoint package (see below), and anyone who wants a non-changing CRAN image. (The Rocker docker images are configured to use these static snapshots, for example.)
  • The checkpoint package, which provides a simple interface to those static CRAN snapshots, for reproducibility. (In short: add checkpoint("2018-02-13") to make R install and use packages from that date for your project, now and in the future, including when you share scripts with someone else.)
  • The foreach and iterators packages, for parallel programming. Microsoft also provide “backends” to use different parallel programming systems for a foreach loop, like doParallel (use a local machine or cluster), and doAzureParallel (spin up a cluster in Azure and to the parallel iterations there).

Parallel and distributed algorithm implementations of statistics and machine learning algorithms

Microsoft has implemented a suite of algorithms for statistics and machine learning. These either serve as replacements for existing R functions or packages, or add new capabilities. They are designed for performance and to work without data size limitations. (In general, these algorithms are closed-source and only available within Microsoft R products, and not on CRAN or Github.)

  • The RevoScaleR package provides new implementations of some of R's statistical functions (for example: rxGlm is the equivalent of R's glm), but are designed to work with data sizes much larger than available memory. It also uses parallel computing to speed things up when running on a multi-core server, in a Hadoop or Spark cluster, or in a SQL Server database.
  • The MicrosoftML package provides high-performance implementations of various machine-learning algorithms (like neural networks and random forests), and also some pre-trained machine learning models like sentiment analysis for text.
  • Those two packages can optionally make use of the XDF file format, a binary on-disk data format designed for performance and parallel processing. Within R, XDF objects behave much like data frames, and you can also apply tidyverse data functions with the dplyrXdf package.
  • The mrsdeploy package allows you to publish custom R scripts and functions (including ones using the packages above) to a server as an API that can be called from other applications. 
  • Microsoft Machine Learning Server includes R and the packages above. So do SQL Server, and HDInsight (the big-data platform on Azure). Microsoft also provides paid support for R to customers of these products.
  • Microsoft R Client also includes those packages. It's free to use for developing applications, but it's performance-limited to non-production workloads.

Machine Learning in .NET – Help us build the right experience!

$
0
0

In the past few years, Machine Learning (ML) and Artificial Intelligence (AI) have paved the road for building smarter applications through advancements in speech recognition, computer vision, intelligent search and much more. So far the ability to build models has largely been limited to data scientists, as a part of the .NET platform moving forward we want to democratize this capability for all .NET developers.

With this vision in mind, we in the .NET team are currently trying to understand common cases of how you are exploring ML and AI. Please tell us about your scenarios and get involved through the survey below to help us build experiences which will allow you to develop intelligent .NET apps easily.

It should take less than 5 minutes to complete.

Take the Survey now!

We appreciate your contribution!

Accessing Visual Studio Previews in Azure

$
0
0

In our most recent post, the Visual Studio team announced the availability of Visual Studio 2017 Version 15.6 Preview 4.  Today, I’m excited to announce you can now access the latest Visual Studio previews in the Azure Marketplace.  Just boot a virtual machine and off you go with the very latest features (standard VM charges will still apply).

With this new offering, we’re putting the power of virtual machines to work for developers, making Visual Studio previews even easier to try. By accessing Visual Studio previews in Azure, you can get a new machine up and running in less than 10 minutes, and rest assured the preview won’t impact any other current implementations. The latest features, workloads and each workload’s recommended components are already set up in Azure – just waiting for you to boot a VM and get coding!

In Azure, you find two virtual machine images with the latest Preview installed.  The Marketplace workflow makes it quite easy to provision a VM from these or any other image.

Our current preview of Visual Studio 2017 is Version 15.6 Preview 4; images will be updated in the marketplace as we release new Previews. (Note: although the name/label of the image won’t change, our team will update the image’s description so you can see exactly which Preview version you’re getting.)

In the Azure Marketplace, you’ll also find the current production releases of Visual Studio 2017 and 2015, which include the same recommended product install.  Virtual machines based on these images are amazingly fast to stand up, and enable access to your production dev box from any location with an internet connection for simplicity and ease.  You can read more information about Visual Studio production and preview versions here.

Don’t have an Azure account?  No problem.  You can create a free Azure trial account, and use the free credits to provision a new Preview VM and explore interesting services.  Visual Studio subscribers may have even more free credits available depending on your subscription.

We hope you’ll try out the new features in the latest preview today!  You can report issues to us via the Report a Problem tool in Visual Studio or you can share a suggestion on UserVoice. You’ll be able to track your issues in the Visual Studio Developer Community where you can ask questions and find answers.

Phil Lee, Senior Program Manager, Visual Studio

Phil is on the Visual Studio release engineering team and is responsible for making Visual Studio releases available on Azure.

Viewing all 10804 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>