Azure Cloud Service 和 Service Fabric 的区别

Service Fabric 是下一代的 Cloud Service, 那么他们之间有什么区别呢?

Service Fabric 在 打包,部署,升级和管理分布式的云应用都有很多新的功能。

 

应用和架构

Cloud Service 和 Service Fabric 最根本的区别是 VM, workloads 和应用的关系上,workload 在这里的意思是你写的一些用以做一些事情的程序。

Cloud Service 是在VM上部署应用: cloud service 所写的应用会和VM instance联系在一起,比如 Web role 和 Worker role. 一个应用被认为是一组 worker role 或者 web role.

 

image

 

Service Fabric 是把一些应用部署在已经存在的 VM(或者machine)上。你写的程序和下层的架构师完全分离的,所以 Service fabric 的应用可以部署在多种环境当中。

在Service Fabric中的一个 workload 叫做服务,一个或多个服务组成一个应用。多个应用可以部署在同一个 service fabric cluster 当中。

 

image

Service Fabric 是一个应用层的平台,Cloud Service 是用来部署 Azure管理虚机的系统。 Service Fabric 有下面的一些优势:

  • 快速的部署。创建虚机是一个非常耗时的步骤,所以 Service Fabric 只是在已有的 Service Fabric 平台进行部署应用,所以非常快。
  • 高密度的部署,在Cloud Service 里面, 一个worker role 的虚机上面放了一个 workload. 在 Service Fabric 上面,你可以部署很多的应用在一些比较少量的虚机上面。
  • Service Fabric 提供 Windows Server 和 Linux Machine。
  • 分布式应用的管理, Service Fabric 不仅提供分布式应用的托管,还可以管理整个应用的生命周期。

 

应用的架构

Cloud Service 的架构经常需要用到外部的一些服务,比如 Service Bus, Azure Table, Blob Storage, SQL, Redis 或者其他一些用来协调管理 web 和 worker role。

Cloud Services architecture

 

Service Fabric 依然可以使用这个架构, 一个简单的从 Cloud Service 上迁移到 Service fabric 上的过程就可以使用同样的架构。

Service Fabric architecture after simple migration

但是, Service Fabric可以是有状态的,所以外部的状态存储室可以内化为有状态的服务。所以可以把外部的服务写成有状态的 Service fabric 的服务,这样的一个好处就是省去了外部的一些掣肘,把部署,管理和升级都统一起来。一个简单的模型如下:

 

Service Fabric architecture after full migration

 

沟通和流程

大部分的Cloud Service 应用都包含多个的层级。 同样的,Service Fabric 应用有多个 service 组成.  相同的是通讯都是有外部的持久的存储来完成的。

如果有 Direct communication, 不同层级可以通过 endpoint 来通讯,像 cloud Service 一样的无状态的话,通讯的话会随机,或者 round-robin 的方式来进行负载均衡。

 

Cloud Services direct communication

  • 和 Cloud Service 不同的是 Service Fabric, 连接的不是VM,而是 Service。 这样 Service 是不用和VM联系在一起的,Service可以在不同的VM之间跳转,资源的平衡,做故障转移,应用和架构的升级。Service instance 的地址可以随时变化的。
  • 一台虚机可以负载多个 Service, 每个都有自己的 endpoint.
  • Service fabric 提供 Service 的发现服务,叫做 Naming Service, 这样就可以用来发现 service 的 endpoint。

Service Fabric direct communication

 

https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cloud-services-migration-differences/

留下评论