Thursday, March 14, 2024

 

This is a continuation of a series of articles on IaC shortcomings and resolutions. The resource type discussed was azure machine learning workspace. An Azure Machine Learning Workspace is a cloud-based environment provided by Microsoft Azure that enables data scientists and machine learning engineers to build, train, deploy, and manage machine learning models. It provides a collaborative space where teams can work together on machine learning projects, and it offers a range of tools and services to support the end-to-end machine learning lifecycle.

Within an Azure Machine Learning Workspace, you can access and manage data, create and run experiments, track and version models, and deploy models as web services or containers. It also integrates with other Azure services, such as Azure Databricks, Azure Notebooks, and Azure DevOps, to provide a comprehensive ecosystem for machine learning development and deployment.

The Azure Machine Learning Workspace simplifies many common tasks in the machine learning workflow, such as data preparation, feature engineering, model training, and model deployment. It also provides scalability and flexibility, allowing you to leverage the power of the cloud to handle large datasets and complex machine learning scenarios.

Many workspaces are deployed with public IP networking enabled because it grants connectivity to all other resources directly from the code in the notebook. On the other hand, enterprises like to lock down access to restricted resources and targets by allowing only select source-destination traffic. When the IP networking is enabled on the workspace, all the compute instances created in the workspace get public IP connectivity by virtue of the workspace’s public IP address even if these instances do not get a public IP address themselves. The notebook can access dependencies of the workspace such as storage account, key vault, container registry and application insights over the public network. When a virtual network is provided for the instances to be associated with a subnet, then that subnet must be allowed on the dependencies networking. Additionally, private or service endpoints must be added for these dependencies. The IaC for deployment of these dependencies can order them before the main workspace but role-based access control must be specifically added afterwards.

One of the least anticipated problems is when the workspace is converted from public to private networking. In this case, there are three error types encountered for the nominal change in the IaC to turn off the public networking enabled boolean. These are 1. additional policy compliance, 2. Allowlisting of the workspace’s identity on control and data plane for the dependencies and 3. Enabling a designated image build compute on the workspace. While the original deployment IaC does not call these out, these changes must also be made in the code before taking the workspace private. Previous article: IaCResolutionsPart91.docx

 

No comments:

Post a Comment