When do we use Chef or Azure SDK to create VM and deploy in automation

+1 vote

I can create the azure VM by following ways:

  1.  From C#
  2. By using Chef

What is the difference and what flexibility can be achieved using the process defined, as we can manage VM from the Azure portal such as Chef Server.

I want to achieve complete automation in creating the azure VM and deploy the app package on it after installing the IIS.

Can anyone help me with this.


May 29, 2018 in Other DevOps Questions by Atul
• 10,240 points

2 answers to this question.

0 votes

You can create VM in azure through many ways  6 or so different SDK's such as

  • Powershell
  • Cli
  • Cli2
  • Rest Request
  • Arm Template

Chef uses one of the above ways internally to create a vm in Azure. How much you know about one of the method is what matters.

You can automate the deployment of an application to an Azure VM by using different means like:

  • Script extension
  • DSC
  • Ansible
  • Chef
  • Puppet

I hope that the above information will be helpful to you.

answered May 29, 2018 by shubham
• 7,340 points
0 votes

The solution to the automated deployment in Azure is use ElasticBox.

I will skip the details of all the configuration options for Azure supported by ElasticBox, as they are detailed in the documentation section: http://elasticbox.com/documentation/deploying-and-managing-instances/using-azure/.

You only need to create a box (abstraction unit that ElasticBox uses to define the installation and configuration of the deployment of a service or application in any cloud) that takes care of the steps you need to be automated. So finally you will deploy the vm with near no manual intervention, just one click or a command with some parameters.

A box includes the variables necessary for your deployment and your scripts (In this case probably PowerShell, but they could be bash, python, perl, java, etc.)

When you deploy the box you create to deploy your application, ElasticBox will:

  • Create a Cloud Service or VM. (ElasticBox takes care of provision the vm in your Azure provider, or any of your preferred cloud provider).

  • Install a specific build of the product (as a standalone exe or Windows service, not IIS) -> This should be your install event script.

  • Tweak the configuration files(s) -> This should be part of your configure event script.

  • Set up user account(s) -> This should be part of your configure event script.

  • Run the exe/service -> This should be part of your start event script.

ElasticBox has a command line tool that enables to do VM deployments of your boxes and also you can manage your deployed vms with it: https://pypi.python.org/pypi/ebcli

It also support automatic termination of the vm after a custom time value.

answered Aug 21, 2018 by Priyaj
• 58,090 points

Related Questions In Other DevOps Questions

+15 votes
2 answers

Git management technique when there are multiple customers and need multiple customization?

Consider this - In 'extended' Git-Flow, (Git-Multi-Flow, ...READ MORE

answered Mar 27, 2018 in DevOps & Agile by DragonLord999
• 8,450 points
+2 votes
1 answer
0 votes
1 answer

Use vagrant to update $PATH of guest vm

Just try the below script: mvm.vm.provision :shell, :inline ...READ MORE

answered May 1, 2018 in Other DevOps Questions by shubham
• 7,340 points
0 votes
1 answer

salt error : “TypeError: coercing to Unicode: need string or buffer, bool found”

You can check the discussion regarding same ...READ MORE

answered Jun 17, 2018 in Other DevOps Questions by shubham
• 7,340 points
webinar_success Thank you for registering Join Edureka Meetup community for 100+ Free Webinars each month JOIN MEETUP GROUP