为 Azure 构建云本机 .NET 应用程序Architecting Cloud Native .NET Applications for Azure

重要

预览版PREVIEW EDITION

本文提供的内容来自当前正在撰写的书籍的早期部分。This article provides early content from a book that is currently under construction. 如有任何反馈,请通过 https://aka.ms/ebookfeedback 进行提交。If you have any feedback, submit it at https://aka.ms/ebookfeedback.

封面图像

发布者PUBLISHED BY

Microsoft 开发人员部门、.NET 和 Visual Studio 产品团队Microsoft Developer Division, .NET, and Visual Studio product teams

Microsoft Corporation 的一个部门A division of Microsoft Corporation

One Microsoft WayOne Microsoft Way

Redmond, Washington 98052-6399Redmond, Washington 98052-6399

版权所有 © 2019 Microsoft CorporationCopyright © 2019 by Microsoft Corporation

保留所有权利。All rights reserved. 未经发布者书面许可,不得以任何形式或任何方式复制或传播本书中的任何内容。No part of the contents of this book may be reproduced or transmitted in any form or by any means without the written permission of the publisher.

本书“按原样”提供,表达作者的观点和看法。This book is provided “as-is” and expresses the author’s views and opinions. 本书中表达的观点、看法和信息(包括 URL 和其他 Internet 网站引用)如有更改,恕不另行通知。The views, opinions, and information expressed in this book, including URL and other Internet website references, may change without notice.

本书中提及的一些示例仅用于说明,纯属虚构。Some examples depicted herein are provided for illustration only and are fictitious. 不存在任何实际关联或联系,请勿妄加推断。No real association or connection is intended or should be inferred.

Microsoft 和 https://www.microsoft.com 上“商标”网页列出的商标是 Microsoft 集团公司的商标。Microsoft and the trademarks listed at https://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies.

Mac 和 macOS 是 Apple Inc. 的商标Mac and macOS are trademarks of Apple Inc.

Docker 的鲸鱼徽标是 Docker Inc. 的注册商标经许可方可使用。The Docker whale logo is a registered trademark of Docker, Inc. Used by permission.

所有其他标记和徽标均为其各自所有者的财产。All other marks and logos are property of their respective owners.

作者:Authors:

Steve "ardalis" Smith - 软件设计师及培训师 - Ardalis.comSteve "ardalis" Smith - Software Architect and Trainer - Ardalis.com

Rob Vettor - Microsoft - 首席云系统架构师/IP 架构师 - RobVettor.comRob Vettor - Microsoft - Principal Cloud System Architect/IP Architect - RobVettor.com

参与者和审阅者:Participants and Reviewers:

Cesar De Torre,Microsoft .NET 团队首席项目经理Cesar De la Torre, Principal Program Manager, .NET team, Microsoft

Microsoft .NET 团队高级项目经理 Nish Anil Nish Anil, Sr. Program Manager, .NET team, Microsoft

编辑:Editors:

Maira Wenzel,Microsoft .NET 团队资深内容开发人员Maira Wenzel, Sr. Content Developer, .NET team, Microsoft

本指南的目标读者Who should use this guide

本指南的受众主要是对学习如何构建为云设计的应用程序感兴趣的开发人员、开发主管和架构师。The audience for this guide is mainly developers, development leads, and architects who are interested in learning how to build applications designed for the cloud.

次级受众是计划选择是否使用云本机方法构建其应用程序的技术决策者。A secondary audience is technical decision-makers who plan to choose whether to build their applications using a cloud-native approach.

如何使用本指南How you can use this guide

本指南首先定义云本机,并介绍使用云本机原则和技术构建的参考应用程序。This guide begins by defining cloud native and introducing a reference application built using cloud-native principles and technologies. 除了前两章,本书内容分成特定章节,集中讨论大多数云本机应用程序的共通主题。Beyond these first two chapters, the rest of the book is broken up into specific chapters focused on topics common to most cloud-native applications. 可以跳转到以下任何章节,了解相关云本机方法:You can jump to any of these chapters to learn about cloud-native approaches to:

  • 数据和数据访问Data and data access
  • 通信模式Communication patterns
  • 缩放和可伸缩性Scaling and scalability
  • 应用程序复原能力Application resiliency
  • 监视和运行状况Monitoring and health
  • 标识和安全性Identity and security
  • DevOpsDevOps

本指南有 PDF 格式和在线版本。This guide is available both in PDF form and online. 欢迎随时将此文档或其在线版本的链接转发给你的团队,以确保对这些主题有共同的理解。Feel free to forward this document or links to its online version to your team to help ensure common understanding of these topics. 这些主题中的大多数都得益于对基本原则和模式的一致理解,以及与这些主题相关的决策所涉及的权衡。Most of these topics benefit from a consistent understanding of the underlying principles and patterns, as well as the trade-offs involved in decisions related to these topics. 本文档的目标是为团队及其领导提供所需的信息,使其能够为应用程序的体系结构、开发和托管作出明智的决策。Our goal with this document is to equip teams and their leaders with the information they need to make well-informed decisions for their applications' architecture, development, and hosting.