Azure Stack Hub Marketplace is a critical component of Microsoft’s Azure Stack Hub, enabling administrators to offer a gallery of resources and applications ready for deployment. This article will walk you through creating a custom Azure Stack Hub Marketplace item, a skill necessary for the AZ-600 Configuring and Operating a Hybrid Cloud with Microsoft Azure Stack Hub exam.
Understanding Azure Stack Hub Marketplace
Before we dive into creating custom items, it’s essential to understand what the Azure Stack Hub Marketplace is. It is a service on Azure Stack Hub that provides pre-packaged applications and services ready for consumers’ deployment. It includes:
- Azure infrastructure services like Virtual Machines, Networking, Storage, etc.
- Third-party applications and services.
Creating a Custom Marketplace Item
To create a custom Azure Stack Hub Marketplace item, you need to follow these steps:
Step 1: Create a Template
The first step to creating a custom item is to define your application using an Azure Resource Manager (ARM) template. Custom Marketplace items in Azure Stack Hub are deployed using ARM Templates.
{
“$schema”: “https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#”,
“contentVersion”: “1.0.0.0”,
“parameters”: {
“location”: {
“type”: “string”,
“defaultValue”: “[resourceGroup().location]”,
“metadata”: {
“description”: “Location for all resources.”
}
}
},
“resources”: [],
“outputs”: {}
}
This is the most basic template which describes an empty deployment. You should add your resources – like virtual machines, storage accounts, networks – in the resources array.
Step 2: Create a UI Definition
UI definitions provide the user interface experience for your custom marketplace item. It defines the input parameters and user interactions necessary to deploy your item.
A typical UI definition is as follows:
{
“$schema”: “https://schema.management.azure.com/schemas/0.1.2-preview/CreateUIDefinition.MultiVm.json#”,
“handler”: “Microsoft.Azure.CreateUIDef”,
“version”: “0.1.2-preview”,
“parameters”: {
“basics”: [],
“steps”: [],
“outputs”: {
}
}
}
Step 3: Packaging Marketplace Item
You package both the ARM Template and JSON definition in a .zip file and publish it to the Azure Stack Hub Marketplace.
Step 4: Deploying Marketplace Item
The last step is to import this package into the Azure Stack Hub marketplace:
- Connect to your Azure Stack Hub instance.
- In the left-hand pane, select Marketplace Management.
- Click on ‘+ Add from Local’.
The final step is to launch a deployment from the Azure Stack Hub Marketplace to verify the deployment.
Best Practices
When creating custom Azure Stack Hub Marketplace items, consider the following recommendations:
- Make Item Idempotent: Ensure the ARM template can be deployed multiple times with the same parameters without changing the existing environment unless you want it to.
- Handle Failures Gracefully: Make sure to structure the template and scripts to clean up resources if a deployment is unsuccessful.
- Limit Input Parameters: The more parameters required, the harder it is for users to deploy your item.
Creating a custom Azure Stack Hub Marketplace item is a crucial skill for Azure Stack Hub management. By following the aforementioned steps and best practices, you can better equip yourself for the AZ-600 Configuring and Operating a Hybrid Cloud with Microsoft Azure Stack Hub exam.
Practice Test
True/False: It is impossible to create a custom Azure Stack Hub Marketplace item.
- True
- False
Answer: False
Explanation: Custom Azure Stack Hub Marketplace items can be created by administrators to provide resources that users can then deploy from the Azure Stack Hub user portal.
What is the first step of creating a custom Azure Stack Hub Marketplace item?
- a) Select a plan
- b) Create a resource manager template
- c) Determine the required resources
- d) Update manifest.json
Answer: b) Create a resource manager template
Explanation: The first step of creating a custom Azure Stack Hub Marketplace item is creating a Resource Manager template that defines the infrastructure for the application.
Does the Azure Stack Hub Marketplace support multiple versions of a single item?
- a) Yes
- b) No
Answer: a) Yes
Explanation: You can create multiple versions of a single Azure Stack Hub Marketplace item. This allows you to gradually update your application while maintaining backward compatibility.
True/False: The Azure Stack Hub operator can remove any version of a marketplace item.
- True
- False
Answer: True
Explanation: Azure Stack Hub provides operators with the ability to delete any version of a marketplace item except the current one.
What is the correct order for creating an Azure Stack Hub Marketplace item?
- a) Create resource manager template, determine required resources, update manifest.json, create icon, add to marketplace
- b) Determine required resources, create resource manager template, update manifest.json, add to marketplace, create icon
- c) Create resource manager template, update manifest.json, determine required resources, create icon, add to marketplace
- d) Update manifest.json, create resource manager template, create icon, determine required resources, add to marketplace
Answer: a) Create resource manager template, Determine required resources, update manifest.json, create icon, add to marketplace
Explanation: The correct order to create an Azure Stack Hub Marketplace item is to first create a resource manager template, then determine the required resources, update the manifest.json, create an icon, and finally add the item to the marketplace.
True/False: The manifest.json file is used in the Azure Stack Hub Marketplace to define metadata about the marketplace item such as version and required resources.
- True
- False
Answer: True
Explanation: The manifest.json file is used to define metadata about the custom marketplace item like its publisher, version, tags, required resources etc.
Which of the following is not a type of resources that can be deployed from Azure Stack Hub Marketplace?
- a) Virtual machines
- b) Storage accounts
- c) Azure Functions
- d) Databases
Answer: c) Azure Functions
Explanation: As of now, Azure Functions are not directly deployable as a resource from Azure Stack Hub Marketplace.
True/False: Azure Stack Hub operators cannot delete marketplace items.
- True
- False
Answer: False
Explanation: Azure Stack Hub operators can have the authority to delete a marketplace item.
A custom icon can be added to the Azure Stack Hub Marketplace item. What is the recommended size for the icon?
- a) 50×50 pixels
- b) 40×40 pixels
- c) 100×100 pixels
- d) 80×80 pixels
Answer: c) 100×100 pixels
Explanation: The documentation for Azure Stack Hub suggests the icon for marketplace item should be square-shaped and roughly 100×100 pixels in size.
Which Azure Stack Hub role is required to publish a custom marketplace item?
- a) Contributor
- b) Owner
- c) User Access Administrator
- d) Reader
Answer: b) Owner
Explanation: To publish a custom marketplace item, you must be an owner or have equivalent permissions.
Interview Questions
What is Azure Stack Hub Marketplace?
Azure Stack Hub Marketplace is a curated platform that contains image and solution templates provided by Microsoft and third-party vendors. It allows operators to download items locally for tenant use, which then tenants can use to create VMs and other resources.
How can you create a custom image for Azure Stack Hub Marketplace?
You can create a custom image for Azure Stack Hub Marketplace by creating a virtual machine, generalizing it with Sysprep (in case of Windows) or with waagent (in case of Linux), capturing the image of the generalized VM, and then publishing or syndicating the image to the marketplace.
What roles do you need to have to create a custom Azure Stack Hub Marketplace item?
To create a custom Azure Stack Hub Marketplace item, you need to have either the Owner or Contributor role at the subscription scope, and the Cloud Operator role to syndicate items to the Marketplace.
What file format should be used when creating a custom Azure Stack Hub Marketplace image?
When creating a custom Azure Stack Hub Marketplace image, the VHD file format (Virtual Hard Disk) should be used.
What are the requirements to deploy an Azure Resource Manager template as a marketplace item?
The requirements to deploy an Azure Resource Manager template as a marketplace item are: a license file, a UI definition file, a main template, and optionally linked templates.
How can an operator refresh the list of Azure Stack Hub marketplace items?
An operator can refresh the list of Azure Stack Hub marketplace items through the Azure Stack Hub administrator portal or using Azure Stack Hub PowerShell.
Can an Azure Stack Hub marketplace item created from an Azure virtual machine image be updated?
Yes, an Azure Stack Hub marketplace item that has been created from an Azure virtual machine image can be updated, but only when there is a new version of the image available in the Azure server.
How to syndicate the Azure Marketplace items in Azure Stack Hub?
Azure Marketplace items can be syndicated in Azure Stack Hub by registering with Azure, selecting the desired item, and proceeding with the syndication.
Can you deploy a custom Azure Stack Hub Marketplace item using an Azure Resource Manager template?
Yes, a custom Azure Stack Hub Marketplace item can be deployed using an Azure Resource Manager template.
What is the purpose of using Sysprep with a Windows VM when creating a custom Azure Stack Hub Marketplace image?
Sysprep is used to generalize a specific Windows VM and remove all machine-specific information, which allows deploying the same VM multiple times without having conflict issues.
How can you remove a marketplace item from Azure Stack Hub?
A marketplace item can be removed from Azure Stack Hub via Azure Stack Hub PowerShell by using Remove-AzsGalleryItem cmdlet or directly from the Azure Stack Hub user portal.
Is it possible to create a Marketplace item while offline?
Yes, it is possible to create a Marketplace item while offline using an Azure Resource Manager template.
What is the file size limit for a Marketplace item in Azure Stack Hub?
The limit for a single Marketplace item in Azure Stack Hub is 1 Terabyte.
Can you add a third-party solution to the Azure Stack Hub Marketplace?
Yes, third-party solutions can be added to Azure Stack Hub Marketplace as long as they conform to the required Azure Stack Hub image preparation guidelines and are in the VHD format.
What happens if a syndicated Azure Stack Hub Marketplace item is updated in the Microsoft Azure server?
If a syndicated Azure Stack Hub Marketplace item is updated in the Microsoft Azure server, the operator can refresh the list of Marketplace items, and then update the existing syndicated item or download the new version.