虚拟化
虚拟化是一个接管物理电脑的所有硬件并以软件呈现硬件功能的过程。这意味着单台电脑可以"托管"或者运行多个"虚拟"电脑。这些虚拟电脑可以位于任何地方-包括运行在供应商处。因为在别处管理和维护这些硬件,所以一些公司将其称为云计算。
基础设施即服务
对上文更具体的定义应该称为基础设施即服务 (Iaas) ,因为它移除了在自己公司中管理维护硬件的需求。操作系统,驱动,或者运行应用所需的所有软件都仍在你的掌控中,你只需购买授权,升级,以及拓展。微软在这方面的方案称为Hyper-V ,它运行在Windows操作系统之上。结合硬件托管供应商以及System Center软件来创建和部署虚拟机(可以称其为一个提供服务的过程),你对于这些机器仍然拥有完全的控制权,如果愿意,甚至包括运行多操作系统。在自己公司内托管机器,并提供服务,我们称其为私有云。而在别处托管这些机器,则称之为公有云。
有状态和无状态编程
该模式并不是创建新的可拓展的计算方式。它只是简单的移除了硬件的需求。理由便是当你将云计算限定于虚拟机时,你便限制了单个系统所能提供的计算资源。这是因为在此环境下开发的许多软件都会维护 "状态" - 我会对此进一步的解释。
"有状态编程" 意味着计算环境的所有部分在计算周期内始终相互保持连接。 系统会期望内存,CPU,存储和网络在整个过程中都保持始终一致。您可以想象我们日常打电话-你希望对方接起电话、听你说话,之后他开始回话,这些都发生在同个时间单元内。
在 "无状态" 计算模式内,系统可以允许代码的不同部分的相互独立的运行。你可以将其想象为电子邮件,你写了了一封邮件 (当然,你在写邮件时是有状态的。) ,之后你可能走开去喝了一杯咖啡。几分钟之后,你回来点击了"发送"按钮, (网络是有状态的) ,之后你便去开会了。服务器收到邮件,将其存储在邮件数据库内。(邮件服务器有状态) ,之后继续接受其他的邮件。 最后,另一用户登陆邮件客户端,读取邮件 (用户是有状态的) ,回复邮件等等。这些时间可能相隔几毫秒到几天,但是系统仍然可以继续运行。整个过程都没有维护状态,每一个组件也是。这便是Windows Azure代码背后的概念。
无状态编程模式使得惊人的拓展能力称为可能。因为消息(参考上述的邮件例子),可以被多个程序独立开来,且并行运行。 (邮件发送给数百用户),唯一需要考虑的便是工作重新组织的顺序。基于相同的理由,如果系统像Windows Azure那样运行这些程序,你便会拥有内建的冗余和恢复功能。这些都是放置��设计之内的。
基础设施设计和平台设计的区别
当你只是简单以私有或者公有的方式虚拟化物理服务器,你并不能让代码拥有拓展或者恢复的能力。必须通过增加更多的代码以及更多的虚拟机来处理,这会在运行或维护有状态系统内引入轻微的延迟。增加更多机器会引入更多的延迟,所以并不能无限的拓展。这便是IaaS最主要的限制。同样部署这些虚拟机并不容易,更为重要的是移除它们更加繁琐。IaaS的敏捷性就会受到限制
Windows Azure 是一个平台- 这意味着你可以通过代码来进行控制操作。代码会以多个拷贝运行在多个节点上,因为神器的无状态编程模式,它们都会运行。你不必关心底下到底运行的是什么。它可能是Windows (实际上是某种Windows Server),Linux,或者其他任何系统- 但是这些都不是你需要管理,监控维护或者购买授权的。你不会希望部署一个操作系统,而是部署一个应用。你希望代码能够正常运行,而不关心是如何运行的。
PaaS的另一个优势你可以请求成千上万的计算节点。你也可以随时的停止使用这些节点,且你应用中无需编写这些控制代码。
Windows Azure Roles 以及它们的用途
如果希望应用有一个用户界面,那么想项目中添加一个Web Role ,如果代码无需包括用户界面则添加一个Worker Role 。它们仅仅是具有特定行为的容器。
我们回来讨论VM Role ,用户可能因为其名称而误以为它是一个虚拟机,例如运行着Linux系统,可以部署至Windows Azure。很遗憾,事实并非如此。如果你确实需要此类部署,考虑Hyper-V 和 System Center来创建私有或公有 IaaS 。VM Role 允许用户对其代码所运行的系统拥有相当高的控制权。
如果你听说过Windows Azure 以及 平台编程,你一定坚信它是一个绝佳的编程范式。但是在公司中,你已经是以其他方式编写了大量代码。如果为了利用Windows Azure的优势,而重写代码会需要很长的时间周期。又或者你的代码依赖于一个特定版本的Apache Web 服务器。这些情况下,你应该考虑将这些软件改写为 "无状态"的,那么你只需在代码运行之处拥有更多的控制便可以。那么这些情况下, VM Role 便能发挥其作用了。
回顾
仅仅虚拟服务器会有拓展,可用性和恢复能力的限制。微软在这方面的方案是Hyper-V 和 System Center,并不是 VM Role。 VM Role 还只是用于运行无状态代码,除了它允许您对环境拥有更多的控制权之外,它们和Web Role和 Worker Role是一模一样的。
相关推荐
无论是本地应用还是托管在Windows Azure中的应用,都可以利用Windows Azure Storage进行高效的数据存储和访问。 总之,Windows Azure是一个功能强大且灵活的云计算平台,为企业提供了广泛的工具和服务,帮助他们...
首先,Windows Azure提供了多种云服务模型和角色,包括Web Role、Worker Role、Virtual Machines、Web Sites、Virtual Network、Mobile Service、Media Service以及VM和Cloud Service。对于Java开发者而言,通常会...
· VMRole 1.2 存储服务:存储二进制和结构化数据 1.2.1 支持: · Blob类型 · Table类型 · Queue类型 · File类型 1.2.2 全局命名空间:账户名+分区名+对象名http(s)://AccountName....
- 文件系统的使用应转向Windows Azure Drive,避免使用虚拟机本地存储。 - ASP.NET状态管理中的in-process session无法跨虚拟机,需重新设计。 #### 三、云程序与传统程序的主要差异 - 新的数据和编程模型:Web...
开发人员可以通过Visual Studio工具和Windows Azure SDK进行开发,通过Service Management Service与Azure平台交互,使用REST API进行服务操作。用户代码在Cloud VM(虚拟机)上运行,由Runtime API支持,这些虚拟机...
- **Virtual Machine(Persistent VM Role)**:表示一个持久运行的虚拟机实例,具有特定的配置和功能集。 - **Deployment Slot**:指定虚拟机部署的环境,如生产或测试。 #### 5. 虚拟网络和DNS配置 Azure IaaS...
- **虚拟机 (VM) 大小**:Azure 支持多种 VM 大小,可以根据应用需求选择合适的规格。 - **角色 (Role)**:每个服务可以包含多个角色,这些角色可以在定义时设定为不同大小,以实现性能与高可用性的平衡。 - **实例...
Whatever your role in Azure security, you’ll learn how to save hours, days, or even weeks by solving problems in most efficient, reliable ways possible. Two of Microsoft’s leading cloud security ...
- 要使用Azure Update Management来更新本地服务器Server1,首先需要在Azure中实现相关设置。Azure Update Management是Azure自动化服务的一部分,用于管理Azure VM和链接到Arc的非Azure机器的更新。 6. **Access ...
通过以上分析,我们可以看出微软 Azure 70-532考试中的这个案例涵盖了多个关键技术和实践,包括Azure Web Role、Azure Worker Role、Azure Blob Storage、Azure Cache以及Azure Virtual Machines。这些技术共同构建...
- **Windows Azure VM Role**:允许用户直接部署预设配置的虚拟机映像,并提供终端服务远程访问。 - **Windows Azure Storage**:用户可以选择将数据复制到其他地区的数据中心,增强数据的安全性和可用性。 #### 五...
- **变量和参数**: 在脚本中使用变量存储动态值,参数则允许脚本接受外部输入,提高脚本的灵活性和可重用性。 - **错误处理和日志记录**: 通过添加try-catch块处理异常,使用Write-Output或Write-Error记录脚本...
通过学习和使用AzureDev中的PowerShell脚本,不仅可以提高Azure环境的运维效率,还能深入理解Azure服务的内部运作机制,为后续的云服务开发和管理打下坚实的基础。在实际操作中,应根据具体需求选择合适的脚本,并...
在Azure平台中,有两种部署模型:经典部署模型(AS,Azure Service Management)和资源管理器部署模型(ARM,Azure Resource Manager)。ARM模型是现代Azure服务的主要部署方式,提供了更高级别的管理功能,如模板化...
描述中提到的"预订"可能指的是Azure订阅,这表明RBAC角色的范围是整个订阅,这意味着用户可以在订阅内的所有Windows VM上行使这些权限。 使用PowerShell进行RBAC分配时,通常会涉及以下步骤: 1. 登录到Azure账户:...
GitHub构建自定义虚拟机映像的操作通过“构建Azure虚拟机映像”操作,您现在可以轻松创建自定义虚拟机映像,该映像包含在CI / CD工作流中生成的工件并已预安装软件。 该操作不仅使您可以构建自定义图像,还可以使用...
运行这个playbook后,Ansible会根据配置在vSphere环境中创建一个新的虚拟机,使用指定的Ubuntu Cloud Image作为其基础镜像。注意,你需要替换上述示例中的占位符为实际值。 在部署过程中,Ansible还会处理如网络...
你可以在配置文件中定义`azurerm_service_principal`和`azurerm_role_assignment`资源来创建并赋予服务主体适当的权限。 一旦配置完成,你可以使用`terraform init`初始化你的工作区,`terraform plan`检查即将发生...
在云服务连接方面,Nutanix支持与公有云如Azure、Amazon的连接,并且内置了SSD与HDD的纠删码技术(Erasure Coding, EC-X),进一步加强数据的保护。 安全性方面,Nutanix平台提供了多站点灾备、城域高可靠性和...