Cloud Technology
Developer Path

En el blog de hoy vamos a hablar de algunos de los eventos que se realizaron durante el Día de la tecnología, concretamente aquellos enfocados principalmente para desarrolladores (Developer path).

Durante los días 9 y 10 de junio tuvo lugar el AWS Summit 2021

AWS Summit Online une a la comunidad de la nube de Europa, Oriente Medio y África (EMEA) para presenciar ponencias inaugurales de los líderes del sector locales, profundizar en sesiones educativas, participar en laboratorios prácticos y hablar de manera individual con expertos de AWS.

El primer día (Día de la tecnología) estuvo principalmente centrado en tratar algunos de los temas de más actualidad de la informática en la nube, con especial atención a los últimos productos y servicios de AWS.

En el segundo (Día de la innovación) el evento se enfocó más en proporcionar conocimiento e ideas para acelerar el crecimiento en negocios.

Developer path

AWS CDK: la nueva generación de infraestructura como código

Este evento consistió en presentar una de las últimas herramientas desarrolladas por AWS

CDK nos permite definir nuestra infraestructura como código. Esta herramienta es muy similar a Terraform, pero solo permite definir recursos en AWS.

Además, podemos definir nuestra infraestructura en múltiples lenguajes de programación (Python, Javascript, Typescript, Java, C#, Go [Alpha]). Internamente esta herramienta lo que hace es transformar dichas definiciones en plantillas de CloudFormation y las aplica.

blog developer path

El principal atractivo que ofrece esta herramienta es la amplia configuración por defecto que ofrece siguiendo los mejores estándares de buenas prácticas de AWS.

Esto permite definir nuestra infraestructura de una forma muy concisa. 

Las definiciones de nivel 1 (L1) consisten en relaciones casi uno a uno entre la definición de nuestro código y la plantilla de CloudFormation generada. A continuación podemos ver un ejemplo donde se crea un Bucket en S3.

También tenemos las definiciones de nivel 2 (L2) que permiten definir en un par de líneas una infraestructura que ocupa unas cien líneas si la tuviésemos que definir directamente en CloudFormation. Esto es gracias a todos los parámetros por defecto, los cuales se pueden modificar si se desea. A continuación podemos ver un ejemplo donde se crea una VPC.

Las definiciones de nivel 3 (L3) son las más potentes, estas permiten definir patrones de infraestructura en un par de líneas. Estos mismos definidos en CloudFormation habrían requerido cerca del millar de líneas. A continuación, veremos un ejemplo donde se hace un deploy de una aplicación en Fargate con balanceador.

Como hemos podido observar CDK es una herramienta muy potente. Si tenemos gran parte de nuestra infraestructura o toda ella en AWS es una opción a tener en cuenta. Gracias a su gran capacidad de abstracción podemos definir infraestructuras amplias y/o complejas mediante un reducido número de líneas, lo que la convierte de facto en una alternativa muy atractiva respecto a otras herramientas (como por ejemplo Terraform) donde la cantidad de líneas a definir es bastante mayor  y por lo tanto el tiempo invertido es muchísimo mayor.

¿Cómo las arquitecturas serverless apoyan a la innovación?

En este evento se han presentado dos importantes mejoras en Lambda, las Lambda extensions y los Lambda containers.

Las Lambda extensions permiten integrar de una forma casi automática las funciones Lambda con herramientas de monitorización, seguridad y gobierno.

Esto permite integrar muchas herramientas de terceros con Lambda.

El poder ejecutar contenedores en Lambda nos permite utilizar funciones Lambda que hemos añadido a un contenedor previamente (generado a partir de imágenes provistas por AWS o de terceros). Esto permite utilizar pipelines más estandarizados, además de poder testear los contenedores mediante el AWS Lambda Runtime Interface Emulator.

Actualmente se pueden generar contenedores para todos los lenguajes soportados por lambda y estos deben de tener un tamaño inferior a 10 GB.

Otro cambio a tener en cuenta es la facturación de las funciones Lambda, se ha reducido la granularidad del tiempo de facturación de 100 ms a 1 ms permitiendo así reducir aún más el coste.

Orquestación de contenedores con EKS

Actualmente AWS ofrece dos servicios para desplegar contenedores.

El servicio ECS es la implementación propia de AWS para desplegar contenedores. Esta opción reduce el número de decisiones a tomar así como el tiempo de desarrollo, despliegue y migrado, sin perder capacidades de escalabilidad.

Por otro lado, el servicio EKS nos ofrece una versión estandarizada de Kubernetes, por lo que todo lo que despleguemos en él será 100% compatible con cualquier entorno de Kubernetes.

Tanto ambos servicios como otros enfocados a distintos casos de uso proporcionan una amplia cobertura de todos los casos de uso en los que se necesita hacer uso de contenedores.

Improving Code Quality and Application Availability Using AWS AI Services

Este evento se centró en los servicios que ofrece AWS para mejorar la calidad de nuestro código.

Amazon CodeGuru Reviewer es un servicio que utiliza “machine learning” para identificar problemas críticos y bugs en el código.

Actualmente soporta los siguientes repositorios de código:

  • Github
  • AWS CodeCommit
  • Github Enterprise Cloud
  • Bitbucket
  • Github Enterprise Server
  • Amazon S3

Esta herramienta genera Code Reviews cada vez que analiza el código.

Cada vez los precios de esta herramienta están siendo más competitivos estando ahora situados en 10 USD por cada 100.000 líneas de código.

Amazon CodeGuru Profiler permite analizar el funcionamiento de aplicaciones desplegadas (incluso en Lambda) para detectar aquellas partes que consumen más recursos.

Actualmente están soportados todos los lenguajes que funcionan sobre la JVM y Python.

Una vez que el profiler ya esté configurado podemos acceder a múltiples paneles de visualización  de datos así como varias secciones de anomalías y recomendaciones. De esta forma podemos detectar las partes más críticas de nuestras aplicaciones que deben ser mejoradas para no consumir tantos recursos.

 

Actualmente los costes de este servicio son muy bajos, 0,005 USD por hora muestreada, con un límite mensual de 36.000 horas.

Conclusiones

Como hemos podido ver durante todos los eventos, la estrategia de AWS continúa siendo apostar cada vez más por el Serverless y por simplificar el uso de sus servicios así como ofrecer precios y formas de facturación muy competentes en el mercado cloud. Además parece que cada vez va ganando más tracción el uso de IA/ML integrandolo poco a poco en sus propios servicios.

El punto fuerte del día ha sido la presentación de la herramienta CDK la cual tiene un enorme potencial.

// ¿Quieres saber más sobre AWS?

¡Habla con nuestros expertos!

Author

Sandra Ciruelos

Leave a comment

Tu dirección de correo electrónico no será publicada.