`
bk_lin
  • 浏览: 346416 次
社区版块
存档分类
最新评论

在 Windows Azure 上设计大型服务的最佳做法

 
阅读更多

编者注:今天的帖子来自于Jason Roth,主编程作家。他提供了来自我们的客户咨询团队的新白皮书的概述,涉及在Windows Azure上 设计大型服务的最佳做法。我们最近发行了新的白皮书:在Windows Azure 云服务上设计大型服务的最佳做法。这份文件汇集了基于实际的客户约定的设计模式和指导方针。它结合了最好的策略和设计模式,始终如一地证明了真实世界的 Windows Azure 应用程序的成功。

首先要了解这个平台

当您阅读这个白皮书,你会注意有三个主要部分:

· 设计概念

· 探索 Windows Azure

· 最佳做法

您可能被诱惑去直接浏览最佳做法,但您应该意识到这些最佳做法源自前两节中的信息。每个应用程序是唯一的。首先去了解 Windows Azure 平台和基本的设计原则是很重要的。这对选择正确的优化以及实现正确的执行都有帮助。

好的设计 — — 值得努力

任何大型的应用程序设计需要认真思考、 规划和潜在地复杂的执行。 对Windows Azure而言,最基本的设计原则是扩展。而不是投资在功能强大 (且昂贵) 的硬件上,扩展策略通过添加更多的机器或服务实例响应不断增加的需求。

对于每个Windows Azure服务而言,许多最佳做法涉及实现扩展。例如,在Windows Azure中,不能放大运行在您的 SQL 数据库上的服务器。相反,您必须设计应用程序用来利用额外的 SQL 数据库实例。这涉及到对你的数据的某些类型的分区策略。

当然,面临的挑战是选择正确的分区策略,并成功地协调分区之间的工作。本文试图为您提供你所做选择的技术性理解和过去客户方案的实际建议。

请注意,分区提高了可扩展性,SQL 数据库是只是很明显的例子。但是要最大化平台的优势,其他角色和服务必须以类似的方式扩展出。例如,存储帐户的交易率是有上限的,虚拟机的 CPU 和内存有上限; 最大限额通过多个存储账户的使用、组件扩展出虚拟机设定尺寸的服务来实现。

虽然可伸缩性是设计背后的驱动力,还有其他非常重要的设计注意事项。文件强调,必须对遥测和诊断数据收集做规划,这个变得越来越重要,因为您的解决方案变得更多组件化和分区化。可用性和业务连续性是本文的两个其它的主要焦点。当您的服务出现故障或者不可避免地丢失数据,扩展性就与此无关了。

最佳做法和平台演化

Windows Azure 不断演变、 改进和增加新的服务。在最近的版本中,已经增加了新的功能,例如 Windows Azure 虚拟网络和基础设施作为一种服务 (IaaS)。这些新功能给大型应用程序提供了更多的选择。然而,这份文件重点关注版本1.6,并不包括添加到平台的一些最新的特征。

要了解这个决定的原因,您必须重新审视这项工作的目标。这篇文章将会提供在真实客户实践中成功的设计指导。因为这些服务可能需要数月计划、 测试和循环,在这篇文章更新了最新的服务和功能之前,它将会花费一些时间。但所有文件中的设计原则仍然适用,而且同一类型的思维可以应用于Windows Azure 的任何新功能。

继续,我们正在处理额外的文件、 代码示例和说明,演示如何执行一些最佳的做法。

不是一个核对表

每个人都喜欢核对表。思想是: 如果你可以选择所有的选框,然后你知道你将会成功。有了在 Windows Azure 云服务上设计大型服务最佳做法,不要把这些信息看作一个核对表。您的应用程序是唯一的。或许,在这个时刻,您的应用程序是"中等-高"的规模。有可能当你理解了平台和最佳做法后,只有一些建议在短时间内对你来说是至关重要的。但展望未来,规划你将会需要一些或所有的其他设计策略的可能性。

核对白皮书,在下面的评论区域分享你的反馈。

本文翻译自:

http://blogs.msdn.com/b/windowsazure/archive/2012/10/15/best-practices-for-designing-large-scale-services-on-windows-azure.aspx

分享到:
评论

相关推荐

    在 Azure VM 群集上使用存储空间进行 SQL Server 存储1

    根据微软的《Azure VM 中的 SQL Server性能指南白皮书》,通过在Azure VM上创建存储空间,可以跨越多个物理磁盘条带化,从而在一定程度上克服这些限制,尤其对那些需要支持多个物理磁盘的大型VM来说,存储性能能得到...

    MHacks_2015_grubr_p2p:与 windows azure 连接以显示我们应用程序的登陆页面

    在本项目"MHacks_2015_grubr_p2p"中,开发者构建了一个应用,该应用能够与Windows Azure服务进行交互,以便展示其登录页面。这涉及到使用JavaScript编程语言来实现客户端和服务器端的通信。让我们深入探讨这个项目中...

    hadooponwindows-master.rar

    2. **Hadoop on Windows**:虽然Hadoop最初是为Linux设计的,但通过Cygwin、Windows Services for Hadoop (WHS) 或使用像Azure Data Lake等云服务,可以在Windows环境中运行Hadoop。其中,Apache Hadoop 3.x版本开始...

    Python库 | azure_iot_hub-2.2.0rc0-py2.py3-none-any.whl

    Azure IoT Hub是微软云平台上的一个全面托管的服务,专为连接和管理物联网(IoT)设备而设计。此库允许开发者轻松地在Python应用中实现设备到云端以及云端到设备的消息传递、设备身份管理和安全通信。 ### 特性 1. *...

    Cyberduck-7.3.0.32621.zip Mac和Windows的免费服务器和云存储浏览器

    Cyber​​ duck是Mac和Windows的免费服务器和云存储浏览器,支持FTP,SFTP,WebDAV,Amazon S3,OpenStack Swift,Backblaze B2,Microsoft Azure和OneDrive,Google Drive和Dropbox。 连接到每台服务器。通过易于...

    基于wcf的大型网站源码

    【基于WCF的大型网站源码】是一种采用微软.NET Framework中的Windows Communication Foundation(WCF)技术构建的分布式网站系统。WCF是微软为企业级应用程序提供的一种全面的服务通信平台,它集成了.NET Remoting、...

    cn_windows_10_enterprise_ltsc_2019_x64_dvd_9c09ff24.iso.txt

    《深入解析Windows 10 Enterprise LTSC 2019 x64系统镜像》 Windows 10 Enterprise LTSC 2019 x64是微软推出的一款...在部署前,应根据企业的实际需求,充分了解和利用其各项特性,以实现最佳的系统利用率和安全保障。

    设计之道 PDF

    6. 设计框架的选择与应用:书中可能会分析.NET中的一些流行设计框架,如ASP.NET MVC、WPF、Windows Forms等,以及它们在实际项目中的最佳实践。 7. 测试驱动开发(TDD):TDD是一种软件开发方法论,强调先编写测试...

    Windows 10 各个版本区别

    3. 企业版(Enterprise):这是一个为大型企业量身定制的版本,它在专业版的基础上进一步强化了安全性、设备管理和控制。企业版支持高级安全特性,如Microsoft Passport、Credential Guard和Device Guard,以及...

    部署Windows 10 多会话-中文语言包映像

    Windows 10 企业版多会话允许多个用户在同一台虚拟机上并发交互,提高了资源利用率,并降低了硬件成本。在本文中,我们将深入探讨如何自定义这样的多会话映像,同时添加中文语言包。 首先,创建一个基于Windows 10 ...

    azure-devops-cache:天蓝色devops ci缓存

    在Azure DevOps中,CI(持续集成)是开发流程中的重要环节,它允许开发者频繁地将代码更改合并到主分支,确保代码的质量和稳定性。在这个过程中,缓存是一个关键组件,因为它可以显著提升构建速度。"azure-devops-...

    软件工程毕业设计软件工程毕业设计

    GitHub或Azure DevOps提供云端仓库服务,便于团队合作和代码分享。 8. **文档编写**:清晰的文档是软件项目的重要组成部分,包括需求文档、设计文档、用户手册等。使用Markdown或LaTeX工具可帮助整理和格式化文档。...

    NET企业级应用架构设计(2nd)

    本书主要围绕.NET框架,详细阐述了在开发大型、复杂项目时所需的关键技术和设计理念。 首先,企业级应用的核心是其架构。架构设计是整个项目的基石,它决定了系统的可扩展性、可靠性、性能以及后期维护的难度。本书...

    5Professional Windows GUI Programming

    在本文中,我们将深入探讨C#语言在构建高效、用户友好的图形界面中的应用,以及与之相关的各种技术和最佳实践。 一、C#语言基础 C#是一种面向对象的编程语言,由微软公司开发,特别为.NET框架设计。它提供了丰富的...

    网络服务器配置与应用

    在IT行业中,网络服务器配置与应用是至关重要的领域,它涉及到网络服务的搭建、管理和优化,以确保数据的高效传输和系统的稳定运行。本部分将深入探讨网络服务器配置的关键环节和常见应用,以便更好地理解这一主题。...

    WindowsApplication1_FlexCodeSDK_parentpai_

    10. **持续集成/持续部署(CI/CD)**:在大型项目中,开发者可能会采用CI/CD工具(如Jenkins或Azure DevOps)自动化构建、测试和部署过程,确保代码质量并快速响应变更。 通过深入理解和分析WindowsApplication1项目...

    Programming for PaaS

    为了帮助开发者从开发者的角度深入了解PaaS模型,并对其提供的各种服务类型有一个全面的认识,本文将详细探讨包括Google App Engine、Windows Azure、Heroku、Cloud Foundry等在内的主要PaaS供应商当前所提供的核心...

    Microsoft .NET企业级应用架构设计

    《Microsoft .NET企业级应用架构设计》是一本深入探讨.NET平台在构建大型、复杂系统时的架构策略和技术的著作。本书旨在为开发者提供一套全面的指南,帮助他们理解和实施高效、可扩展且易于维护的企业级应用程序。...

    AIB:Azure映像生成器

    Azure映像生成器(AIB)是微软Azure平台上的一个强大工具,专为创建自定义虚拟机(VM)映像而设计。在工商银行这样的大型金融机构中,使用AIB可以帮助实现标准化、安全且可重复的VM部署过程,确保系统的稳定性和一致...

    微软企业IT上云解决之道[En]

    2. **Azure Hybrid Benefit**:允许客户将现有的Windows Server许可证权益转移到Azure上的虚拟机,从而节省成本。 3. **Azure Site Recovery**:为企业的应用程序提供灾难恢复解决方案,确保业务连续性。 4. **...

Global site tag (gtag.js) - Google Analytics