相比on-premise的一些架构,云计算上的IaaS服务明显的优势是VM的伸缩性(scale in and scale out或者scale up and down)
在Azure里面有两种方式实现VM的伸缩, 一种是横向的,我们称之为 scale up 和scale down, 简单理解就是用同样的景象创建多个instances去实现增加计算资源;另外一种就是scale in 和scale out,这个就和我们管理Hyper-v或者vmware里面的虚拟机一样,加内存或者加CPU,然后重启生效。
今天谈谈Azure VMSS(virtual machine scale set) 的一些特点以及平常使用中需要注意的地方。
在Azure中,如果只创建一台虚拟机来跑某个服务,这样的VM是不会有SLA保证的,Azure建议用户创建至少两台在一个Availability set里面,这样SLA为99.95%.
所以通常我们在Azure上跑某个应用,我们会创建多台虚拟机来提高计算性能以及保证SLA, 但是如果应用的用户特别多,应用的变更也比较多,我们创建多台虚拟机不方便管理和应用的配置变更。所以Azure提供了VMSS。
VMSS方便部署,便于管理配置。下面简单介绍下VMSS的实现方式。
首先我们要准备好需要用到的镜像(image), 可以是全新的操作系统,也可以是安装好软件的镜像(但是需要prepare).这边先不介绍怎么准备镜像了,我们先用原始镜像。
创建VMSS会用到Azure Load Balancer, Azure storage account, Azure virtual network.我们可以用PowerShell去创建VMSS,或者使用template 去创建。
Powershell 如下:
创建一个资源组:
New-AzureRmResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"
创建一个load balancer:
# Create a virtual network subnet
$subnet = New-AzureRmVirtualNetworkSubnetConfig `
-Name "mySubnet" `
-AddressPrefix 10.0.0.0/24
# Create a virtual network
$vnet = New-AzureRmVirtualNetwork `
-ResourceGroupName "myResourceGroup" `
-Name "myVnet" `
-Location "EastUS" `
-A