今天推荐的文章其实是微软的一篇官方公告,宣布其即将发布的一个支撑高可用高伸缩云服务的框架——Azure Service Fabric。
前两天,微软Azure平台的CTO Mark Russinovich在Azure的官方博客上发表了一篇公告,宣布微软在上个月发布Azure App Service后即将发布Azure Service Fabric这个框架。首先要注意的一点是,此Fabric非之前的AppFabric,AppFabric是Windows Server上的一组集成技术,可更轻松地生成、扩展和管理 IIS 上运行的 Web 应用程序和复合应用程序。而Service Fabric的目标是让创业团队的开发人员和ISV能够创建高伸缩性高可用的云应用程序。
也就是说,Service Fabric会提供一系列工具给开发人员,让他们无需担心应用的伸缩性问题,也不用重新设计他们的系统架构。这些工具其实是脱胎于微软运维Skype for Business、Azure SQL Database和Bing Cortana等产品的丰富经验。
Service Fabric会带来如下好处:
- 支持创建无状态和有状态的微服务,通过云平台来伸缩他们,以应对高复杂度、低延迟、数据密集的情况
- 通过应用程序级别的感知和洞察,为微服务带来编排和自动化的优势
- 解决分布式系统诸如状态管理这样的难点,为开发人员提供应用程序生命周期管理的能力以便随着业务的增长无需重构系统架构
- 相关工具会集成到Visual Studio中,也会提供相应命令行工具,以便开发人员能够快速和轻易地上手
整个Service Fabric的架构图如下:
从上图可以看出,这个东西不仅可以跑在公有云上,也可以跑在私有云上;不仅可以跑在Windows下,也可以跑在Linux下。Service Fabric之前已经有早期客户在使用了,这篇文章举了一个做物联网实时监控和分析的案例客户——旧金山的OSIsoft。微软打算在下周的BUILD大会上发布开发人员预览版,到时候我们就可以一睹真容了。
我之所以关心这个东西,是因为最近在研究微服务架构的东西。如果有了这个Service Fabric,那么只需要考虑开发微服务的功能,而无需过多考虑其部署后的伸缩性和可用性问题,都可以直接交给它了。不过天朝版Azure要有这个功能,估计还得等上一段时间。当然,Docker也是一种选择。更多信息可以“阅读原文”。