Cortana Intelligence Solutions is a new tool just released in public preview that enables users to rapidly discover, easily provision, quickly experiment with, and jumpstart production grade analytical solutions using the Cortana Intelligence Suite (CIS). It does so using preconfigured solutions, reference architectures and design patterns (I’ll just call all these solutions “patterns” for short). At the heart of each Cortana Intelligence Solution pattern is one or more ARM Templates which describe the Azure resources to be provisioned in the user’s Azure subscription. Cortana Intelligence Solution patterns can be complex with multiple ARM templates, interspersed with custom tasks (Web Jobs) and/or manual steps (such as Power BI authorization in Stream Analytics job outputs).
So instead of having to manually go to the Azure web portal and provision many sources, these patterns will do it for you automatically. Think of a pattern as a way to accelerate the process of building an end-to-end demo on top of CIS. A deployed solution will provision your subscription with necessary CIS components (i.e. Event Hub, Stream Analytics, HDInsight, Data Factory, Machine Learning, etc.) and build the relationships between them.
I’ll now go through the process of deploying a solution/pattern.
When you go to the main page of the Cortana Intelligence Solution, you can click on “Deployments” to see the deployments you already created, or you can click on “Solutions Gallery” or the “Get Started Now” button. You will then be taken to the Cortana Intelligence Gallery (which is not new, but the “Solutions” link in the gallery is) and will be presented with four patterns to choose from (many more will be available soon). I will now show you screen shots of what you will see when you choose a pattern:
I’ll choose the “Predictive Maintenance for Aerospace” pattern:
When I click on it I’ll then see a summary of the solution, including the estimated provisioning time:
It includes technical details and workflow:
Included is a nice solution diagram:
It also shows the services that will be used:
Then I hit the “Deploy” button and see a screen to fill out:
Once I hit the “Create” button I get to see the status of the deployment:
Clicking on the little “i” next to a running step gives me more details:
When this step finished I was sent an email with a link to the Azure ML experiment it created:
When the deployment finished it displayed some post-deployment instructions and info:
At the bottom of the instructions was a link to source code and a very detailed Technical Guide I could look at:
You can always view the post-deployment instructions later by clicking “Deployments” on the main page of the Cortana Intelligence Solution and clicking on the deployment name.
How to delete your solution? Make sure to delete the solution if you are not using it to save costs. Deleting your solution will delete all the components provisioned in your subscription when you deployed the solution. To delete the solution click on your solution name in the left panel of the solution template and click on delete.
Cortana Intelligence Solutions offer an improvement over Azure Quickstart Templates: Each Azure Quickstart Template is a single ARM template. A Cortana Intelligence Solution, on the other hand, is comprised of one or more ARM templates interspersed with custom “tasks”. This enables complex flows that involve creating, configuring and hydrating Azure resources in ways that are not possible through an ARM template alone.
Another advantage is some Cortana Intelligence Solutions have a “Try with your data” experience. This allows a user to play with the solution without having to deploy it. An example of this is the IT Anomaly Insights solution that actually uses an Anomaly Detection machine learning API in the back end.
Cortana Intelligence Solutions are similar in concept to Azure IoT Suite preconfigured solutions but have a much broader focus that just IoT and use more products.
I see Cortana Intelligence Solutions as not only a great time saver, but a way to use the proper reference architecture for the solutions you are looking to build. It will make sure you are using the proper technologies and tools for your project so it will be a success.