接下来这两篇准备着重介绍下Azure中比较另类的一些服务,我们都知道现在顶级的一些云厂商,提供的服务早就不仅仅限于底层的计算资源,如服务器,存储,网络等,就算是一些serverless,K8S等东西都属于标配了,几年前可能还比较新鲜,现在哪家没有的话基本就可以被排除出主流的范围了,而今天要讲的这个服务,属于小众中的小众,可能很少有人会听说过
这次要讲的其实是一个Azure中提供的关于lab的服务,所谓lab指的就是动手实验的意思,经常参加培训的可能都知道,有些培训会提供动手实验的环境,或者参加教学的时候,为了体验更好,课程也会提供实验环境,这些实验环境的准备、配置和回收其实也是个挺麻烦的工作,尤其是如果还涉及到需要给学院配置好权限,避免相互之间影响,或者限制学员可以进行的操作,其实都是要费些心思的
而Azure其实是有提供这方面的一些服务的,当然,现在其实仅限于Global Azure
Azure中和实验相关的服务其实有两个
Azure Dev Test Lab
Azure Lab Service
两者之间其实侧重点、计费方式、管理方式等都各有不同
Azure 开发测试实验室 - 通过此服务,可以快速为团队设置环境(例如:开发环境或云中的测试环境)。 实验室所有者创建实验室、预配 Windows 或 Linux 虚拟机、安装必要的软件和工具,并将其提供给实验室用户使用。 实验室用户连接到实验室中的虚拟机 (VM),并将这些虚拟机用于日常工作和短期项目。 用户开始利用实验室中的资源后,实验室管理员可分析多个实验室的成本和使用情况,并设置总体策略以优化组织或团队成本。
Azure 实验室服务 - 使用此服务可创建托管实验室类型。 目前,教室实验室是 Azure 实验室服务支持的唯一托管实验室类型。 从运行 VM 到处理错误及扩展基础结构,该服务本身可以处理托管实验室类型的所有基础结构管理。 IT 管理员在 Azure 实验室服务中创建实验室帐户后,讲师可以快速为其班级建立实验室,指定班级中需要练习的 VM 的数量和类型,并将用户添加到班级中。 用户注册到班级后,用户就可以访问 VM 做班级练习。
以下是这两者之间的一些区别
功能 | 托管的实验室类型 | 开发测试实验室 |
实验室中 Azure 基础结构的管理。 | 由服务自动管理 | 用户自行管理 |
针对基础结构问题的内置复原能力 | 由服务自动处理 | 用户自行管理 |
订阅管理 | 服务在支持服务的 Microsoft 订阅中处理资源分配问题。 缩放由服务自动处理。 | 在自己的 Azure 订阅中自行管理。 订阅不自动扩展。 |
实验室中的 Azure 资源管理器部署 | 不可用 | 可用 |
从这点可以看出,Dev Test Lab的特点是自主性强,用户可以自行管理底层的资源,对用户来说创建的环境也是看得见摸得着的,使用场景很多,适用于教学实验,内部测试等多种方式
而Lab Service属于是一个SaaS化的应用,使用场景完全倾向于对外教学,创建的底层资源对于用户来说也不可见,使用起来更简单,但是相对的可管理性就小一点
后边也可以用实际环境来感受下
这次先来看看Dev Test Lab,首先是费用
费用
DevTest Lab这个产品本身不收费,只是在实验过程中创建的虚拟机,存储等计算资源按正常标准计费
部署
部署Dev Test Lab过程其实很简单,举个例子来说,如果现在要给一个课程设置环境,需求就是给5个学生每人一个账号,让他们在课程中可以在dev test lab中创建一个虚拟机用于教学,这个虚拟机需要预配很多组件,而在这个过程中,我们需要限制学生创建虚拟机的数量,可选择的镜像等等
听起来是不是很麻烦,如果用传统的Azure来做的话,那有的玩了,有些需求基本非常难实现,但是Dev Test Lab里其实都是现成做好的功能
首先需要创建一个Devtest Lab账号,相当于托管实验环境的容器
可以配置自动开关机的时间,这里只能设置自动关机,创建完成后其实连自动开机也是可以设置的
如之前所说,用户对Devtest Lab的可管理性很强,所以虚拟网络等都是可以自行选择的,还可以设置isolate lab resource,其实就是把底层的storage等通过service endpoint保护起来
创建完成后其实可以看到,底层就是这么几个资源,storage,虚拟网络,还有key vault,干什么用就不说了,只要知道这几个服务的用途基本就能猜到
创建完成之后,先不急着用,可以先来看一看我们可以在devtest lab里设置的管理策略
其实一些常见的策略都可以找到,比如每个用户可以创建的虚拟机数量
自动开关机时间
允许的image
还可以通过formula,预配好一些固定的模板,在部署过程中指定好一些特定的参数和需要安装的软件等,和自定义的image有点类似,但也有些不同,详细可以看下官网文档
这里简单看下,formula创建过程中可以把base的image,用户名密码
size等等都结合在一起,完全可以给学员创建出来一个固定的模板给他们用,如果VM里需要内置东西的话,还可以结合custom image一起使用,方方面面都照顾到
通过这些其实可以看出来,dev test lab是个非常偏重教学、测试等方面的服务,一些特定的用户需求其实都已经在这个服务里满足了,接下来就可以尝试用起来了!