Diseño de aplicaciones web modernas con ASP.NET Core y AzureArchitect Modern Web Applications with ASP.NET Core and Azure

Imagen de portada de la guía Diseño de aplicaciones web modernas.

PUBLICADO PORPUBLISHED BY

Equipos de producto de la División de desarrolladores de Microsoft, .NET y Visual StudioMicrosoft Developer Division, .NET, and Visual Studio product teams

División de Microsoft CorporationA division of Microsoft Corporation

One Microsoft WayOne Microsoft Way

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

Copyright © 2019 de Microsoft CorporationCopyright © 2019 by Microsoft Corporation

Todos los derechos reservados.All rights reserved. No se puede reproducir ni transmitir de ninguna forma ni por ningún medio ninguna parte del contenido de este libro sin la autorización por escrito del publicador.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.

Este libro se proporciona “tal cual” y expresa las opiniones del autor.This book is provided “as-is” and expresses the author’s views and opinions. Las opiniones y la información expresados en este libro, incluidas las direcciones URL y otras referencias a sitios web de Internet, pueden cambiar sin previo aviso.The views, opinions and information expressed in this book, including URL and other Internet website references, may change without notice.

Algunos ejemplos descritos aquí se proporcionan únicamente con fines ilustrativos y son ficticios.Some examples depicted herein are provided for illustration only and are fictitious. No debe deducirse ninguna asociación ni conexión reales.No real association or connection is intended or should be inferred.

Microsoft y las marcas comerciales indicadas en https://www.microsoft.com en la página web "Marcas comerciales" pertenecen al grupo de empresas de Microsoft.Microsoft and the trademarks listed at https://www.microsoft.com on the “Trademarks” webpage are trademarks of the Microsoft group of companies.

Mac y macOS son marcas comerciales de Apple Inc.Mac and macOS are trademarks of Apple Inc.

El logotipo de la ballena de Docker es una marca registrada de Docker, Inc. Se usa con permiso.The Docker whale logo is a registered trademark of Docker, Inc. Used by permission.

El resto de marcas y logotipos pertenece a sus respectivos propietarios.All other marks and logos are property of their respective owners.

Autor:Author:

Steve "ardalis" Smith: instructor y arquitecto de software de Ardalis.comSteve "ardalis" Smith - Software Architect and Trainer - Ardalis.com

Editores:Editors:

Maira WenzelMaira Wenzel

IntroducciónIntroduction

.NET Core y ASP.NET Core ofrecen varias ventajas con respecto al desarrollo tradicional con .NET..NET Core and ASP.NET Core offer several advantages over traditional .NET development. Debe usar .NET Core para las aplicaciones de servidor si algunos o todos los elementos siguientes son importantes para el éxito de su aplicación:You should use .NET Core for your server applications if some or all of the following are important to your application's success:

  • Compatibilidad entre plataformas.Cross-platform support.

  • Uso de microservicios.Use of microservices.

  • Uso de contenedores de Docker.Use of Docker containers.

  • Requisitos elevados de rendimiento y escalabilidad.High performance and scalability requirements.

  • Control de versiones en paralelo de versiones de .NET por aplicación en el mismo servidor.Side-by-side versioning of .NET versions by application on the same server.

Las aplicaciones tradicionales de .NET son compatibles con muchos de estos requisitos, pero ASP.NET Core y .NET Core se han optimizado para ofrecer una compatibilidad mejorada para los escenarios anteriores.Traditional .NET applications can and do support many of these requirements, but ASP.NET Core and .NET Core have been optimized to offer improved support for the above scenarios.

Cada vez más organizaciones deciden hospedar sus aplicaciones web en la nube con servicios como Microsoft Azure.More and more organizations are choosing to host their web applications in the cloud using services like Microsoft Azure. Considere la posibilidad de hospedar su aplicación en la nube si los siguientes elementos son importantes para la aplicación o la organización:You should consider hosting your application in the cloud if the following are important to your application or organization:

  • Inversión reducida en costos de centros de datos (hardware, software, espacio, utilidades, administración de servidores, etc.).Reduced investment in data center costs (hardware, software, space, utilities, server management, etc.)

  • Precios flexibles (pago en función del uso, y no por la capacidad inactiva).Flexible pricing (pay based on usage, not for idle capacity).

  • Confiabilidad extrema.Extreme reliability.

  • Movilidad mejorada de la aplicación; modificación sencilla de dónde y cómo implementar la aplicación.Improved app mobility; easily change where and how your app is deployed.

  • Capacidad flexible; escalado o reducción vertical en función de las necesidades reales.Flexible capacity; scale up or down based on actual needs.

