Azure Automation (1) 入门
《Windows Azure Platform 系列文章目录》
通过Azure Automation(自动化),开发人员可以自动完成通常要在云环境中执行的手动、长时间进行、易出错且重复性高的任务。你可以使用 Runbook 来创建、监视、管理和部署 Azure 环境中的资源。所谓的 Runbook,基本上就是指 Windows PowerShell 工作流。
Azure Automation概念上类似Windows Service,SQL Server Job。
Azure Automation可以无人值守,自动化运行。
Azure Automation有三个非常重要的概念:
1.Automation,一组业务逻辑的集合。包含多个RunBook和多个Schedule。
2.RunBook,运行业务逻辑的主题
3.Schedule,调度RunBook的计划任务。一个Schedule可以调度多个RunBook
举个例子,假设我们每天早上9点上班之前把一个订阅下所有的虚拟机开启,然后在下午6点下班以后把所有的虚拟机关闭,这样是非常节省成本的。
以前我们需要通过单独某一台Azure虚拟机,定期执行PowerShell命令,因为虚拟机按照小时收费,成本会非常高,非常不划算。
另外单独的Azure虚拟机会产生单点故障,从可靠性角度来说,也是无法保障的。
通过使用Azure Automation,可以设置自动化的工作流,定期执行负载的业务逻辑。
Azure Automation功能非常强大。微软Azure Automation团队提供了Runbook实例代码,读者可以浏览http://go.microsoft.com/fwlink/p/?linkid=393029&clcid=0x409,进行参考。
最后,笔者演示一个简单的Azure Automation Hello World,使用国内由世纪互联运维的Azure China
1.首先我们登陆管理界面,地址https://manage.windowsazure.cn
2.选择Automation,点击Create an automation account。如下图:
2.输入Automation的名字,如下图:
3.在Automation栏目,选择我们之前创建的LeiAutomation。如下图:
4.页面跳转,我们点击RUNBOOKS,然后点击IMPORT,如下图:
5.打开浏览器浏览https://gallery.technet.microsoft.com/scriptcenter/The-Hello-World-of-Windows-81b69574
下载相应的PS1脚本并通过上图导入到Azure Runbook。如下图:
6.导入成功后,我们就可以查看到该RunBook。如下图:
7.我们点击上图中的Write-HelloWorld,页面跳转,然后我们点击Author。如下图:
8.可以看到这个RunBook的业务很简单,就是输出Hello World。具体代码如下:
workflow Write-HelloWorld {
param ( # Optional parameter of type string.
# If you do not enter anything, the default value of Name
# will be World
[parameter(Mandatory=$false)]
[String]$Name = "World"
) Write-Output "Hello $Name" }
9.我们可以通过点击TEST来进行调试。如下图:
10.调试成功后,我们就可以点击PUBLISH进行发布。如下图:
11.发布成功后,我们可以在PUBLISHED里面看到发布的RUNBOOK项目,如下图:
12.我们点击PUBLISH里面的Start按钮,可以执行该RUNBOOK。如下图:
13.执行成功后,我们可以在Jobs里,查看到之前执行的Job。如下图:
14.我们点击上图的JOB CREATED,就可以查看到执行的具体情况。图略。
15.如果我们点击SCHEDULE,就可以定期,比如每小时,每天执行这个RUNBOOK。如下图:
Azure Automation (1) 入门的更多相关文章
- Azure Automation (2) 定期删除存储账号中的文件
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文是对笔者之前的文档Azure Backup (1) 将SQL ...
- Azure Automation (3) 定期将某个Azure订阅下的所有虚拟机开关机
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在笔者之前的文章中,我们介绍了使用Azure Automation ...
- Azure Automation (4) 按照Azure虚拟机的机器名,设置开关机
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China服务. 在有的时候,我们不需要将所有的虚拟机进行开关机. 本文介绍的脚 ...
- 使用Azure Automation(自动化)定时关闭和启动虚拟机
1. 概述 作为Windows Azure的用户,使用Azure的过程中,最担心的事情就是还没到月底,预设的费用就快消耗完了(下面两张账单图是我最讨厌看到的).但是仔细分析自己的费用列表,发现绝大部分 ...
- 免费电子书:微软Azure基础之Azure Automation
(此文章同时发表在本人微信公众号"dotNET每日精华文章") Azure Automation是Azure内置的一项自动化运维基础功能,微软为了让大家更快上手使用这项功能,特意推 ...
- 利用Azure Automation实现云端自动化运维(3)
Azure automation的认证方式:证书 该种方式是推荐的进行Automation认证的方式,好处在于安全性高,过期时间由自己控制,不好的地方在于大家在Windows上要生成证书比较麻烦, ...
- 利用Azure Automation实现云端自动化运维(1)
Azure Automation是Azure上的一个自动化工作流引擎,基于Powershell,来帮助用户简化,集成和自动化Azure上的运维工作,例如: 实现定时开关虚拟机,节约成本 实现定时创建删 ...
- 利用Azure Automation实现云端自动化运维(2)
Azure automation的认证: 用户名和密码 在Azure的automation中使用Powershell可以管理当前订阅的资源,也可以管理不同订阅的资源,那么问题就来了,安全性如何 ...
- 利用Azure Automation实现云端自动化运维(4)
在上述基本准备工作做完后,wo们看看如何实现利用Azure Automation实现定时自动开关机的操作,这种场景非常适合Dev/Test环境,因为Azure的虚拟机是按照分钟收费的,所以我们可以在开 ...
随机推荐
- Paxos算法细节详解(一)--通过现实世界描述算法
Paxos分析 最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bit ...
- 打开mysql时,提示 1040,Too many connections
打开mysql时,提示 1040,Too many connections,这样就无法打开数据库,看不了表里边的内容了. 出现这个问题的原因是,同时对数据库的连接数过大,mysql默认的最大连接数是1 ...
- EasyDarwin不能保存HLS列表的解决方案
官网: easydarwin.org 安装过程 http://doc.easydarwin.org/EasyDarwin/README/ 安装客户端,iVMS-4200 客户端,并运行. 在设备管理里 ...
- 再探@font-face及webIcon制作
@font-face 不能说他是什么新东西了,在 CSS2.0 规范中就有了这玩意儿,IE4.0 开始就已经出现,只是当时用的不是特别广泛,后来在 CSS2.1 草案中又被删掉.随着 web 的急速发 ...
- 关于Windows窗口框架
我们知道Windows的窗口消息处理函数是C方式, 面向过程的, 所以窗口框架的基本任务就是将它转成面向对象的方式, 确切的说如何将消息处理函数第一参数HWND转成对象指针. 关于这个问题, 其实网上 ...
- [每日电路图] 7、设计一个PCB的流程及细节·总结——给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章
前言 最近两天使用AD14软件设计了一个蓝牙防丢器电路板(PCB)图纸,中间有一些细节在本文中记录下,方便下次设计PCB时参考.也希望能给外行的同学或刚入行的同学一个宏观鸟瞰电路板设计的大致流程的文章 ...
- html5 postMessage解决跨域、跨窗口消息传递
一些麻烦事儿 平时做web开发的时候关于消息传递,除了客户端与服务器传值还有几个经常会遇到的问题 1.页面和其打开的新窗口的数据传递 2.多窗口之间消息传递 3.页面与嵌套的iframe消息传递 4. ...
- SpringMVC自定义注入controller变量
springmvc config the controller parameter injection 问题描述 在SpringMVC中默认可以注入Model,ModelAndView,@Reques ...
- Android中pullToRefresh使用
pullToRefresh的导入 首先,点击new按钮 -> import Module 然后在 New Module界面选择已经在本地的含有源代码的pullToRefresh. 打开如下图所示 ...
- 元素设置为display:none,其绑定的事件仍存在
元素设置为display:none,虽然该元素从页面中消失了,其绑定的事件仍存在. <body> <button class="button1">chang ...