译:微软发布.NET应用架构指南草案
原文《Microsoft Announces Draft .NET Architecture Guidance》
译注:上周微软发布了全新的《.NET应用架构指南》草案,以征求社区的意见。笔者作为.NET技术的爱好者,很高兴看到微软发布了这样一份很全面的符合时代变化趋势的应用架构指南。虽然目前这份指南还在草案阶段,但在微服务、跨平台等概念的时兴之下,感觉像是微软在变革中吹响的又一次冲锋号,对于一个.net 爱好者也像是一次集结号。笔记将持续对这份指南中的详细内容进行逐步翻译。
近日,微软开发者部和Visual Studio产品团队联合发布了四份应用架构指南草案。这些草案涵盖四个领域:微服务和Docker,ASP.NET Web应用程序,Azure云部署和Xamarin移动应用程序。每份指南由对应主题的一组文档组成。微软希望得到一般社区对这些文件草案的反馈意见。
微服务和Docker容器指南,包括一份名为《.NET容器化应用的微服务架构》的电子书(后文简称:架构电子书),一份名为《.NET平台及工具下的容器化Docker应用的生命周期》的电子书(后文简称:DevOps电子书),一个名为“eShopOnContainers”的示例应用程序,以及一个什么是合适设计模式的视频讨论。 架构电子书是关于开发微服务并用容器进行管理的介绍,并引用了示例应用程序。书中涵盖了如何选择适当的Docker容器以及如何进行部署,还包括如何设计和开发多容器的,基于微服务的.NET应用程序,以及应用安全的等内容。这份指指南并不依赖特定基础设施(infrastructure agnostic)。 DevOps电子书则介绍了如何使用Microsoft技术实现整个Docker应用程序生命周期。无论是对Docker新手,还是熟悉Docker但还想了解基于微软的技术如何来实现的人,都是非常有用的。
ASP.NET Web应用程序指南,由一本电子书和一个示例应用程序组成。本书提供了有关使用ASP.NET Core和Azure构建单体Web应用程序的指导。它是上一节讨论的微服务和Docker容器指南的补充。该指南涵盖了现代Web应用程序的特性及其架构原理,以及如何开发和测试ASP.NET Core MVC应用程序。
Azure Cloud部署指南,包含一系列参考架构,有关最佳实践的文章,以及一篇设计模式的文章。参考架构按场景排序,包括推荐做法,大多数都有直接可部署的方案。这些参考架构包括:身份管理,混合网络,DMZ网络,Linux和Windows的虚拟机负载,以及托管Web应用程序。关于最佳做法的文章着重于REST和HATEOAS (Hypermedia as the Engine of Application State)。设计模式按类别索引包括:可用性,数据管理,设计和实施,消息传递,管理和监控,性能,可伸缩性,弹性以及安全性。二十四种设计模式也按名称进行了分类编排,以便查找。每个模式描述了要解决的问题,何时使用该模式,以及基于Microsoft Azure的示例。但是这些模式对于任何分布式系统都是通用的。
Xamarin 移动应用程序指南,由一本电子书,一个示例应用程序,和一篇关于架构模式的文章组成。电子书中的指导涵盖使用Xamarin UI工具包构建跨平台企业应用程序。它侧重于核心模式和架构指导,特别是MVVM模式,依赖注入,导航,验证,配置管理,容器化微服务,安全性,远程数据访问和单元测试。该指南引用了示例应用程序。由于该指南作为其它架构指南的补充,微服务,容器和Web应用程序没有被深入的说明。它也没有对Xamarin 表单作详细介绍。对于决策者,在决定跨平台战略之前,也可利用这份指南对架构和技术进行概览。这些模式侧聚焦于关键体系结构的概念,应用层,以及基于MVVM,MVC,Business Facade,Singleton,Provider和Async 等基本移动应用模式。并通过案例对设计模式进行了说明。