This blog post was authored by Jordan Edwards, Senior Program Manager, Microsoft Azure.
At Microsoft Build 2019 we announced MLOps capabilities in Azure Machine Learning service. MLOps, also known as DevOps for machine learning, is the practice of collaboration and communication between data scientists and DevOps professionals to help manage the production of the machine learning (ML) lifecycle.
Azure Machine Learning service’s MLOps capabilities provide customers with asset management and orchestration services, enabling effective ML lifecycle management. With this announcement, Azure is reaffirming its commitment to help customers safely bring their machine learning models to production and solve their business’s key problems faster and more accurately than ever before.
Here is a quick look at some of the new features:
Azure Machine Learning Command Line Interface (CLI)
Azure Machine Learning’s management plane has historically been via the Python SDK. With the new Azure Machine Learning CLI, you can easily perform a variety of automated tasks against the ML workspace including:
Compute target management Experiment submission Model registration and deployment Management capabilities
Azure Machine Learning service introduced new capabilities to help manage the code, data, and environments used in your ML lifecycle.
Azure Functions constantly innovates so that you can achieve more with serverless applications, enabling developers to overcome common serverless challenges through a productive, event-driven programming model. Some releases we made in the last few weeks are good examples of this, including:
The Azure Functions premium plan, enables a whole new range of low latency and networking scenarios. The preview of PowerShell support in Azure Functions, provides a way to tackle cloud automation scenarios which is a common challenge to IT pros and SREs all around the globe.
The new releases and improvements do not stop there, and today we are pleased to present several advancements intended to provide a better end-to-end experience when building serverless applications. Keep reading below to learn more about the following:
A new way to host Azure Functions in Kubernetes environments Stateful entities with Durable Functions (in preview) Less cluttered .NET applications with dependency injection Streamlined deployment with Azure DevOps Improved integration with Azure API Management (in preview) Bring Azure Functions to Kubernetes with KEDA
There’s no better way to leverage the serverless advantages than using a fully managed service in the cloud like Azure Functions. But some applications might need to run on disconnected environments,
With the exponential rise of data, we are undergoing a technology transformation, as organizations realize the need for insights driven decisions. Artificial intelligence (AI) and machine learning (ML) technologies can help harness this data to drive real business outcomes across industries. Azure AI and Azure Machine Learning service are leading customers to the world of ubiquitous insights and enabling intelligent applications such as product recommendations in retail, load forecasting in energy production, image processing in healthcare to predictive maintenance in manufacturing and many more.
Microsoft Build 2019 represents a major milestone in the growth and expansion of Azure Machine Learning with new announcements powering the entire machine learning lifecycle.
Boost productivity for developers and data scientists across skill levels with integrated zero-code and code-first authoring experiences as well as automated machine learning advancements for building high-quality models easily. Enterprise-grade capabilities to deploy, manage, and monitor models with MLOps (DevOps for machine learning). Hardware accelerated models for unparalleled scale and cost performance and model interpretability for transparency in model predictions. Open-source capabilities that provide choice and flexibility to customers with MLflow implementation, ONNX runtime support for TensorRT and Intel nGraph, and the new Azure Open Datasets service that delivers curated open
Docker recently announced Docker Hub had a brief security exposure that enabled unauthorized access to a Docker Hub database, exposing 190k Hub accounts and their associated GitHub tokens for automated builds. While initial information led people to believe the hashes of the accounts could lead to image:tags being updated with vulnerabilities, including official and microsoft/ org images, this was not the case. Microsoft has confirmed that the official Microsoft images hosted in Docker Hub have not been compromised.
Consuming Microsoft images from the Microsoft Container Registry (MCR)
As a cloud and software company, Microsoft has been transitioning official Microsoft images from being served from Docker Hub, to being served directly by Microsoft as of May of 2018. To avoid breaking existing customers, image:tags previously available on Docker Hub continue to be made available. However, newer Microsoft images and tags are available directly from the Microsoft Container Registry (MCR) at mcr.microsoft.com. Search and discoverability of the images are available through Docker Hub, however docker pull, run and build statements should reference mcr.microsoft.com. For example, pulling the windows-servercore image:
docker pull mcr.microsoft.com/windows/servercore
Official microsoft/ org images follow the same format.
Microsoft recommends pulling Microsoft official images from mcr.microsoft.com.
Recommended best practices
Leveraging community and
DevOps is the union of people, processes, and products to enable the continuous delivery of value to end users. DevOps for machine learning is about bringing the lifecycle management of DevOps to Machine Learning. Utilizing Machine Learning, DevOps can easily manage, monitor, and version models while simplifying workflows and the collaboration process.
Effectively managing the Machine Learning lifecycle is critical for DevOps’ success. And the first piece to machine learning lifecycle management is building your machine learning pipeline(s).
What is a Machine Learning Pipeline?
DevOps for Machine Learning includes data preparation, experimentation, model training, model management, deployment, and monitoring while also enhancing governance, repeatability, and collaboration throughout the model development process. Pipelines allow for the modularization of phases into discrete steps and provide a mechanism for automating, sharing, and reproducing models and ML assets. They create and manage workflows that stitch together machine learning phases. Essentially, pipelines allow you to optimize your workflow with simplicity, speed, portability, and reusability.
There are four steps involved in deploying machine learning that data scientists, engineers and IT experts collaborate on:
Data Ingestion and Preparation Model Training and Retraining Model Evaluation Deployment
Together, these steps make up the Machine Learning pipeline. Below is
Azure Databricks provides a fast, easy, and collaborative Apache® Spark™-based analytics platform to accelerate and simplify the process of building big data and AI solutions that drive the business forward, all backed by industry-leading SLAs.
With Azure Databricks, you can set up your Spark environment in minutes and autoscale quickly and easily. You can also apply your existing skills and collaborate on shared projects in an interactive workspace with support for Python, Scala, R, and SQL, as well as data science frameworks and libraries like TensorFlow and PyTorch.
We’re continuously listening to customers and answering questions as we evolve this service. This blog outlines important service announcements that we are proud to deliver for our customers.
Azure Databricks Delta available in Standard and Premium SKUs
Azure Databricks Delta brings new levels of reliability and performance for production workloads based on a number of improvements including transaction support, schema validation, indexing, and data versioning.
Since the preview of Delta was announced, we have received overwhelmingly positive feedback on how it has helped customers build complex pipelines for both batch and streaming data, and simplified ETL pipelines. We are excited to announce that Delta is now available in our Standard SKU offering
You’ve followed an excellent walkthrough and built a solid prototype web app. You run npm start locally and browse to http://localhost and all looks great. Now you’re ready to put your app in the cloud, utilize a managed database and managed authentication, and share a link with all your coworkers and friends. But wait a minute, it looks like you’ll first have to set up cloud pipelines and container images, then brush up on Bash or PowerShell and write a Dockerfile. Getting your app to the cloud is more work than you anticipated. Is there a faster way?
We’re happy to share that yes there is a faster way. When you need to focus on app code you can delegate build and deployment to Azure with App Service web apps. Push your git repo directly to Azure or point to one hosted in GitHub, Azure DevOps, or BitBucket and we’ll take care of building and running your code the way you expect. You may be using this already for your .NET apps; we now support Node.js and Python as well.