La compilación de aplicaciones web con ASP.NET Core, hospedadas en Azure, ofrece muchas ventajas competitivas con respecto a las alternativas tradicionales.Building web applications with ASP.NET Core, hosted in Azure, offers many competitive advantages over traditional alternatives. Se ha optimizado ASP.NET Core para escenarios de hospedaje en la nube y prácticas de desarrollo de aplicaciones web modernas.ASP.NET Core is optimized for modern web application development practices and cloud hosting scenarios. En esta guía se ofrece información sobre cómo diseñar aplicaciones con ASP.NET Core para sacar el máximo provecho de estas funcionalidades.In this guide, you'll learn how to architect your ASP.NET Core applications to best take advantage of these capabilities.

PropósitoPurpose

En esta guía se proporcionan instrucciones integrales sobre cómo compilar aplicaciones web monolíticas con ASP.NET Core y Azure.This guide provides end-to-end guidance on building monolithic web applications using ASP.NET Core and Azure. En este contexto, "monolíticas" hace referencia al hecho de que estas aplicaciones se implementan como una sola unidad, no como una colección de aplicaciones y servicios que interactúan.In this context, "monolithic" refers to the fact that these applications are deployed as a single unit, not as a collection of interacting services and applications.

Esta guía complementa los microservicios de .NET " . Arquitectura para aplicaciones .NET en contenedor" más centrada en Docker, los microservicios y la implementación de contenedores para hospedar aplicaciones empresariales.This guide is complementary to the ".NET Microservices. Architecture for Containerized .NET Applications" which focuses more on Docker, Microservices, and Deployment of Containers to host enterprise applications.

Microservicios de .NET..NET Microservices. Arquitectura para aplicaciones .NET en contenedorArchitecture for Containerized .NET Applications

Destinatarios de esta guíaWho should use this guide

Los destinatarios de esta guía son principalmente desarrolladores, jefes de desarrollo y arquitectos interesados en crear aplicaciones web modernas con tecnologías y servicios de Microsoft en la nube.The audience for this guide is mainly developers, development leads, and architects who are interested in building modern web applications using Microsoft technologies and services in the cloud.

Otros destinatarios secundarios son los responsables de tomar decisiones técnicas que ya están familiarizados con ASP.NET o Azure y que buscan información sobre si tiene sentido actualizar a ASP.NET Core para los proyectos nuevos o existentes.A secondary audience is technical decision makers who are already familiar ASP.NET or Azure and are looking for information on whether it makes sense to upgrade to ASP.NET Core for new or existing projects.

Cómo leer esta guíaHow you can use this guide

Esta guía se ha comprimido en un documento relativamente pequeño que se centra en la creación de aplicaciones web con modernas tecnologías de .NET y Microsoft Azure.This guide has been condensed into a relatively small document that focuses on building web applications with modern .NET technologies and Windows Azure. Por lo tanto, se puede leer completa para proporcionar una base de conocimiento sobre estas aplicaciones y sus consideraciones técnicas.As such, it can be read in its entirety to provide a foundation of understanding such applications and their technical considerations. La guía, junto con su aplicación de ejemplo, también puede servir como punto inicial o referencia.The guide, along with its sample application, can also serve as a starting point or reference. Use la aplicación de ejemplo asociada como una plantilla para las aplicaciones propias o para consultar cómo se pueden organizar los componentes de la aplicación.Use the associated sample application as a template for your own applications, or to see how you might organize your application's component parts. Consulte los principios y la cobertura de la arquitectura, las opciones tecnológicas y las consideraciones para la toma de decisiones de esta guía a la hora de sopesar estas opciones para su propia aplicación.Refer back to the guide's principles and coverage of architecture and technology options and decision considerations when you're weighing these choices for your own application.

No dude en reenviar esta guía a su equipo para ayudarlo a garantizar una comprensión común de estas consideraciones y oportunidades.Feel free to forward this guide to your team to help ensure a common understanding of these considerations and opportunities. El hecho de que todos los usuarios trabajen a partir de un conjunto común de principios subyacentes y terminología permite garantizar una aplicación coherente de las prácticas y los patrones de diseño.Having everybody working from a common set of terminology and underlying principles helps ensure consistent application of architectural patterns and practices.

ReferenciasReferences