Posts tagged ‘Microsoft’
SWAP partitions in Azure are quite interesting thing – SWAP space can be created on the local resource disk with the Linux Agent by enable swap in /etc/waagent.conf. It will automatically use the resource disk (which comes with every VM) to create the swap ( i.e. there’s no need to create a disk for it and also it means that please do not use swap on OS or data disk ). Good links which surely may help here – it’s not a rocket science, just changing Azure Linux Agent configuration file.
There’s a recommendation regarding where should be SWAP placed – we highly recommend to use resource disk for that ( i.e. /mnt/resources ) and not using system drive for that purpose. There’s several reason why it should be like that and all of them are about performance ( so yes, technically you can do it, but consequences of that configuration will be bad and non-so-predictable performance ):
- OS drive is a storage account backed entity and it saved during restarting/moving VMs. So it’s not good idea to slow down that account by additional workloads.
- OS drive is optimized almost for fast boot and other additional workloads will make performance of that resource not so good ( or very bad even ).
- OS drive is from technical side is a remote storage, so latency might be higher compared to local resources.
- Resource disk is located locally and not survived during host changed, but it’s much faster and this is a place designed especially for swap-like workloads.
Also we support a way inject a script or other metadata into a Microsoft Azure virtual machine at provision time – it’s custom data and cloud-init :
Examples of configuration :
Posted by Alexey Bokov on August 28, 2015 at 8:13 pm under azure.
Tags: azure, cloud-init, custom data, Microsoft, swap, ubuntu, waagent
Comment on this post.
As you know we recently add DNS services into preview mode and you can subscribe to this service using Request-AzureProvideFeature like that
Request-AzureProvideFeature -ProviderNamespace Microsoft.Network -FeatureName azurednspreview
So good question here is about how get list of all possible available options for FeatureName ?
Continue reading ‘List of all available preview services in Azure’ »
Posted by Alexey Bokov on May 20, 2015 at 8:05 pm under azure.
Tags: administration, azure, Azure DNS, Azure SDK, DNS, Microsoft, PowerShell, work
Comment on this post.
I will describe how this schema works for single VM with running Linux/Jelastic. So first of all let check that do we have for that VM by using Get-AzureDeployment command and then let go deep that happened inside that file
Continue reading ‘All about Azure Service Configuration Schema .cscfg’ »
Posted by Alexey Bokov on May 8, 2015 at 5:42 pm under azure.
Tags: administration, azure, cscfg, Microsoft, schema, work, xml
Comment on this post.
Get-AzureVM | Where-Object {$_.InstanceSize -ne 'Basic_A0'} | Set-AzureVMSize "Basic_A0" | Update-AzureVM
Posted by Alexey Bokov on May 8, 2015 at 5:07 pm under azure.
Tags: administration, azure, Microsoft, work
Comment on this post.
Q: How to get Azure VM external IP address ( if you not use PublicIP service ) ?
A: If you’re not using ReservedIP service field PublicIP will be empty ( as soon as there’s no reserved IP ) for command Get-AzureVM. I using Swtich-AzureMode just in case to be sure that we’re in right Azure mode in powershell right now.
PS C:\> Switch-AzureMode -Name AzureServiceManagement
PS C:\> Get-AzureVM
ServiceName Name Status
———– —- ——
abokov-jelastic abokov-jelastic ReadyRole
PS C:\> Get-AzureVM -ServiceName "abokov-jelastic" | Select-object Name, DNSName, *IP*
Name : abokov-jelastic
DNSName : http://abokov-jelastic.cloudapp.net/
IpAddress : 10.0.0.4
PublicIPAddress :
PublicIPName :
PublicIPDomainNameLabel :
PublicIPFqdns : {}
OperationDescription : Get-AzureVM
You may see that this VM have DNS name, internal IP, but public IP is empty, nevertheless that there’s is an external IP address which is linked to that VM. To get external IP you may use command Get-AzureEndPoint which returns all information about all endpoints for that cloud service – in my case I have 7 open ports and to make this more readable I select only few fields from output.
PS C:\> Get-AzureVM -ServiceName "abokov-jelastic" | Get-AzureEndPoint | Select-Object Name, Port , *ip*
Name Port Vip VirtualIPName
—- —- — ————-
dns-TCP 53 23.99.218.74
dns-UDP 53 23.99.218.74
http 80 23.99.218.74
http4848 4848 23.99.218.74
https 443 23.99.218.74
https4949 4949 23.99.218.74
ssh 22 23.99.218.74
Posted by Alexey Bokov on May 7, 2015 at 11:58 am under azure.
Tags: administration, azure, cloud computing, Get-AzureVM, Microsoft
Comment on this post.
First of all you need to have Microsoft Azure PowerShell SDK installed, after this step is done you may type
Add-AzureAccount
and this will authenticate you via web browser in Azure account ( you need to have working Azure account obviously ). Alternatively you may use PublishSettings :
- Open that link to Donwload Azure Publish Settings Profile: https://manage.windowsazure.com/publishsettings , then save you credentials.
- Open Microsoft Azure Powershell and run Import-AzurePublishSettingsFile :
PS C:\> Import-AzurePublishSettingsFile C:\tools\azure\my_settings.publishsettings
Id : c09f1074-6e2e-45be-aeee-935d6642424d
Name : Windows Azure MSDN - Visual Studio Ultimate
Environment : AzureCloud
Account : 24636FAB2C68B96D43777561A3CD728092912C03
Properties : {[SupportedModes, AzureServiceManagement]}
Then you need to keep in mind that Azure PowerShell (from 0.8.0 ) contains many modules, here we will talk about three main modules ( complete list of eveything which is inside SDK is here – see Azure SDK CmdLets reference ):
- AzureProfile : operates with profiles commands like Add-AzureAccount, Get-AzureSubscription, and Switch-AzureMode. Complete list of commands in AzureProfile module is availalbe here – see Azure Profile Cmdlets. Commands from AzureProfile are always available – not like two next modules which are not designed to be used in the same PowerShell session.
- Azure ( or AzureServiceManamagement ): contains commands which operated by core ( or basic :-)) cloud functionality like virtual machines, web sites, storage accounts and so on. Complete list of commands inside this module is here – see Azure Service CmdLets. You can switch to that module using
Switch-AzureMode -Name AzureServiceManagement
- AzureResourceManager : contains commands which operates logical units of Azure. To switch into AzureResourceManager mode you may use command
Switch-AzureMode -Name AzureResourceManager
Below is a list of most important modules inside AzureResourceManager :
- Azure Key Vault : commands which helps safeguard cryptographic keys and secrets used by cloud applications and services you can encrypt keys and secrets ( authentication keys, storage account keys, data encryption keys, .PFX files, and passwords) by using Host Security Modules ( HSM ). For more details please see What is Azure Key Vault
- Azure Resource : commands related to resource group templates, Azure tags – using this techniques you may operate groups of different resources by using one template or tag. For more information about Azure Resource groups please refer to Azure Resource Manager Overview
Note: sometimes ( it happened with me as well ) default installation of Azure SDK cmdlets do not include some modules ( in my case it happened with DNS and Azure SQL Database ), then you have choice how to install them – first of all you always may use Azure powershell sources on github to get full and latest one version of cmdlets or you also may check files inside “C:\Program Files (x86)\Microsoft SDKs\Azure” folder and try to import modules from there like this ( it worked for me ):
import-module "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ResourceManager\AzureResourceManager\AzureResourceManager.psd1"
Posted by Alexey Bokov on May 6, 2015 at 9:43 pm under azure.
Tags: azure, CommandLine, Microsoft, PowerShell, SDK
Comment on this post.
Using PowerShell scripts may give you a lot of power and here’s some nice things which I found very useful for myself. For example we have Azure SDK command ‘Get-AzureLocation’ which give you a complete list of cloud resource types and their locations. For me output of that command looks a little bit complex ( adding ‘more‘ makes it a little bit better ) :

