解读AzureAppFabric架构:云发挥到极致


     Windows Azure Platform AppFabric是微软为开发者准备的构建和管理复合型应用程序,无论是在服务器或是在云环境中,Azure Appfabric是个消息总线,目标是简化身份验证和消息传递,尤其是在跨防火墙和NAT环境的时候使其更容易。

     Azure Platform Appfabric的前身是“.NET Services”提供基于云的服务,帮助开发者通过Windows Azure、Windows Server、和众多其他平台连接至应用程序与服务。经过发展、演化和成熟之后,它包括了Service Bus和Access Control功能。

      Windows Azure Platform Appfabric构建与Windows Azure之上, 将云服务与非云端的系统集成的服务,通过提供安全的联通性与访问控制,完成B2B的集成,或连接至远程设备。Service Bus在服务与应用程序之间允许安全的连通性(通过防火墙或网络界限),可以使用在大量通信模式。Access Control Service为网络访问提供了联合的、基于声明的访问控制,开发者可以使用这些服务构建分布式或混合式的应用程序或服务。

AppFabric 服务总线(Service Bus)概述

     服务总线帮助开发者提供松散耦合的服务和应用程序的安全连接,使它们能够使用多种通信方式通过防火墙和网络边界。在服务总线上注册的服务能很容易通过各种网络拓扑被发现和访问。

异构服务间通过服务总线轻松耦合

图1 异构服务间通过服务总线轻松耦合

服务总线的适用范围

  • 用现有的能够和数据库连接Windows Azure应用和SQL Azure数据库
  • 和各类无前提应用桥接
  • 创建复合应用

使用服务总线的好处

  • 能通过防火墙、NAT网关和其他未知网络边界公开程序和服务。
  • 通过公开端点很容易创建很低限制的复合应用,支持多种连接选项和发布、订阅的多播。
  • 友好的、轻量级开发者编程模型,支持标准协议和扩展的Windows Communication Foundation简单标准绑定。
  • 帮助阻止恶意流量和保护用户服务免于拒绝服务攻击。

服务总线的特点

  • 可以不考虑位置,通过稳定的、通过互联网可访问的URL发布服务。
  • 发送者和接受者之间的单向信息服务支持单播和多播分发。
  • 面向连接的全双工线程保证发送者和接受者之间支持双向通信。
  • 面向连接的全双工线程支持点对点(pear-to-paer) 通过NAT创建终端对终端的直接连接。
  • 多发布者与多用户可同时使用该服务的主题管理和事件分发系统。
  • 支持非.NET平台的REST和HTTP访问。
  • 通过DNS和透明无约束的等级分类实现全局命名空间。
  • 在用于允许的情况下支持匿名用户对服务的访问。
AppFabric 访问控制(Access Control)概述

访问控制帮助用户在应用和服务中创建集成授权,无需复杂编程就能实现基于组织边界考虑的安全应用。凭借简单的规则和要求,访问控制规则可以轻松、灵活的进行配置,以涵盖不同的安全需求和身份管理的各种基础设施。

基于Azure平台的访问控制

图2 基于Azure平台的访问控制

访问控制的适用范围

  • 可基于现有的身份管理系统、Active Directory服务、其他目录服务或任何基于标准的基础认证机制创建用户帐号。
  • 应用程序可定制的控制和访问级别,每个用户和组
  • 应用与服务总线连接相同的安全级别

访问控制的好处

  • 通过联合身份和访问控制规则为基础的授权使应用程序等同于本地用户帐号管理。
  • 灵活的基于标准的服务,支持多种凭据和依赖方
  • 友好的、轻量级开发者编程模型,基于Microsoft .NET Framework和Windows Communication Foundation。

访问控制的特点

  • 通过简单Web界面或API编程实现安装发行的信任。
  • 通过最小化的编码支持活动目录和其他认证机制。
  • 支持对凭据,包括X.509证书
  • 支持包括REST在内的标准协议
  • 运行在组织边界内外的应用可以依靠服务存在
  • 可验证从数据和连通服务传递的应用和用户请求
AppFabric LABS

     微软AppFabric团队于2010年3月11日推出了AppFabric LABS环境。AppFabric团队会用其展示一些早期特性,并从社区获得反馈,用户无需为该环境的使用付费。

     AppFabric LABS 使得用户能够测试并使用实验性的AppFabric技术。对于新的功能和特性,希望能从用户那里尽快的获得反馈。LABS环境并没有SLA协议的支持,但用户可以获得AppFabric新特性的预览,同时帮助团队改善这些特性。

     虽然与Community Technology Preview类似,但是 LABS 技术离商用有着更远的距离。

在这个版本的LABS环境中,提供了2大特性:

1. Silverlight 支持:增加了Silverlight客户端跨域调用Service Bus 和 Access Control Services的能力。

2. 带 Message Buffers的多播: 增加了 Message Buffers依附于一个多播群组的能力。发送至多播群组的信息会被投递给所有依附其上的Message Buffer。

     用户可以访问https://portal.appfabriclabs.com/注册自己的Live ID,创建LABS项目,可在实例并学习新特性。如果用户要访问商用门户,需要访问的是https://appfabric.azure.com/

总结

     在云计算的支持下,用户可以按使用付费,从而节省大量的前期投资。此外,在时间周期、灵活性上,用户也更加从容,不必为漫长的审批周期而伤神,从而加快业务的上市速度。就技术的角度而言,由于应用剥离了具体的硬件平台,不仅系统资源利用更加充分,更加节能高效;与此同时,系统管理难度大大降低,更能够充分释放系统的能量,使得系统更加富有弹性。较之通过Internet进行访问,供公众使用的公有云,私有云一般在防火墙之内,专为某企业提供运营服务,因此在安全性、法规遵从以及服务质量方面更加具有保障,也更加容易集成现有应用,降低运营成本。但是公有云成本更低,管理负担更轻,在容量分配等方面更具有优势。在私有云和公有云之间,通过一种混合云的方式,提供企业发展所需要的IT服务,没有必要把所有的应用全部构建在私有云中,对于有些应用而言,私有云成本过高,而且在安全、可靠性方面没有更高的应用,这就适合公有云的应用。

     而微软Windows Azure Platform AppFabric的设计就是瞄准公有云和私有云之间的结合地带——混合云而来的,通过消息总线可以很好的黏合各种业务应用。Windows Azure Platform AppFabric是微软继虚拟机组件Windows Azure、数据库组件SQL Azure之后推出的又一重要的云计算组件。Windows Azure支持Web Roles(用于托管Web站点)和Worker Role(用于后端处理),主要应用于云计算;SQL Azure基于SQL Server,具有很多相同的特性,强化了其基于云计算的功能,弱化了其作为客户端软件的身份。而Azure AppFabric作为消息总线,目标是简化身份验证和消息传递,尤其在跨防火墙的时候使其更容易,Azure AppFabric作为公有云和私有云之间的黏合剂,能够更加有效的组合企业应用中涉及到的多种应用,将云的作用发挥到极致,不得不称赞微软在云计算架构设计之初就能考虑到这一关键性的问题。

作者: 付海军
版权:本文版权归作者所有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://txj.shell.tor.hu


发表回复