【Azure Services Platform Step by Step-第7篇】别把Windows Azure当虚拟主机使——理解Windows Azure服务架构

简介:

最近有朋友问我:Windows Azure是不是一个微软官方提供的ASP.NET应用程序虚拟主机?

他的具体理解是这样的:Windows Azure提供了对ASP.NET应用程序的托管,并且,“云计算”离我们那么近,只要把ASP.NET应用程序部署到Window Azure 上,以前的ASP.NET应用程序就变成“云应用”了!

怎么说好呢?这种理解完全是受当今社会混乱的.NET虚拟主机市场逼出来的。Windows Azure作为Azure Services Platform的一号服务,如果你仅仅只用他来存放你已经过时的ASP.NET应用程序,那简直是杀鸡用牛刀、暴殄天物。

那么,Windows Azure应该怎么用?它到底比一般的虚拟主机牛在哪儿?那还的从Windows Azure的服务架构说起。

 

Roles(角色):

先说说角色问题吧,非常重要。不理解Windows Azure关于Role的概念,是没办法懂得微软煞费苦心的”云”的。

部署到Windows Azure上的程序扮演着以下两种角色:Web RoleWorker Role

   Web Role:顾名思义,就是提供Web服务的角色。简单地说,Web Role就是ASP.NET Applicantion,是你本地ASP.NET Application的云端版本!支持HTTP/HTTPS协议,还能提供WCF服务。

   Worker Role:在后台运行的应用程序。它可以在后台访问任何网络资源、数据源并进行操作。它从来不在大庭广众前露面(不开放外部访问接口),它接到命令后会毫无怨言地依次执行(Queue service里的消息队列能引导它的工作),它就像一个默默无闻的无私奉献者。可以拿Windows系统服务跟它类比,一旦启动,一直在后台运行。很爽吧? 这个功能值得重视,大伙们看清楚了,这可是一般的虚拟主机无法提供的哦~ 就连Google引以为豪的云平台Google App Engine,至今已经更新了许多许多次,也从来没有考虑过让一段程序在后台长期运行! 

     这个Workder Role颇具有“云”的概念:一直在云端悄悄运行,地面上的人看不到它,但却不能没有它。

     所以,“云计算”并不是说只要你把“计算”放在“云”上就可以,而且彻底地让“计算”在“云”上运行。它包括以下几层含义:在云上——不需要本地服务器;云很大——计算量可以很大;无论在哪里,一抬头就是云——云平台上的应用无论在哪里、使用何种设备都能使用;躲在云里——它的计算过程无论有多复杂,地面上的使用者不需要看到它。

 

Role的附件

   Web Role和Worker Role这两个小朋友也是带了家属一起加入到Windows Azure这个大家庭的,它们暂时包括:

  1. 把Local Storage作为缓存使用
  2. 标准的Event Streams记录日志、发出警告
  3. 健康报告

   呵呵,这些也是普通的虚拟主机无法有的吧? “云主机”的功能是非常强大的,配套是非常完善的!

 

服务定义(Service Definition)

     程序生活在Windows Azure这个新环境里往往会感到纳闷,会怀疑人生:我到底是Web Role还是Worker Role呢?

     这就需要我们来帮助它们了。

     Windows Azure使用了一类后缀.csdef的文件来定义服务。包括:这个服务到底似乎Web Role还是Worker Role?使用HTTp还是HTTPS ? 哪里去找Local Storage这个亲家来帮忙?诸如此类的信息。

Dd179341.4b09aefe-e9ac-461e-81f2-967d455cc20e(en-us,MSDN.10)[1]

 

 

服务配置(Service Configuration)

      Web Role和Worder Role这两个小朋友在得到关于职业规划的答复后,又产生了对职业生涯方面的疑问:具体应该怎么做呢?

     这就需要用到服务配置了。顾名思义,就是对具体服务的具体配置了。我们采用.cscfg为后缀的文件来保存它们。它担当着与ASP.NET中的Web.Config文件类似的任务,且任务更重。    


本文转自 流牛木马 博客园博客,原文链接:http://www.cnblogs.com/azure/archive/2009/03/06/1404978.html,如需转载请自行联系原作者

相关文章
|
3月前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
4月前
|
存储 Linux KVM
Proxmox VE (PVE) 主要架构和重要服务介绍
Proxmox VE (PVE) 是一款开源的虚拟化平台,它基于 KVM (Kernel-based Virtual Machine) 和 LXC (Linux Containers) 技术,支持虚拟机和容器的运行。PVE 还提供高可用集群管理、软件定义存储、备份和恢复以及网络管理等企业级功能。
1425 7
|
15天前
|
消息中间件 存储 安全
分布式系统架构3:服务容错
分布式系统因其复杂性,故障几乎是必然的。那么如何让系统在不可避免的故障中依然保持稳定?本文详细介绍了分布式架构中7种核心的服务容错策略,包括故障转移、快速失败、安全失败等,以及它们在实际业务场景中的应用。无论是支付场景的快速失败,还是日志采集的安全失败,每种策略都有自己的适用领域和优缺点。此外,文章还为技术面试提供了解题思路,助你在关键时刻脱颖而出。掌握这些策略,不仅能提升系统健壮性,还能让你的技术栈更上一层楼!快来深入学习,走向架构师之路吧!
51 11
|
2月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
72 32
|
2月前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。
|
2月前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
45 11
|
3月前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性?
微服务架构中,如何确保服务之间的数据一致性?
|
3月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
76 3
|
4月前
|
消息中间件 Kafka 数据库
微服务架构中,如何确保服务之间的数据一致性
微服务架构中,如何确保服务之间的数据一致性
|
4月前
|
编译器 Windows
plugin cannot be loaded for module “QtQuick“ && Could not load the Qt platform plugin “windows“
本文讨论了在Qt应用程序中遇到的平台插件加载问题,包括具体的错误信息、解决方案和参考链接。问题表现为无法加载“QtQuick”模块的插件,并且无法找到“windows”平台插件。解决方案是修改环境变量`Qt5_DIR`以使用正确的Qt版本和编译器环境。
116 1