Search
StarWind is a hyperconverged (HCI) vendor with focus on Enterprise ROBO, SMB & Edge

[Azure] Deploy a Service Catalog for your different teams in your company

  • June 19, 2018
  • 14 min read
Cloud and Virtualization Architect. Florent is specializing in public, hybrid, and private cloud technologies. He is a Microsoft MVP in Cloud and Datacenter Management and an MCSE in Private Cloud.
Cloud and Virtualization Architect. Florent is specializing in public, hybrid, and private cloud technologies. He is a Microsoft MVP in Cloud and Datacenter Management and an MCSE in Private Cloud.

Azure - Service Catalog for your different teams in your company

Microsoft released a new feature some month ago that allow you to create a service catalog, for your team, directly in Azure. With this feature, you can prebuild templates, control parameters, and give the possibility to your teams to deploy applications, without doing mistakes or select big VM size that are expensive.

The documentation is available here: https://docs.microsoft.com/en-us/azure/managed-applications/

The template is composed of 2 files:

  • mainTemplate.json
  • createUiDefinition.json

The first one is the ARM template that you can deploy in Azure, without UI. The second one is the user interface with parameters. In the example of today, we will deploy a new virtual machine, in a new network. Create a new file named mainTemplate.json (case sensitive) and insert the following code:

You can adapt this template with your values. Now, create a second file named createUiDefinition.json and paste the following code:

On outputs, the variable must be the same as in your template, otherwise, it will fail. When it’s done, zip your 2 files, on the root level:

wp-image-9014

wp-image-9015

We’ll now create a new resource group in Azure, that will host the storage account that will contain our template (the zip file). Execute the following PowerShell script to do that, by adapting your Subscription ID, the Resource Group name and the location. Adapt the path where the file is located and the name of the zip file:

Azure - Service Catalog - AppContainer

We will now create the managed application that will be available for your team. You can assign permissions to a group, and choose which RBAC role you want to give, Contributor in my case. Give a name to your application. This application will be shown in your resource group. You can change the display name for your teams, and the description:

If you’ve the following error when trying to deploy the managed application:

wp-image-9017

It’s because you don’t register the Microsoft.Solutions provider. Go to your subscription in Resource Providers, and register Microsoft.Solutions:

wp-image-9018

wp-image-9019

The application has been deployed successfully:

wp-image-9020

You’ve now the application, with your storage account:

wp-image-9021

Go to the + button in Azure, with an account that has the right to deploy (in the group that you provided earlier) and search for Service Catalog. Choose Service Catalog Managed Application and click on Create. You’ll be able to see the application that you deployed (the following steps can be done in PowerShell). Select on it and click on Create :

wp-image-9022

Choose the resource group where you want to deploy this, and the location. On the next screen, you will have your first step (that is in the createUIdefinition) who is the asking of credentials:

wp-image-9023

In the step after, give a name to your VM, choose a size (that we limit to 3 in our template) and choose a public ip or create a new one. Provide a unique DNS name too:

wp-image-9024

wp-image-9025

Validation passed, you can deploy your VM 😊

wp-image-9026

The deployment started:

wp-image-9027

And, after 5 minutes, the deployment finished correctly:

wp-image-9028

If you look resources in the RG that has been created, you see the VNet, the VM, etc:

wp-image-9029

And in the parent RG that you chose, you’ll see the application:

wp-image-9030

If you click on it, you’ll be redirected to your RG with the name of the parent RG and some random characters.

 

You can now connect to the VM, with the DNS that you provided before:

wp-image-9031

This new feature is very interesting to provide the possibility to deploy web app, vm, etc, by limiting the sizing and so, the cost 😊

Hey! Found Florent’s insights useful? Looking for a cost-effective, high-performance, and easy-to-use hyperconverged platform?
Taras Shved
Taras Shved StarWind HCI Appliance Product Manager
Look no further! StarWind HCI Appliance (HCA) is a plug-and-play solution that combines compute, storage, networking, and virtualization software into a single easy-to-use hyperconverged platform. It's designed to significantly trim your IT costs and save valuable time. Interested in learning more? Book your StarWind HCA demo now to see it in action!