[AWS vs Azure] 云计算里AWS和Azure的探究(4)
云计算里AWS和Azure的探究(4)
——Amazon EC2 和 Windows Azure Virtual Machine
接下来我们来看看Azure VM的创建。Azure里面虚拟机的创建跟AWS比就要简单许多了,配置的东西比较少,创建的过程也相对短一些。
创建虚拟机
首先进入Azure的Management Portal
点击下面的新建按钮,选择计算->虚拟机->从库中创建
这里创建的方式和Amazon一样,也是向导。向导的界面更显得现代化一点。第一步是选择操作系统,主要包含Windows Server 2008/2012,OpenLogic CentOS, SUSE Linux和Ubuntu,当然还有BizTalk Server 2013和SQL Server 2012。
我们这里选择Windows Server 2012。下一步是输入虚拟机的机器名,用户名在Windows下默认就是Administrator,输入机器的密码。最后是选择实例的类型,也就是超小,小,中,大和超大。我们和AWS一样选择中等。
接下去是选择机器的类型,是单独的虚拟机,还是连接到一个已经存在的虚拟机。在windows azure里面,有一个Cloud Service的概念,一个cloud service有一个公共的dns名字,你可以为每一台虚拟机创建一个新的cloud service,也可以把多个虚拟机放在同一个cloud service里面,通过负载均衡来访问。DNS名字是这个cloud service公开的名字,可以用于全局的访问,当然也必须是唯一的。存储账户可以创建新的,也可以用现存的,它是用于存放虚拟机的系统盘镜像盘的文件,也就是vhd文件的位置。存储账户的概念我们会在以后比较S3和Azure Storage Account的时候进一步描述。接下来是区域/地缘组/和虚拟网络。这里有几个概念,首先区域就是我们之前讨论过的Azure的数据中心的区域,主要现在有六个,很快在中国大陆会有第七个。地缘组Affinity Group和AWS里面的Available Zone想类似,也是保证机器在某一个相同的机房里。所不同的是AWS预先定义了所有的AZ,而Azure的AG名字是可以自己定义的,能保证在同一个机房但是不保证在什么位置。最后是虚拟网络,虚拟网络是Azure中网络配置的一个概念,能够将不同的虚拟机放在不同的子网定义中,还可以通过VPN来构造混合云。所以这里也可以定义把这台虚拟机放到哪个虚拟网络中。如果选择虚拟网络,还需要选择相应的子网,选择区域和地缘组则不需要。如下图
最后一步是创建一个新的地缘组,或者选择已有的地缘组。这里我们选择None。
最后点击完成,Azure就会自动帮你创建这台机器了。这个时候下方会出现创建的状态,等待10分钟左右,机器就会自动创建完成。
创建完成之后,选中这台机器,下面就会有各种操作的按钮,例如连接,启动,关闭,附加新磁盘,捕获镜像,删除等等。对于连接,启动,添加新磁盘等我们接下去会讨论,而捕获镜像我们会在以后的章节中说明。
机器
首先,第一个按钮就是连接,当点击connect的时候,同样会自动下载一个rdp文件远程连接服务器,所不同的是由于刚才手工设置了密码,所以不需要像amaozn一样通过一个pem文件来解密私钥。这台机器的名字是hotcanazuresample.cloudapp.net。azure并没有通过一个公共ip来设置DNS名字,而是让用户自己选了一个dns名字来访问,这个名字是不会变的,也不需要使用Elastic IP来绑定到这台服务器上。如果需要用自己的域名,可以直接用一个CName记录来链接到这个自定义的全局dns。
我们可以看到相类似的,右边也有一个公共的ip,这个公共的ip也可能会出现变化,所以千万不要把自己域名的a记录绑定到这个ip。
连接上机器以后,我们同样来看看这台机器的硬件配置:
类似的,这台机器是AMD Opteron处理器4171HE,2.1GHz, 3.5G内存。和AWS不同,在存储上,它有一个30G的系统盘,还有一个134G的临时存储的盘,这个临时存储的盘可以用于存放一些临时的数据。千万要注意,这个盘上的数据不是持久化的,所以如果需要对这个盘上的数据进行持久保存,还需要挂一个新的磁盘上去,而不是放在这个D盘上。
有趣的是,这台机器还带一个软盘和一个光驱,不过这个软件和光驱怎么用,我就不是很清楚了,莫非要冲到Azure的机房里面去塞光盘?不知道Azure是不是支持这个服务。
创建新卷
为了让系统有持久化的存储,我们可以点击管理界面里的Attach按钮,挂载一块新的磁盘到Windows上。
首先这个vhd文件会自动被放在和这台机器的系统盘在同一个storage account下面,文件名也会自动生成好,大小可以从1 – 1023GB之间选择。最后的Host Cache定义了这个磁盘的缓存特性,包括没有缓存,只读缓存或者读写缓存。默认是没有,要注意如果那个读写缓存,容易导致磁盘上数据的丢失。这是因为如果数据只写入到磁盘缓存而没有真正写到磁盘中的时候,如果恰巧那台机器所在的物理机出现问题被关机,或者需要升级被关机,这些还没有写入的数据就会丢失。但是如果一直不使用缓存,又会出现性能的问题。
在这一点上AWS就做得更好一些,AWS支持设置IOPS来解决磁盘的性能问题,会把磁盘的读写分配在不同的存储设备上,而Azure在这里还不支持。
当创建完磁盘之后,windows里面相应地也会出现新的磁盘,用户可以直接使用。这里和AWS稍微有点区别的是,在磁盘刚创建好的时候,AWS是offline的,而Azure是直接online的。
由于F盘存放在storage account里面,所以这些数据是持久耐用的。所有需要的数据都可以放在F盘上。
端点(Endpoint)
在创建Azure虚拟机的时候,我不知道大家有没有注意到我们并没有直接在向导中配置防火墙,这是因为这一步并没有被直接包含在Azure VM创建向导中,但是我们仍然需要对这台机器创建端点,让外面的机器可以访问。默认地,Azure为Windows也创建了一个用于远程连接的3389端口。
我们点击Endpoint标签,添加一个新的Endpoint
点击添加Endpoint:
这里主要有2个选项,一个是普通的endpoint,另外一个叫负载均衡endpoint,呆会我们会来讲解,首先选择添加端点。这里要输入名字,选择协议,定义外部端口和内部端口,我们应为是要打开80端口,所以选择tcp,内外都是80。
点击完成,当创建完了之后,我们就有了一个80端口可以访问了。要注意,这里的端点相当于是路由器上的端口映射,有的时候在Windows机器里还需要打开相应的防火墙。
负载均衡端点
和AWS不同的是,Azure是使用一个叫做负载均衡端点的东西来实现负载均衡的。但是首先,我们需要在同一个Cloud Service里面创建一台新的机器。在创建的时候,选择连接到一个已经存在的虚拟机。
我们这里选择连接到刚才的那台机器,等待机器创建完成以后,依然是到Endpoint这个tab上去添加一个新的端点。这次我们选择的是负载均衡端点,选择刚才的http-80。
给这个endpoint再起个名字,是http2,内部端口还是80。这里我们可以看出,对于load balance endpoint,外部只有一个端口,而内部可以配置不同的端口。但是这只是一个非常简单的负载均衡,和AWS提供的配置比起来,这个负载均衡非常简单。
注意这里有个management portal的小bug,这个负载均衡的名字不要和刚才的负载均衡名字相同,否则会创建不出来,也不报错。
我们打开endpoint的属性,可以看到这是一个load balance的endpoint,虚拟机有2台,包括了我刚才创建的两台机器,而在整体的界面上,也有Load-Balanced = Yes的显示。
在Azure上创建虚拟机的配置和AWS大体相同,向导更简单一些,也更易用一些。但是提供的功能局限,尤其是Load balance,在使用和配置上非常简单。如果对于通常的使用基本足够,但是要配置高级的LB,还显得远远不足。当然Azure的虚拟机现在还在preview阶段,希望在正式发布的时候,LB的功能可以获得增强。
[AWS vs Azure] 云计算里AWS和Azure的探究(4)的更多相关文章
- [AWS vs Azure] 云计算里AWS和Azure的探究(5) ——EC2和Azure VM磁盘性能分析
云计算里AWS和Azure的探究(5) ——EC2和Azure VM磁盘性能分析 在虚拟机创建完成之后,CPU和内存的配置等等基本上是一目了然的.如果不考虑显卡性能,一台机器最重要的性能瓶颈就是硬盘. ...
- [AWS vs Azure] 云计算里AWS和Azure的探究(3)
云计算里AWS和Azure的探究(3) ——Amazon EC2 和 Windows Azure Virtual Machine 今天我来比较一下AWS EC2和Azure VM的具体流程上的异同.以 ...
- [AWS vs Azure] 云计算里AWS和Azure的探究(2.1)
云计算里AWS和Azure的探究(2.1) ——Amazon EC2 和 WindowsAzure Virtual Machine 刚发表了就发现Amazon的价格下降了,第一代Linux的EC2价格 ...
- [AWS vs Azure] 云计算里AWS和Azure的探究(1)
转自:http://www.cnblogs.com/hotcan/archive/2013/01/31/2886794.html 云计算里AWS和Azure的探究(1) 全球领先的云的计算平台主要有两 ...
- [AWS vs Azure] 云计算里AWS和Azure的探究(2)
Amazon EC2是Elastic Compute Cloud的简称,翻译成中文就是弹性计算云.它是Amazon云里面最基础的内容,也是发展到今天最成熟的部分,通过EC2, 你可以在Amazon的云 ...
- [AWS vs Azure] 云计算里AWS和Azure的探究(6) - Amazon Simple Storage Service 和 Microsoft Azure Blob Storage
这几天Nasuni公司出了一份报告,分析了各个云厂商的云存储的性能,包括Amazon S3,Azure Blob Storage, Google Drive, HP以及Rackspace.其中性能上A ...
- 初识云计算 -《AWS云端企业实战圣经》读书笔记
原书中涉及实操的地方,在本文中被省略.一是篇幅太长,放入文中太过累赘,二是原书成书过早,现在 AWS 的界面早已变化很大,不具备参考性. 第一章 谁在使用云计算 1.什么是云计算 云计算(cloud ...
- (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介
网站并不神秘,过节了,在家闲的没事的,自己建个网站玩玩吧.每段视频不超过15分钟,地铁/公交/睡前/醒来看一段,几天之后变身建站专家,找老板加薪去! 在普通人眼里,创建网站是专业开发人员和IT工程师才 ...
- 云计算之路-试用Azure:上不了高速的跑车,无法跨Cloud Service的DNS服务器
从阿里云的踩坑大师,到Azure的抹黑大师,我们似乎成了云计算负面用户的典型,可是我们还是忍不住想表达自己真实的使用感受.如果有错误的地方,欢迎大家批评! 在Azure上建好虚拟网(Vitual Ne ...
随机推荐
- Linux的telent服务
目前,在Win/Linux下telnet都很少用了,只是因为数据在传输的过程,未加密!不过在Linux下还是多用于端口探测,今天就来回顾曾经的telnet 1.介绍 Linux被广泛运用到各种服务器及 ...
- (原)ubuntu中安装kate
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6339642.html 参考网址: https://kate-editor.org/build-it/# ...
- 使用Servlet发布WebService
首先感谢熔岩的文章: http://lavasoft.blog.51cto.com/62575/227988 1.Eclipse安装上tomcat插件,http://www.eclipsetotale ...
- iOS 批量打包
如果你曾经试过做多 target 的项目,到了测试人员要测试包的时候,你就会明白什么叫“生不如死”.虽然 Xcode 打包很方便,但是当你机械重复打 N 次包的时候,就会觉得这纯粹是浪费时间的工作.所 ...
- SpringBoot配置属性转载地址
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- C#中缓存的简单方法及使用Sql设置缓存依赖项
概述 使用Cache高速缓存可以提高数据的读取速度,减少服务器与客户端之间的数据交互.因为Cache一经创建就会占用服务器上的资源,所以Cache并不是越多越好,一般用于数据较固定,使用较频繁的地方. ...
- JAVA项目如何通过Docker实现Jenkins持续部署
原文地址:http://blog.51cto.com/dadonggg/1957691 本篇实操性的案例讲解——JAVA项目如何通过Docker实现持续部署(只需简单四步), 即:开发通过git pu ...
- 《JAVA与模式》之装修者模式
装饰者模式 动态地将责任附加到对象上.若要扩展功能,装饰者提供了比继承更有弹性的替代方案. 具体被装饰者和抽象装饰类都继承于抽象被装饰者类,继承的是类型,而不是行为.行为来自装饰者和基础组件,或与其他 ...
- C语言中 不定义结构体变量求成员大小
所谓的求成员大小, 是求成员在该结构体中 用 sizeof(结构体名.结构体成员名) 求来的. 很多时候我们需要知道一个结构体成员中的某个成员的大小, 但是我们又不需要定义该结构体类型的变量(定义的话 ...
- javascript 中 split 函数分割字符串成数组
分割字符串成数组的方法有很多,不过使用最多的还是split函数 <script language="javascript"> str="2,2,3,5,6,6 ...