Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Contenedorizar. NETaplicaciones
Información general
Los contenedores son una forma ligera y eficiente de empaquetar e implementar aplicaciones de forma coherente y reproducible. En esta sección se explica cómo puede utilizar AWS Fargate un servicio de contenedores sin servidor para reducir sus costes. NETaplicaciones y, al mismo tiempo, proporciona una infraestructura escalable y confiable.
Impacto en los costos
Algunos factores que influyen en la eficacia del uso de contenedores para ahorrar costos incluyen el tamaño y la complejidad de la aplicación, la cantidad de aplicaciones que deben implementarse y el nivel de tráfico y demanda de las aplicaciones. En el caso de aplicaciones pequeñas o sencillas, es posible que los contenedores no supongan un ahorro de costes significativo en comparación con los enfoques de infraestructura tradicionales, ya que la sobrecarga que supone gestionar los contenedores y los servicios asociados puede, de hecho, aumentar los costes. Sin embargo, para aplicaciones más grandes o complejas, el uso de contenedores puede suponer un ahorro de costes al mejorar la utilización de los recursos y reducir la cantidad de instancias necesarias.
Le recomendamos que tenga en cuenta lo siguiente cuando utilice contenedores para ahorrar costes:
-
Tamaño y complejidad de las aplicaciones: las aplicaciones más grandes y complejas son más adecuadas para la contenedorización porque suelen requerir más recursos y pueden beneficiarse más de una mejor utilización de los recursos.
-
Cantidad de aplicaciones: cuantas más aplicaciones deba implementar su organización, mayor será el ahorro de costos que se logrará mediante la contenedorización.
-
Tráfico y demanda: las aplicaciones que experimentan un tráfico y una demanda elevados pueden beneficiarse de la escalabilidad y la elasticidad que ofrecen los contenedores. Esto puede suponer un ahorro de costes.
Las diferentes arquitecturas y sistemas operativos afectan a los costos de los contenedores. Si utiliza contenedores de Windows, es posible que los costos no disminuyan debido a consideraciones de licencia. Los costos de licencia son más bajos o inexistentes con los contenedores de Linux. AWS Fargate En el siguiente gráfico se utiliza una configuración básica de la región EE.UU. Este (Ohio) con los siguientes ajustes: 30 tareas al mes, ejecutándose durante 12 horas cada una con 4 vCPUs y 8 GB de memoria asignados.
Puede elegir entre dos plataformas informáticas principales para ejecutar sus contenedores AWS: hosts de contenedores EC2 basados y sin servidor
En el siguiente gráfico se muestra la diferencia entre contenedores equivalentes que utilizan Fargate y Amazon. EC2 Gracias a la flexibilidad de Fargate, las tareas de una aplicación pueden ejecutarse 12 horas al día, sin utilizarlas fuera del horario laboral. Sin embargo, en el caso de AmazonECS, debe controlar la capacidad de cómputo mediante un grupo de EC2 instancias de Auto Scaling. Esto puede hacer que la capacidad funcione las 24 horas del día, lo que, en última instancia, puede aumentar los costos.
Recomendaciones de optimización de costes
Utilice contenedores de Linux en lugar de Windows
Puede lograr ahorros significativos si utiliza contenedores de Linux en lugar de contenedores de Windows. Por ejemplo, puede lograr un ahorro de aproximadamente un 45 por ciento en los costes de procesamiento si utiliza el. NETCore en EC2 Linux en lugar de ejecutar el. NETFramework en EC2 Windows. Puede obtener un ahorro adicional del 40 por ciento si utiliza la ARM arquitectura (AWS Graviton) en lugar de x86.
Si planea ejecutar contenedores basados en Linux para los existentes. NETPara las aplicaciones marco, debe portarlas a versiones modernas y multiplataforma de. NET(como. NET
Otro beneficio de pasar a lo moderno. NET(es decir, lejos del. NETEl marco) es que estén disponibles oportunidades de modernización adicionales. Por ejemplo, puede considerar la posibilidad de rediseñar la arquitectura de su aplicación para convertirla en una arquitectura basada en microservicios que sea más escalable, ágil y rentable.
El siguiente diagrama ilustra el proceso de toma de decisiones para explorar las oportunidades de modernización.
Aproveche los Savings Plans
Los contenedores pueden ayudarte a aprovechar Compute Savings Plans
Es importante entender que los Compute Savings Plans se aplican primero al uso que te permita ahorrar más. Por ejemplo, si ejecuta una instancia Linux t3.medium us-east-2
y una instancia t3.medium de Windows idéntica, la instancia Linux recibe primero el beneficio del Savings Plan. Esto se debe a que la instancia de Linux tiene un potencial de ahorro del 50 por ciento, mientras que la misma instancia de Windows tiene un potencial de ahorro del 35 por ciento. Si tiene otros recursos aptos para el Savings Plan Cuenta de AWS, como Amazon EC2 o Lambda, no es necesario que su Savings Plan se aplique primero a Fargate. Para obtener más información, consulta Cómo se aplican los Savings Plans a tu AWS uso en la documentación de Savings Plans y en la EC2 sección Optimizar el gasto para Windows en Amazon de esta guía.
Tareas Fargate del tamaño correcto
Es importante asegurarse de que las tareas de Fargate tengan el tamaño correcto para lograr el máximo grado de optimización de costos. Con frecuencia, los desarrolladores no disponen de toda la información de uso necesaria a la hora de determinar inicialmente las configuraciones de las tareas de Fargate utilizadas en sus aplicaciones. Esto puede provocar un aprovisionamiento excesivo de tareas y, posteriormente, generar gastos innecesarios. Para evitarlo, le recomendamos que cargue las aplicaciones de prueba que se ejecutan en Fargate para comprender cómo funciona la configuración de una tarea específica en diferentes escenarios de uso. Puede usar los resultados de las pruebas de carga, vCPU, la asignación de memoria de las tareas y las políticas de autoescalado para encontrar el equilibrio adecuado entre rendimiento y costo.
En el siguiente diagrama, se muestra cómo Compute Optimizer genera recomendaciones para el tamaño óptimo de la tarea y el contenedor.
Un enfoque consiste en utilizar una herramienta de pruebas de carga, como la que se describe en Distributed Load Testing on AWS
Recursos adicionales de
-
Lista de verificación de optimización de costos para Amazon ECS y AWS Fargate
(entrada del blog AWS Containers) -
Optimización teórica de costes por tipo de ECS lanzamiento de Amazon: Fargate vs EC2
(entrada del blog de AWS Containers) -
Asistente de portabilidad para. NET
(AWS documentación) -
Pruebas de carga distribuidas en AWS
(biblioteca de AWS soluciones) -
AWS Compute Optimizer lanza el soporte para ECS los servicios de Amazon en AWS Fargate
(entrada del blog AWS Cloud Financial Management)