Microsoft .NET Architecture Guidance - Draft...
Four application architecture guidance drafts are available from Microsoft's Developer Division and the Visual Studio product teams. These drafts cover four areas: Microservices and Docker, ASP.NET Web Applications, Azure Cloud Deployment, and Xamarin Mobile Applications. Each guidance consists of a set of documents appropriate for the topic. Microsoft does want your feedback on these draft documents.
The Microsoft and Docker guidance consists of an Architecture eBook, a DevOps eBook, a sample application, and a video discussion of appropriate patterns. The Architecture eBook is an introduction to developing microservices, and managing them with containers. The sample application is referenced within the book. The book covers topics such as choosing the appropriate Docker containers and how to deploy them, designing and developing multi-container and microservice-based .NET applications, and how to secure them. The guidance is infrastructure agnostic. The DevOps book explains how to implement the entire Docker application lifecycle with Microsoft technologies. It is useful both for people who need to learn about Docker, or people knowledgeable about Docker, but want to learn about the Microsoft implementation.
The Web Applications guidance consists of an eBook and a sample application. The book provides guidance on building monolithic web applications with ASP.NET Core and Azure. It is a complementary guide to the Microsoft and Docker guidance book discussed in the previous paragraph. The guidance covers the characteristics of modern web applications and their architectural principles, as well as how to develop and test ASP.NET Core MVC applications.
The Azure Cloud Deployment guidance consists of a set of reference architectures, an article on best practices, and an article on design patterns. The reference architectures are ordered by scenario and include recommended practices and most have a deployable solution. The reference architectures are: identity management, hybrid network, network DMZ, VM workloads for Linux and Windows, and managed web application. The article on best practices focuses on REST and HATEOAS. The design patterns are indexed by category: availability, data management, design and implementation, messaging, management and monitoring, performance, and scalability, resiliency, and security. The twenty four patterns are also cataloged by pattern name so they can be found directly. Each pattern describes the problem to be solved, when it is appropriate to use the pattern, and a Microsoft Azure based example. Nonetheless, the patterns are generic to any distributed system.
The Xamarin Mobile Application guidance consists of an eBook, a sample application, and an article on architecture patterns. The guidance in the eBook covers building cross-platform enterprise applications using the Xamarin UI toolkit. It focuses on the core patterns and architectural guidance, specifically the MVVM pattern, dependency injection, navigation, validation, configuration management, containerized microservices, security, remote data access, and unit testing. The guidance references the sample application. Since the guide complements the other architecture guidance, microservices, containers, and web applications are not covered in depth. It also is not a detailed introduction to Xamarin forms. The guidance can also be used by decision makers who want an overview on architecture and technology before deciding on a cross-platform strategy. The patterns focus on the key architecture concepts, application layers, and the basic mobile software patterns such as MVVM, MVC, Business Façade, Singleton, Provider, and Async. The case study illustrates the use of the patterns.