Amazon Web Services (AWS) siempre está ocupado introduciendo nuevos servicios, mejorando los existentes y, muy a menudo, impulsando tendencias. Sin embargo, la compañía ha mejorado su juego aún más en los últimos meses.
En la primera mitad de 2020, AWS anunció un número sorprendente de desarrollos que permiten la interoperabilidad de la tecnología, simplificando la eliminación de las características heredadas, creando una mayor flexibilidad y ahorro de tiempo para los desarrolladores, y poniendo nuevas capacidades al alcance de los usuarios finales.
Poder de ARMAR
Vas a escuchar mucho sobre la arquitectura de los procesadores ARM y no sólo porque ARM, el fabricante de chips, sea adquirido por Nvidia, el principal fabricante de GPU.
Desarrollados en los años 80, los procesadores ARM están finalmente dando sus pasos mientras las compañías están adoptando los chips basados en ARM. Los procesadores basados en ARM combinan diseños RISC de alto rendimiento, menores costes de fabricación y menor consumo de energía, lo que los hace ideales para dispositivos portátiles como teléfonos inteligentes, tabletas e incluso ordenadores portátiles. Cada vez más empresas están diseñando procesadores que implementan la arquitectura ARM, incluyendo grandes nombres como Apple, AppliedMicro, Broadcom, Qualcomm y Samsung Electronics. Este año, Apple trajo los chips ARM al mundo de los ordenadores de sobremesa con extensiones a medida como un enclave de seguridad incorporado, un coprocesador de movimiento y un motor neuronal.
AWS está entre los que abrazan la arquitectura ARM. Esto ha llevado a la introducción de una serie de servicios robustos que beneficiarán tanto a los desarrolladores como a los usuarios finales. Un ejemplo: este verano, AWS anunció la disponibilidad general de su sexta generación de instancias de Amazon Elastic Compute Cloud (Amazon EC2), incluyendo instancias de propósito general (M6g), optimizadas para computación (C6g) y optimizadas para memoria (R6g). Potenciadas por procesadores Graviton2 basados en ARM y diseñados por AWS, ofrecen hasta un 40% más de precio/rendimiento que las instancias comparables basadas en x86 de la generación actual.
También ofrecen un 50% más de almacenamiento NVMe SSD GB/vCPU en comparación con instancias comparables basadas en x86. El almacenamiento local en SSD funciona bien para aplicaciones que requieren almacenamiento de alta velocidad y baja latencia, y almacenamiento temporal de datos como el procesamiento de lotes y registros, y cachés de alta velocidad y archivos de «scratch».
Son ideales para cargas de trabajo que van desde servidores de aplicaciones, microservicios y computación de alto rendimiento hasta inferencia de aprendizaje de máquinas basadas en CPU, automatización de diseño electrónico y juegos. Numerosas organizaciones ya han adoptado con éxito instancias potenciadas por ARM y están obteniendo beneficios de precio y rendimiento.
Las instancias basadas en Graviton de AWS se apoyan en un amplio ecosistema de sistemas operativos y servicios de los Proveedores Independientes de Software (ISV) y AWS. Pueden adquirirse como Instancias a la carta, reservadas o puntuales; cubiertas por Planes de Ahorro, o como Hosts / Instancias Dedicadas, y soportan un ancho de banda de hasta 19 Gbps de Elastic Block Store (EBS).
Los propios procesadores AWS Graviton2, lanzados a finales de 2019, también merecen reconocimiento. En comparación con los procesadores Graviton de primera generación alimentados por ARM, proporcionan el doble de rendimiento de punto flotante por núcleo para cargas de trabajo científicas y de computación de alto rendimiento. También ofrecen instrucciones optimizadas para una inferencia de aprendizaje automático más rápida, memoria DDR4 siempre activa y totalmente cifrada, y un rendimiento de cifrado por núcleo un 50% más rápido para mejorar aún más la seguridad.
Varios servicios de AWS, como Amazon Elastic Load Balancing, Amazon ElastiCache y Amazon Elastic Map Reduce, han logrado una relación precio/rendimiento superior en las pruebas y pasarán a la producción en instancias basadas en Graviton2.
Mejor y más fácil manejo de los artefactos
AWS no es la única organización que opta por el ARM. Como muchos otros se preparan para hacer un movimiento, AWS está haciendo su parte para facilitar la transición. Esto incluye el despliegue de servicios que agilizan varios aspectos del proceso de desarrollo de aplicaciones, de acuerdo con las eficiencias y el aumento de rendimiento que ofrecen los chips basados en ARM.
Uno de los que más nos entusiasma es el Artefacto del Código de AWS. Este servicio de repositorio de artefactos de software totalmente gestionado elimina la necesidad de configurar, operar y escalar la infraestructura necesaria para la gestión de artefactos. Funciona con los gestores de paquetes y herramientas comúnmente utilizados como Maven y Gradle (Java), npm / hilo (JavaScript), y pip/twine (Python), por lo que puede ser fácilmente integrado en los flujos de trabajo de desarrollo existentes.
AWS CodeArtifact puede utilizarse para crear repositorios centralizados para compartir paquetes de software aprobados para su uso en equipos de desarrollo. Su integración con la Gestión de Identidad y Acceso (IAM) de AWS permite el control de acceso. Su soporte para AWS CloudTrail proporciona visibilidad sobre qué paquetes están en uso y dónde pueden ser fácilmente actualizados o eliminados.
La contenedorización es fácil
El uso de contenedores para modernizar las aplicaciones existentes las hace portátiles, aumenta la agilidad del desarrollo y reduce los costos operacionales. El problema es que el proceso requiere numerosas tareas manuales que consumen mucho tiempo, son propensas a errores y ralentizan los esfuerzos de modernización.
Por eso creemos que otro servicio de AWS recientemente desplegado tendrá un impacto positivo en el proceso de desarrollo de la aplicación. AWS App2Container es una herramienta de línea de comandos que ayuda a contener las aplicaciones existentes que se ejecutan en las instalaciones, Amazon EC2, u otras nubes sin necesidad de cambios de código.
App2Container descubre las aplicaciones que se ejecutan en un servidor, identifica sus dependencias y genera los artefactos relevantes para su despliegue sin problemas en Amazon ECS y Amazon EKS. También proporciona integración con AWS CodeBuild y AWS CodeDeploy para una forma repetible de construir y desplegar aplicaciones en contenedores.
AWS App2Container genera artefactos tales como archivos de acoplamiento, imágenes de contenedores en el Registro de Contenedores Elásticos de Amazon (ECR), definiciones de tareas ECS, despliegue de Kubernetes YAML, plantillas para establecer una tubería de construcción/liberación en AWS CodePipeline, y más.
También se puede usar para contener aplicaciones web ASP.NET (.NET 3.5+) que se ejecutan en IIS 7.5+ en Windows y aplicaciones Java que se ejecutan en Linux.
Revisión y optimización del código
Otra herramienta útil que debutó este verano es el Amazon CodeGuru. Potenciada por el aprendizaje automático, este conjunto de herramientas revisa automáticamente el código en busca de errores y sugiere posibles optimizaciones. Incluye dos componentes:
- Amazon CodeGuru Profiler ayuda a los desarrolladores a encontrar las líneas de código más caras de una aplicación y luego recomienda cómo mejorar el código para ahorrar dinero.
- Amazon CodeGuru Reviewer ayuda a mejorar la calidad del código mediante el uso del aprendizaje automático para identificar problemas críticos y errores difíciles de encontrar durante el desarrollo.
Desarrollo del bricolaje
Un servicio de AWS más recientemente lanzado que queremos mencionar es Amazon Honeycode. Este tiene el potencial de ser un gran ahorro de tiempo para los clientes. La herramienta de desarrollo de bajo código o sin código, totalmente administrada, facilita a cualquiera la construcción rápida de aplicaciones móviles y web potentes sin necesidad de programación.
Los clientes pueden utilizar un simple constructor de aplicaciones visuales para crear aplicaciones web y móviles altamente interactivas, respaldadas por una robusta base de datos construida por AWS para realizar tareas como el seguimiento de los datos a lo largo del tiempo y la notificación a los usuarios de los cambios. Pueden empezar a crear aplicaciones en minutos y construir aplicaciones para hasta 20 usuarios de forma gratuita. Después de eso, pagan por usuario y por la capacidad de almacenamiento consumida.
Lo que sigue es lo que hay ahora
Queremos transmitir el mensaje principal de que AWS está continuamente desarrollando y desplegando servicios que hacen que el desarrollo de aplicaciones sea más fácil y más rentable. Puede poner estos nuevos servicios a trabajar para innovar más, llegar más rápido al mercado, generar ahorros significativos en los costos, y mucho más.
Vyacheslav Gorlov, el Arquitecto de Soluciones Senior en la compañía de integración de sistemas nativos de nubes, consultoría estratégica y desarrollo de aplicaciones ClearScale…es el autor de este artículo.
Los puntos de vista y opiniones expresados en este artículo son los del autor y no reflejan necesariamente los de CDOTrends. Crédito de la imagen: iStockphoto/monstArrr_