https://www.gitbook.com/download/mobi/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/download/epub/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/book/dzfweb/microsoft-microservices-book/details
DESCARGA disponible en: https://aka.ms/microservicesebook
PUBLICADO POR
División de desarrolladores de Microsoft, equipos de productos .NET y Visual Studio
Una división de Microsoft Corporation
Una forma de Microsoft
Redmond, Washington 98052-6399
Copyright © 2017 por Microsoft Corporation
Reservados todos los derechos. Ninguna parte del contenido de este libro puede reproducirse o transmitirse de ninguna forma ni por ningún medio sin el permiso por escrito del editor.
Este libro se proporciona "tal cual" y expresa los puntos de vista y opiniones del autor. Los puntos de vista, opiniones e información expresada en este libro, incluida la URL y otras referencias a sitios web de Internet, pueden cambiar sin previo aviso.
Algunos ejemplos aquí representados se proporcionan únicamente con fines ilustrativos y son ficticios. No se pretende ni debe inferirse ninguna asociación o conexión real.
Microsoft y las marcas comerciales enumeradas en http://www.microsoft.com en la página web “Marcas comerciales” son marcas comerciales del grupo de empresas Microsoft.
Mac y macOS son marcas comerciales de Apple Inc.
El logotipo de la ballena Docker es una marca registrada de Docker, Inc. Usada con permiso.
Todas las demás marcas y logotipos son propiedad de sus respectivos dueños.
Coautores:
Cesar de la Torre , PM senior, equipo de producto .NET, Microsoft Corp.
Bill Wagner , desarrollador de contenidos sénior, C+E, Microsoft Corp.
Mike Rousos , ingeniero de software principal, equipo DevDiv CAT, Microsoft
Editores:
mike papa
Steve Hoag
Participantes y revisores:
Jeffrey Ritcher , ingeniero de software asociado, equipo de Azure, Microsoft
Jimmy Bogard , arquitecto jefe de Headspring
Udi Dahan , fundador y director ejecutivo de Particular Software
Jimmy Nilsson , cofundador y director ejecutivo de Factor10
Glenn Condron , director sénior de programas, equipo ASP.NET
Mark Fussell , líder principal de PM, equipo de Azure Service Fabric, Microsoft
Diego Vega , líder de PM, equipo de Entity Framework, Microsoft
Barry Dorrans , director sénior del programa de seguridad
Rowan Miller , director sénior de programas, Microsoft
Ankit Asthana , director principal de PM, equipo .NET, Microsoft
Scott Hunter , director asociado PM, equipo .NET, Microsoft
Dylan Reisenberger , arquitecto y jefe de desarrollo de Polly
Steve Smith , formador y artesano de software en ASPSmith Ltd.
Ian Cooper , arquitecto de codificación de Brighter
Unai Zorrilla , arquitecto y desarrollador jefe de Plain Concepts
Eduard Tomas , líder de desarrollo de Plain Concepts
Ramón Tomás , desarrollador de Plain Concepts
David Sanz , desarrollador de Plain Concepts
Javier Valero , Director General de Operaciones de Grupo Solutio
Pierre Millet , consultor sénior, Microsoft
Michael Friis , director de producto, Docker Inc.
Charles Lowell , ingeniero de software, equipo VS CAT, Microsoft
Las empresas están logrando cada vez más ahorros de costos, resolviendo problemas de implementación y mejorando DevOps y las operaciones de producción mediante el uso de contenedores. Microsoft ha estado lanzando innovaciones en contenedores para Windows y Linux mediante la creación de productos como Azure Container Service y Azure Service Fabric, y asociándose con líderes de la industria como Docker, Mesosphere y Kubernetes. Estos productos ofrecen soluciones de contenedores que ayudan a las empresas a crear e implementar aplicaciones a la velocidad y escala de la nube, cualquiera que sea su elección de plataforma o herramientas.
Docker se está convirtiendo en el estándar de facto en la industria de contenedores, respaldado por los proveedores más importantes de los ecosistemas Windows y Linux. (Microsoft es uno de los principales proveedores de nube que respaldan a Docker). En el futuro, Docker probablemente estará omnipresente en cualquier centro de datos en la nube o en las instalaciones.
Además, la arquitectura de microservicios está surgiendo como un enfoque importante para aplicaciones distribuidas de misión crítica. En una arquitectura basada en microservicios, la aplicación se basa en una colección de servicios que se pueden desarrollar, probar, implementar y versionar de forma independiente.
Esta guía es una introducción al desarrollo de aplicaciones basadas en microservicios y a su gestión mediante contenedores. Analiza el diseño arquitectónico y los enfoques de implementación utilizando contenedores .NET Core y Docker. Para que sea más fácil comenzar con contenedores y microservicios, la guía se centra en una aplicación de referencia basada en contenedores y microservicios que puede explorar. La aplicación de muestra está disponible en el repositorio de GitHub de eShopOnContainers.
Esta guía proporciona orientación arquitectónica y de desarrollo fundamental principalmente a nivel de entorno de desarrollo, centrándose en dos tecnologías: Docker y .NET Core. Nuestra intención es que leas esta guía cuando pienses en el diseño de tu aplicación sin centrarte en la infraestructura (en la nube o local) de tu entorno de producción. Tomará decisiones sobre su infraestructura más adelante, cuando cree sus aplicaciones listas para producción. Por lo tanto, esta guía pretende ser independiente de la infraestructura y más centrada en el entorno de desarrollo.
Después de haber estudiado esta guía, el siguiente paso sería aprender sobre los microservicios listos para producción en Microsoft Azure.
Esta guía no se centra en el ciclo de vida de la aplicación, DevOps, canalizaciones de CI/CD ni el trabajo en equipo. La guía complementaria Ciclo de vida de las aplicaciones Docker en contenedores con plataforma y herramientas de Microsoft se centra en ese tema. La guía actual tampoco proporciona detalles de implementación sobre la infraestructura de Azure, como información sobre orquestadores específicos.
Escribimos esta guía para desarrolladores y arquitectos de soluciones que son nuevos en el desarrollo de aplicaciones basadas en Docker y en la arquitectura basada en microservicios. Esta guía es para usted si desea aprender a diseñar, diseñar e implementar aplicaciones de prueba de concepto con tecnologías de desarrollo de Microsoft (con especial atención en .NET Core) y con contenedores Docker.
También encontrará útil esta guía si es una persona que toma decisiones técnicas, como un arquitecto empresarial, que desea una descripción general de la arquitectura y la tecnología antes de decidir qué enfoque seleccionar para aplicaciones distribuidas nuevas y modernas.
La primera parte de esta guía presenta los contenedores Docker, analiza cómo elegir entre .NET Core y .NET Framework como marco de desarrollo y proporciona una descripción general de los microservicios. Este contenido está dirigido a arquitectos y tomadores de decisiones técnicas que desean una descripción general pero que no necesitan centrarse en los detalles de implementación del código.
La segunda parte de la guía comienza con la sección Proceso de desarrollo de aplicaciones basadas en Docker. Se centra en patrones de desarrollo y microservicios para implementar aplicaciones utilizando .NET Core y Docker. Esta sección será de mayor interés para desarrolladores y arquitectos que quieran centrarse en el código, los patrones y los detalles de implementación.
La aplicación eShopOnContainers es una aplicación de referencia para .NET Core y microservicios que está diseñada para implementarse mediante contenedores Docker. La aplicación consta de varios subsistemas, incluidas varias interfaces de interfaz de usuario de tiendas electrónicas (una aplicación web y una aplicación móvil nativa). También incluye los microservicios y contenedores back-end para todas las operaciones requeridas del lado del servidor.
El código fuente de este microservicio y aplicación basada en contenedores es de código abierto y está disponible en el repositorio de GitHub de eShopOnContainers.
Escribimos esta guía para ayudarlo a comprender la arquitectura de microservicios y aplicaciones en contenedores en .NET. La guía y la aplicación de referencia relacionada evolucionarán, por lo que agradecemos sus comentarios. Si tiene comentarios sobre cómo se puede mejorar esta guía, envíelos a:
[!div class="paso a paso"] [Siguiente] (container-docker-introduction/index.md)