¿Está buscando una manera de mejorar el rendimiento y la confiabilidad de sus sistemas de pago y compras en línea durante la temporada navideña? ¡Mira las imágenes pulidas de Ubuntu! En esta serie de blogs, he discutido los beneficios de usar estas imágenes livianas y eficientes para aplicaciones en contenedores. En esta segunda entrega, le mostraré cómo poner en práctica estos beneficios con una aplicación de compras navideñas ASP.NET. Prepárese para adornar los pasillos (y sus contenedores) con Ubuntu.
Tabla de Contenidos
Experiencia de compras navideñas
¿Listo para comenzar tus compras navideñas? Primero, revisaré una aplicación de demostración de compras en línea creada con ASP.NET y un contenedor de Ubuntu bien diseñado. Luego, también les presentaré el entorno utilizado para realizar las pruebas y comparaciones.
Para nuestra aplicación de demostración, utilicé la muestra eShop ASP.NET Core 6.0 solicitud de referencia Creado por los equipos de Microsoft. La aplicación se divide en tres componentes: servidor API, servidor web y base de datos del servidor SQL.
yo creo Las dos bifurcaciones de esta aplicación de demostración., uno con el contenedor tradicional de Ubuntu y el otro con el nuevo contenedor de Ubuntu que creamos para ASP.NET 6. Luego comparé las propiedades y el rendimiento de las dos versiones utilizando un entorno virtualizado clonado con recursos limitados.
Mi laboratorio tiene 4 GB de RAM, 20 GB de disco paso múltiple Máquina virtual con 2 CPU virtuales que ejecutan Ubuntu 22.04. Usé el mismo entorno limpio para ambas versiones de nuestra aplicación de demostración para garantizar una comparación justa. Mediante el uso de un entorno virtualizado clonado con recursos limitados, pude comparar con precisión las propiedades y el rendimiento de las dos versiones sin introducir sesgos. También me aseguré de mantener condiciones operativas constantes (tanto como fuera posible) durante las pruebas.
Ahora, desglosemos los beneficios de un Ubuntu bien diseñado y mostremos cómo pueden hacer que su experiencia de compras navideñas sea más rápida, segura y escalable.
Ubuntu compacto es más pequeño y ahorra más
Sin duda, el mayor beneficio de usar imágenes de contenedores de Ubuntu bien diseñadas es su tamaño más pequeño. ¡Este es probablemente el más fácil de explicar! Compararemos el tamaño de las imágenes de contenedor utilizadas para implementar nuestra demostración en línea de eShop, utilizando tanto la imagen cincelada de Ubuntu como la imagen base habitual de Ubuntu.
La siguiente tabla muestra los tamaños de imagen sin comprimir en megabytes para los dos componentes principales:
tipo de imagen básica | Tamaño de imagen «API» | tamaño de imagen «web» |
Versión de soporte a largo plazo de Ubuntu 22.04 | 284 MB | 317 MB |
Ubuntu cincelado 22.04 | 181 MB (-36%) | 250 MB (-veintiuno%) |
Como puede ver en la tabla anterior, la imagen cincelada basada en Ubuntu es 100 MB más pequeña que la imagen tradicional basada en Ubuntu, lo que ahorra espacio en disco y ancho de banda al descargar y ejecutar la imagen. Para las aplicaciones implementadas a escala, especialmente en entornos informáticos distribuidos y de borde, esto puede generar ahorros significativos en los costos de almacenamiento e implementación.
Si bien me gustaría ahorrar más, los componentes web de nuestra aplicación de demostración utilizan SqlClient de ASP.NET, que requiere la característica de globalización y el paquete de globalización ICU que lo acompaña. Como resultado, tuve que usar una base de Ubuntu bien diseñada que incluía el paquete ICU, que era un 40 % más grande que el Ubuntu bien diseñado que se usó para la imagen ASP.NET. Disponible en MCRSin embargo, noté tiempos de compilación más rápidos debido al ahorro de ancho de banda de la red al extraer la imagen base cincelada más pequeña.
Manténgase seguro con Ubuntu elegante
Las imágenes cinceladas de Ubuntu se crean utilizando componentes de alta calidad del sistema operativo Ubuntu y se actualizan de acuerdo con el mismo ciclo de lanzamiento y la misma garantía de soporte. Ubuntu tiene un historial comprobado de recibir correcciones de errores críticos en menos de 24 horas. Además, el tamaño más pequeño de la imagen OCI de Ubuntu significa menos oportunidades para que los atacantes exploten (superficie de ataque reducida).
Además, una imagen de Ubuntu bien diseñada no contiene bibliotecas, herramientas o componentes adicionales que normalmente se encuentran en las distribuciones de Linux. Esto significa que no hay administradores de paquetes, shells u otras utilidades disponibles para los posibles piratas informáticos. Finalmente, las imágenes de Ubuntu preconstruidas para .NET y ASP.NET no incluyen el «raíz” usuarios, inhibiendo la escalada de privilegios para posibles atacantes.
Echa un vistazo a Rich Lander (@runfaster2000) y mi presentación conjunta en la .NET Developers Conference 2022 para demostrar el concepto de las ventajas de seguridad mejoradas de Ubuntu:
Corre más rápido con Ubuntu
Además de ser más pequeña y más segura, una imagen de Ubuntu pulida puede mejorar el rendimiento de las aplicaciones en la nube y en contenedores.
El tiempo de inicio y el uso de recursos para cada tipo de contenedor se muestran en la siguiente tabla:
tipo de imagen básica | Hora de inicio | uso de CPU | uso de memoria | CPU (servidor web estresado) | Memoria (servidor web estresado) |
ubuntu | 4.608s | ~0.1% | 76-81 MB | 115% | 218 MB |
Ubuntu cincelado | 3.721 segundos | ~0.0% | 67-79 MB | 118% | 172 MB |
Para medir el tiempo de inicio, cronometré la duración del comando docker-compose up -d
, todas las imágenes se almacenan en caché localmente. Esta no es una métrica perfecta, solo tiene en cuenta el tiempo de creación y arranque del contenedor. Pero como puede ver, ya es un buen indicador de que la imagen cincelada comienza más rápido (casi un 20% más rápido).
Para medir el consumo de recursos, simplemente usé el comando docker stats. Después de que se inició la aplicación, primero comparé la memoria y el uso de la CPU.Luego hice una prueba de estrés de diligencia debida del componente web, usando cURL para generar 500 solicitudes, hasta 5 en paralelo (honor Ivo en dev.to solicitar opiniones). Como puede ver, la adopción de contenedores Ubuntu ingeniosos reduce el uso de memoria (7%), especialmente en situaciones estresantes (21%).
Esto significa que las aplicaciones pueden estar en funcionamiento más rápido y de manera más eficiente en el sistema host. ¡Esto significa una experiencia de usuario más rápida y receptiva para nuestros clientes de compras navideñas en línea!
Celebra la temporada con Ubuntu elegante
En esta serie de blogs, muestro los beneficios clave de usar una imagen de Ubuntu bien diseñada en la práctica mediante la creación de una aplicación de compras en línea simple usando el tiempo de ejecución de ASP.NET. Aunque mis medidas pueden no ser las más precisas, la mejora de Ubuntu a un Ubuntu bien diseñado como imagen base para .NET/ASP.NET es bastante impresionante. Todo esto prácticamente no ha cambiado y proporciona una experiencia de desarrollador continua y sin inconvenientes.
Mientras miramos hacia el nuevo año, lo animo a que pruebe las imágenes de Ubuntu bien diseñadas y vea los beneficios para sus propias aplicaciones. Ya sea que sea un desarrollador, un administrador de sistemas o simplemente desee obtener más información sobre la tecnología de contenedores, la imagen ordenada de Ubuntu puede brindarle una plataforma estable, eficiente y segura para implementar y ejecutar sus aplicaciones.
Así que no deje que la temporada navideña sea un problema; use una imagen de Ubuntu bien diseñada para mantener sus aplicaciones en contenedores funcionando sin problemas y garantizar que sus clientes tengan una experiencia feliz. ¡Felices fiestas y feliz boxeo!