A lot of information, isn’t it ? So what I really want is just list where my VMs can be deployed. To make this list I’m going to filter this output only with “*compute*” mask and I will do it only for first column. Before I will do it I need to figure out name of first column ( if it’s printed under ‘Name’ column it not always means that objects returned by Get-AzureLocation are under exact that name ), so I will check that properties of object do we have for that output with Get-Member:
PS C:\temp> Get-AzureLocation| Get-Member
TypeName: Microsoft.Azure.Commands.Resources.Models.PSResourceProviderLocationInfo
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Locations Property System.Collections.Generic.List[string] Locations {get;set;}
LocationsString Property string LocationsString {get;set;}
Name Property string Name {get;set;}
Okay so here we have three properties : Locations, LocationsString and Name. So let’s print everything which is about my VMs ( can be filtered with ‘*compute*’ ) using Where-Object : Get-AzureLocation | Where-Object Name -like "*compute*

Okay, so now it’s much better. Just in case if that command doesn’t work try to switch into AzureResourceManager mode ( it might happen that you’re now in AzureServiceManagement mode which works in a little bit different way ) :
Switch-AzureMode -Name AzureResourceManager
We can improve that by printing only ‘LocationsString’ property by Select-Object :
Get-AzureLocation | Where-Object Name -like "*compute*" | Select-Object LocationsString

Posted by Alexey Bokov on May 6, 2015 at 5:41 pm under azure.
Tags: Azure SDK, Microsoft, PowerShell
Comment on this post.
Posted by Alexey Bokov on November 18, 2014 at 5:32 pm under azure, programming.
Tags: android, git, java, Microsoft, Visual Studio, work
Comment on this post.
For some people ( who doing Azure-related presentations and slides a lot like me 🙂 ) this may be useful – now we have 17 datacenters ( including 2 in Australia and 2 Gov datacenters in US ), so here’s updated map :

Posted by Alexey Bokov on March 27, 2014 at 6:56 pm under azure.
Tags: azure, Microsoft
Comment on this post.
Posted by Alexey Bokov on August 22, 2011 at 5:34 pm under mobile devices.
Tags: amazon, android, apple, forbes, google, htc, LG, Microsoft, samsung, sony, work
Comment on this post.
Microsoft is offering about 20,000 lines of its own device drivers to the Linux kernel that will enable Linux to run as a guest on its Hyper-V virtualization technology. Specifically, the contributed loadable kernel modules enable Linux to run in ‘enlightened mode’, giving it efficiencies equivalent to a Windows virtual machine running on Hyper-V. Also see Redmond Releases Code to Linux Kernel Community at pcworld.com
Posted by Alexey Bokov on July 22, 2009 at 11:04 am under linux.
Tags: GNU, linux, Microsoft, open source
Comment on this post.