Разработка современных веб-приложений с помощью ASP.NET Core и Azure

Book cover image of the Architect Modern Web Applications guide.

Выпуск 6.0 — обновлен для соответствия ASP.NET Core 6.0

Обновления книги и вклад сообщества см. в журнале изменений.

ИЗДАТЕЛЬ

Подразделение Microsoft Developer Division, команды разработки .NET и Visual Studio

Подразделение корпорации Майкрософт

One Microsoft Way

Redmond, Washington 98052-6399

© Корпорация Майкрософт (Microsoft Corporation), 2022 г.

Все права защищены. Запрещается полное или частичное воспроизведение или передача настоящей книги в любом виде или любыми средствами без письменного разрешения издателя.

Эта книга предоставляется на условиях "как есть" и выражает взгляды и мнения автора. Взгляды, мнения и сведения, содержащиеся в этой книге, включая URL-адреса и другие ссылки на веб-сайты, могут изменяться без уведомления.

Некоторые приведенные в книге примеры служат только для иллюстрации и являются вымышленными. Все совпадения с реальными наименованиями, людьми и любыми другими предметами являются непреднамеренными и случайными.

Microsoft и товарные знаки, перечисленные на странице "Товарные знаки" на сайте https://www.microsoft.com, являются товарными знаками группы компаний Майкрософт.

Mac и macOS являются товарными знаками Apple Inc.

Логотип Docker с изображением кита является зарегистрированным товарным знаком Docker, Inc. Используется с разрешения.

Все другие наименования и логотипы являются собственностью своих законных владельцев.

Автор:

Стив Смит (Steve Smith) , преподаватель и разработчик программного обеспечения, Ardalis.com

Редакторы:

Майра Вензел (Maira Wenzel)

  • Эта электронная книга также доступна в формате PDF (только на английском языке) Скачать

  • Клонируйте эталонное приложение eShopOnWeb на GitHub или создайте для него вилку

Вступление

.NET 6 и ASP.NET Core имеют ряд преимуществ по сравнению с традиционной разработкой .NET. Используйте .NET 6 для серверных приложений, если для их успешной работы вам важны некоторые или все из приведенных ниже аспектов:

  • Поддержка разных платформ.

  • Использование микрослужб.

  • Использование контейнеров Docker.

  • Требования к обеспечению высокой производительности и масштабируемости.

  • Параллельное управление версиями приложения .NET на одном сервере.

Эти требования способны удовлетворить многие традиционные приложения .NET 4.x, но оптимизированные платформы ASP.NET Core и .NET 6 обеспечивают расширенную поддержку вышеуказанных сценариев.

Все больше организаций предпочитают размещать свои веб-приложения в облаке с помощью таких служб, как Microsoft Azure. Рекомендуется рассмотреть возможность размещения приложения в облаке, если для приложения или организации важны следующие моменты:

  • Сокращение инвестиций в центр обработки данных (оборудование, программное обеспечение, помещения, коммунальные услуги, управление серверами и т. д.)

  • Гибкие цены (оплата за фактически используемые, а не простаивающие ресурсы).

  • Исключительная надежность.

  • Улучшенная мобильность приложений, простота изменения места и способа их развертывания.

  • Гибкая емкость, масштабирование в соответствии с фактическими потребностями.

Создание веб-приложений с помощью ASP.NET Core, размещенных в Azure, имеет множество конкурентных преимуществ по сравнению с традиционными альтернативами. Платформа ASP.NET Core оптимизирована для современных методик разработки веб-приложений и сценариев размещения в облаке. В этом руководстве вы узнаете, как спроектировать приложения ASP.NET Core, чтобы максимально эффективно воспользоваться этими возможностями.

Версия

В новую редакцию руководства включены сведения о версии .NET 6.0 и множество дополнений, связанных с тем же "поколением" технологий (т. е. технологий Azure и сторонних производителей), к которому относится выпуск .NET 6.0. По этой причине версия книги также была изменена на 6.0.

Цель

Этот документ является полным руководством по созданию монолитных веб-приложений с помощью ASP.NET Core и Azure. В этом контексте монолитность означает то, что эти приложения развертываются как единое целое, а не как коллекция интерактивных служб и приложений. В некоторых контекстах термин монолитность может иметь негативный смысл, однако в подавляющем большинстве случаев сборка, развертывание и отладка единого приложения оказываются гораздо проще, чем когда оно состоит из множества разных служб, и при этом бизнес-требования по-прежнему выполняются.

Это руководство представляет собой дополнение к микрослужбам " .NET. Архитектура для упакованных в контейнеры приложений .NET" с акцентом на Docker, микрослужбах и развертывании контейнеров для размещения корпоративных приложений.

Микрослужбы .NET. Архитектура контейнерных приложений .NET

Кому необходимо это руководство

Это руководство предназначено главным образом для разработчиков, руководителей отделов разработки и архитекторов, заинтересованных в создании современных веб-приложений с помощью технологий и служб Майкрософт в облаке.

Вторичной аудиторией являются лица, ответственные за принятие технических решений, которые уже знакомы с ASP.NET или Azure и которым требуются сведения о целесообразности обновления до ASP.NET Core для разработки новых и поддержки существующих проектов.

Как использовать это руководство

Это руководство было сведено в относительно небольшой документ, в котором основное внимание уделяется созданию веб-приложений с помощью современных технологий .NET и Azure. Поэтому, чтобы получить базовое представление о таких приложениях и разобраться в соответствующих технических рекомендациях, изучите документ полностью. Это руководство вместе с примером приложения может быть хорошей отправной точкой или полезным справочным документом. Используйте приведенный пример приложения в качестве шаблона для собственных приложений, или чтобы увидеть, каким образом можно организовать составные части приложения. Принимая решение о применении этих вариантов к своему приложению, вы всегда можете обратиться к описанным в руководстве принципам и направлениям архитектуры и технологическим возможностям.

При необходимости вы можете порекомендовать это руководство членам своей команды, чтобы и они были в курсе всех важных аспектов. Если все заинтересованные лица будут использовать общий набор терминологии и придерживаться основополагающих принципов, архитектурные модели и практики будут применяться более последовательно.

Ссылки