Cloning of Azure virtual machines made easy – How to clone an Azure VM using Azure Functions and Powershell
Today, Robert Horrion (@RobertHorrion) and me finished our newest GitHub project, which makes it easy to clone Azure virtual machines on demand using a web portal.
The initial challenge was: How could we allow an interested user (client) to “order” a new virtual machine that contains the demo-installation of a software product?
We solved it using an Azure Web-App for ordering the vm and an Azure Function that executes a Powershell script to clone the vm and send out a confirmation mail to the customer with the domain name of his new machine. The Basic Application flow Looks like this:
The scripts can easily be adapted to your personal needs like sending out notifications, or if you need additional data disks to be cloned or not.
Measuring wind speed with the Eltako windsensor and Windows 10 IoT Core
Last summer we installed new electric sunshades on our house. A few weeks later in the autumn we discovered they are quite wind sensitive and need to be protected. We could not let them down when leaving the house and also at night we had to be careful or stand up and raise them in all rooms as soon there was wind or storm.
This was the point when I decided to install a windsensor to control the sunshades. So the first thing was to find something that works well with our existing house automation system “Homematic”, which was not easy and every solution that I found was either expensive and/or not working well together with Homematic.
I decided to build my own sensor logic using a cheap windsensor from Eltako and a Raspberry Pi 2 running Windows 10 IoT Core.
Read the full project description on hackster.io HERE.
Links und Folien zu meinem Vortrag vom Azure Meetup Berlin am 24.01.2017
Links
Cognitive Services APIs und Online Demos
https://www.microsoft.com/cognitive-services/en-us/
Video Breakdown
https://www.videobreakdown.com/
Intelligent Kiosk App Download
https://www.microsoft.com/de-de/store/p/intelligent-kiosk/9nblggh5qd84
Intelligent Kiosk Sourcecodes
https://github.com/Microsoft/Cognitive-Samples-IntelligentKiosk
Speech To Text Beispiel
https://github.com/kreuzhofer/cognitive_services_hackathon
Video-Analyse (Speech To Text, Face Recognition, Azure Media Services)
https://github.com/uneidel/hackathon
Slides
Links zu meinem Azure CLI Vortrag auf dem Munich Azure Meetup vom 18.01.2017
Azure Resource Manager Überblick
https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-overview
Deployment von virtuellen Maschinen mit Azure CLI
https://docs.microsoft.com/en-us/azure/virtual-machines/virtual-machines-linux-cli-deploy-templates
Deployment einer Single VM WordPress Instanz mit Azure CLI
https://azure.microsoft.com/en-us/resources/templates/wordpress-single-vm-ubuntu/
Azure Quickstart Templates für ARM Deployments
https://github.com/Azure/azure-quickstart-templates
Azure Resource Explorer
Windowspro.de Artikel – Azure Storage: Speicherkonto, Container und BLOBs für virtuelle Maschinen
Marcel Küppers hat in Anlehnung an meinen Vortrag auf dem Technical Summit 2016 einen sehr informativen Artikel zu Azure Storage auf WindowsPro.de veröffentlicht:
In seinem Beitrag geht Marcel auf die verschiedenen Aspekte von Blob-Storage wie z.B. Replikation und Verfügbarkeit sowie Preisgestaltung ein.
Links zu meinem Microsoft Azure Storage Vortrag auf dem Technical Summit 2016
Link zum Vortrag
https://www.microsoft.com/germany/technical-summit/speaker-2016.aspx#daniel-kreuzhofer
Folien
http://dkreuzh.blob.core.windows.net/msts2016/MSTS_2016_Azure_Storage.pptx
Einführung in Azure Storage
https://docs.microsoft.com/en-in/azure/storage/storage-introduction
Infos zu Azure Storage Redundanz
https://docs.microsoft.com/de-de/azure/storage/storage-redundancy
Azure Storage Limits
https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#storage-limits
Kurzlink zu Azure Limits
Storage Explorer
Sourcecode Azure GRS Replication Lag Messtool
https://github.com/kreuzhofer/MeasureAzureGRSReplication
Sourcecode Azure Large File Uploader
https://github.com/kreuzhofer/AzureLargeFileUploader
Erste Schritte mit Azure Blob Storage und .NET
https://docs.microsoft.com/de-de/azure/storage/storage-dotnet-how-to-use-blobs
DrinkOBand update – DrinkOBand is open source
Since a few weeks, I was thinking about this step. Today it’s done – DrinkOBand is open source on github: https://github.com/kreuzhofer/DrinkOBand.
Since the development of the Microsoft Band was stopped and also the SDK was pulled, I have also stopped developing for the Band. The open source version goes even a bit further than the current version in the Windows Store. I have completely removed the Band support and all code that had to do with it. I also cleaned up the solution, so it should be more convenient to understand and re-use.
The store version with Band support will stay unchanged for the near future but I will update it soon to stop selling the Pro version. After stopping the Pro version sales, the cloud service will stay available for the current Pro users for the next 12 months. An app-internal communication will be sent out soon to all Pro users to prepare them for the next steps.
DPK 2016 – Weiterführende Links zu meinem Vortrag: Azure IoT Hacks: Eine kurze Reise von Raspberry Pi über IoT Hub nach Power-BI
Auf dieser Seite habe ich für Sie die weiterführenden Links zu meinem Vortrag gesammelt.
Hier bekommen Sie einen Überblick über Windows 10 IoT, weiterführende Informationen zu unterstützen Geräten und einen Einstieg in die Entwicklung mit Windows 10 IoT
Die beiden folgenden Links führen zu zwei Seiten, auf denen Sie sich das Beispiel aus meinem Vortrag und weitere interessante Projekte mit Windows 10 IoT selbst zusammenbauen können.
Windows 10 Connected Nightlight
Microsoft Azure Germany launch – Azure Resource Manager deployments with Azure Cli in Microsoft Azure Germany
Let’s get started with Azure Resource Manager (ARM) deployments in Microsoft Azure Germany
Today, Microsoft Azure Germany was announced officially, so it is time for some technical details how to deploy your workloads using Azure Resource Manager (ARM). Generally your existing ARM templates will work in the German Cloud as long as the services you need are available yet and the ARM resource provider does exist. I will show you that with little to no changes to your existing ARM templates you will be able to use the German Azure locations to deploy your workloads.
For a general overview, which Azure services are available in Microsoft Azure Germany, please refer to this link: https://azure.microsoft.com/en-us/regions/services/.
What you will need to work with Azure Resource Manager in Microsoft Azure Germany:
- Your Azure Active Directory admin credentials for Microsoft Azure Germany
- Azure Cli, the platform independent management interface for Azure, get it here: https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-install/
With the code-samples in this article I will show how to deploy the following types of Azure resources using a customized ARM json template:
- Resource Group
- Vnet
- Storage Account
- Network Adapter
- Virtual Machine
- Public IP
Logging in into Microsoft Azure Germany
The first step to start submitting commands to the Azure environment is to log in. To log in into Microsoft Azure Germany you will use your admin credentials provided with your test-subscription at the command line.
azure login -e AzureGermanCloud -u username@domain.onmicrosoft.de -p mysecretpassword
Listing your subscriptions
To get an overview what subscriptions you currently have in Azure Germany, use this command
azure account list
This command will show you a result similar to this:
Enabling ARM mode
Enabling ARM config mode is important because all following steps will need the config mode to be using ARM (Azure Resource Manager). So better we enable it beforehand using
azure config mode arm
Creating your first resource group
Every resource in Azure needs to go into a resource group, which we need to create prior to creating anything else. Resource groups are managed by using the cli command “azure resource”. To get an overview of what can be done with resource groups, just type
azure group
in your command line:
We will utilize “group create” to create a new resource group with the name “rg1” by launching this command
azure group create -v -n rg1 -l germanycentral
the -n parameter sets the name for our new resource group and with the -l paramter we tell azure to deploy it to a specific location, in this sample the “germanycentral” location, which means to Frankfurt. If you need to deploy to Magdeburg, this would be equivalent to the “germanynortheast” location.
Deploying ARM templates into a resource group
As listed above the “azure group” cli command also gives us the ability to deploy ARM json templates into an existing resource group. In our case, we would like to deploy a virtual machine into the new resource group. I am using one of the quickstart samples from github to deploy a sample virtual machine to the resource group. To test this out you will at least have to download the sample parameters file from github and set your username, password and public dns name. Then pass the name of the parameter file to the command as below:
azure group deployment create -g rg1 -n dep1 --template-uri https://raw.githubusercontent.com/kreuzhofer/azure-quickstart-templates/master/101-vm-simple-linux/azuredeploy.json -e parameters.txt
This means we are deploying into resource group “rg1” using a deployment name “dep1” the template at the given uri with the local parameters file parameters.txt. The parameters.txt can either be a local file or a json string with the contents of this file.
While the command is runing, it will show progress of the deployment process. After a few minutes, it should end with the final state of the deployment:
As you can see from the results of this command, the virtual machine should be up and running now. We can easily check by using the cli command
azure vm list
or in the azure portal looking into the resource group rg1
and clicking on the virtual machine will show us that the vm is up and running and which public IP it has to access it via ssh.
This quickly summarizes all steps needed to deploy ARM templates in the Microsoft Azure Germany environments. If you have any questions, please don’t hesitate to comment on this or contact me via your preferred method.
Links
Further information about how to login into Microsoft Azure Germany with certificates and a service principal can be found in this blogpost of Christian Geuer Pollmann: http://blog.geuer-pollmann.de/pages/AzureLogin/
If you need a free test subscription and more information about Microsoft Azure Germany, you may apply here: https://azure.microsoft.com/de-de/overview/clouds/germany/