Desarrollo y Migración de APIs con Servicios Informáticos sin Servidor (AWS Lambda & API Gateway)

Jorge Montión, Carlos Esparza, and Pedro Luis Serrano walk through building and moving APIs using AWS Lambda and API Gateway. They cover serverless architecture, microservices design, and real-world API integration patterns for developers working with AWS cloud services.
Muchas gracias a todos por conectarse a nuestro webinar Desarrollo y migración de APIs con servicios informáticos sin Servidor. Vamos a arrancar con respecto a quienes se conectaron temprano. Muchísimas gracias. Esta sesión va a ser grabada y posteriormente se subirá al canal de YouTube, a nuestro canal de YouTube y les enviaremos el link para que puedan revisarla. Una vez más vamos a revisar quiénes son los presentadores en esta sesión. Mi nombre es Jorge Montión, yo soy ejecutivo de Cuenta de Nube en la región Occidente y Bajío. Estoy a sus órdenes. De igual forma nos acompaña también el ingeniero Carlos Esparza, quien es ingeniero de preventa de Servicios Cloud. Y también nos acompaña el ingeniero Pedro Luis Serrano, jefe del área de Preventa. Nosotros estaremos con ustedes acompañándolos durante este webinar. A continuación les presentamos la agenda para que la conozcan de una vez y vean qué servicios vamos a tocar. Primero vamos a hablar un poquito sobre los servicios serverless y el uso de APIs. Vamos a ver, digamos qué son los servicios, algo muy básico. Vamos a revisar la parte de Lambda y su funcionamiento. En el punto 3 vamos a ver las API Gateway y su funcionamiento. También en el punto 4 vamos a revisar la integración de los servicios Lambda más API Gateway y casos de uso. Posteriormente veremos los lenguajes de código permitido para estos servicios. Vamos a revisar después también ejemplos y al final una pequeña conclusión. Vamos a empezar hablando de quién es CompuCloud. Nosotros somos el partner líder en servicios de aws desde el 2012. Contamos nosotros con todas las certificaciones, cada uno de nuestros ingenieros y equipo también de venta y administrativos. Contamos con certificaciones que nos permiten ser un partner advanced, que es uno de los rangos más altos en AWS. De igual forma, tenemos especialistas que nos apoyan en la planeación de lo que son sus arquitecturas. Tenemos un área muy robusta del equipo de preventa, quienes nos acompañan en sesiones iniciales con ustedes para revisar cuál es su necesidad y realizar un dimensionamiento adecuado y acorde a su necesidad. Contamos también con un equipo de implementación que nos apoya con implementaciones y migraciones. Ellos también de igual manera, como ya les comenté, cuentan con todas las certificaciones que nos pide AWS para realizar nuestras implementaciones. Y también contamos con un equipo de Customer Success liderado por la ingeniera Sadia Olivares, quienes de igual manera todos cuentan con las certificaciones por parte de AWS para apoyarnos con temas de moneda, monitoreos, con temas de respaldos, por ahí ellos nos apoyan también a revisar y checar tickets de soporte que ustedes, que ustedes generen a través de sus pólizas. Entonces nosotros somos CompuCloud, les repito, somos el líder en servicios de prestación de nube por parte de AWS. A continuación revisaremos la agenda una vez más para que nosotros ya les había comentado que vamos a revisar en forma muy general lo que son los servicios serverless y lo que son las API para que podamos avanzar ya un poquito más a nivel técnico. Vamos a revisar lo que son los servicios serverless. Cuando hablamos de servicios serverless, esto se refiere a que el proveedor de la nube, en este caso AWS, se encarga de todos los servicios de cómputo, todo lo que se refiere a la RAM, todo lo que se refiere a CPU, todo lo que es el almacenamiento, el proveedor es quien se encarga de proveer todos estos servicios y nosotros solamente nos encargamos de ejecutar, de crear y pues de innovar. Entonces estos servicios son los servicios serverless. Un ejemplo muy claro pudiera ser, no sé si algunos recuerdan cuando existían la parte de los VHS, para ver videos nosotros teníamos que comprar ya sea un VHS o un DVD, posteriormente un Blu ray, un dispositivo con ciertas características para poder visualizar en nuestro televisor una película. Entonces actualmente hay un servicio o varios servicios ya de streaming que nos permiten hacer esto sin necesidad de una consola, sin necesidad de un dispositivo y a través de esto, pues nosotros nos olvidamos del mantenimiento, a lo mejor si se nos descompuso el dispositivo, el VHS ya no funciona, el DVD o la beta en aquel tiempo que ya no funcionaban o están cambiando porque se quedaban obsoletos, esto se olvida en la parte de serverless. Entonces como tal, pues este servicio es proveído por parte de un proveedor, perdón la redundancia de nube. Entonces vamos a revisar un poquito lo que son los beneficios del cómputo en la nube, como ya lo comentamos, el bajo mantenimiento, el mantenimiento es prácticamente de su parte, solamente a nivel sistema operativo, hay mucho por ahí, mucho tema en la parte de administración por parte de ustedes. El pago por uso solamente pues van a pagar lo que se usen los request, las ejecuciones, solamente esta parte se pagaría en estos, en este tipo de servicios. Lo que es la escalabilidad se refiere a que en cualquier momento y dependiendo su necesidad y su crecimiento, pues nosotros podemos crecer o robustecer nuestra arquitectura. De igual forma la alta disponibilidad, tenemos servicios 24 7, estarán funcionando servicios 24 7 y en caso de que haya un error, prácticamente no van a notar la parte de la caída. Entonces estos son los beneficios que les ofrecen los servicios de serverless. A continuación vamos a revisar de una forma como tipo analogía lo que es una API y ya que es importante que conozcamos, porque más adelante vamos a entrar un poquito más a nivel, a detalle técnico, lo que es las APIs. Vemos aquí tres elementos, lo que es el backend, el frontend y lo que son las APIs. Ya transportándolo a la realidad, pues vemos en la imagen, pues vemos unos cocineros, vemos a los cocineros que ellos prácticamente están en la parte de atrás de los restaurantes, normalmente siempre nadie los ve, nadie ve cómo están preparando la comida, etcétera. ¿Posteriormente pues vemos la parte de las mesas en donde están los comensales o los clientes, esta parte es el frontend o digamos también la URL completa y posteriormente Pues tenemos las APIs, pero qué pasaría en un escenario en el que solamente tengamos lo que son las mesas con los clientes y los cocineros? Pues la verdad es que los cocineros no sabrían cuál es la solicitud de los clientes, no sabrían, los clientes también no sabrían cuál es el menú que se va a preparar. Entonces entrando aquí entran las APIs, quienes nos van a apoyar en la interacción con estos dos elementos, con lo que son los cocineros y los y los clientes, ellos van a tomar la orden del cliente, le van a, le van a decir cuál es el menú que se prepara en ese día y ellos posteriormente pues levantan el pedido, lo van a llevar a los, a los cocineros, ellos van a preparar la comida y se la van a regresar los clientes a través de de los meseros. Entonces a muy grandes rasgos y de una forma muy general esto es una API. A continuación se va a lanzar una pregunta y por favor apóyennos a contestarla. ¿La pregunta actualmente utilizas los servicios serverless? Su apoyo para contestarla y posteriormente le cedo la palabra a mi compañero Carlos, quien él nos apoyará con el siguiente tema. Adelante Carlos.
Muchas gracias Jorge y muy buenos días a todos. Un placer estar con ustedes el día de hoy en este webinar. Ahora y continuando con la agenda, yo les hablaré sobre lo que es Lambda y su respectivo funcionamiento en la siguiente diapositiva. Como podremos ver a continuación hablaremos sobre lo que es el servicio de AWS Lambda. Lambda, al igual que otros servicios de AWS, es un servicio informático, está hecho sobre todo para los desarrolladores de APIs y los desarrolladores de aplicaciones. Es un servicio que nos ofrece ejecutar código, con la ventaja de que no tenemos que aprovisionar ni administrar estos servidores. Como ya lo mencionó mi compañero Jorge, pues esta es una gran ventaja al mudarte a la nube, ya que los programadores o los desarrolladores de tus APIs y aplicativos no tendrán que preocuparse ni por la disponibilidad ni por la administración de recursos informáticos, como lo dijo Jorge, lo que es la RAM, la CPU, entre otras. Tampoco se tienen que preocupar por el mantenimiento del servidor, el mantenimiento del sistema operativo, el aprovisionamiento de capacidad y el auto scaling. Así que eso nos da una gran ventaja y sobre todo en aspecto productivo de una empresa, ya que permite que las personas estén enfocadas en el ámbito que les corresponde, o sea que los desarrolladores en este caso se preocupen únicamente por la ejecución correcta de su código. Podemos utilizar AWS para la creación de APIs en la parte del backend y más adelante verán que el utilizar AWS Lambda junto con el servicio de Amazon API Gateway, hacen un muy buen conjunto de servicios de AWS al momento de construir una API. Otra cosa importante es que Lambda admite una gran cantidad de lenguajes utilizados en el mundo actual de desarrollo, como lo son Python, Java, entre otros. Aún así, más adelante se les dará una explicación al respecto de esto. Ahora sí pasaremos un poco a lo que es el funcionamiento de Lambda. Lambda funciona en cuatro pilares fundamentales que son bastante sencillos de entender. El primero se basa en que una vez hayas puesto el nombre de tu proyecto, ahora sí y después de haber seleccionado el tipo de lenguaje y la versión, y una vez dentro de la consola de AWS, te vas a encargar de subir este código de AWS Lambda, ya sea mediante un zip o mediante la misma consola, tiene un editor de código para que ahí tú mismo edites este código y lo subas dentro de lambda. Número 2, configurarás tu código para que utilice los disparadores o triggers de otro servicio de AWS. ¿A qué nos referimos con esto? A que AWS te da una opción de configurar triggers o disparadores para que si ocurre algo en otra aplicación dentro de AWS, ocurra lo que programaste dentro de tu función Lambda también en vez de un servicio de AWS pueden ser endpoints de HTTPs o actividad dentro de otras aplicaciones. Paso número 3 y la más importante de lo que se encarga Lambda, que es correr el código en el respectivo lenguaje que tú programaste y una vez que el disparador se activa, utiliza solamente los recursos de cómputo que se necesita. Una de las ventajas que se mencionó de un servicio serverless es que ya no te tienes que preocupar por establecer cuánta RAM o cuánto CPU debes de utilizar para esta función. AWS Lambda lo detecta en base a tu código y lo aprovisiona correctamente. Y Por último, número 4 y una de las grandes ventajas de mudarse a la nube y de tener este tipo de microservicios, es que solo pagas por el tiempo de cómputo en uso. A lo que nos referimos con esto es que no vas a tener que estar gastando si no estás utilizando el servicio, solamente vas a pagar por ese tiempo de cómputo de la función que programaste en este caso. Continuando con la agenda, ahora sí pasaremos al punto número 3 que es API Gateway y su respectivo funcionamiento. Ahora sí pasaremos a decirles qué es el servicio de API Gateway Amazon API Gateway es un servicio de AWS, al igual que el anterior, desarrollado y enfocado completamente para desarrolladores de APIs en general. ¿Por qué? Porque es un servicio que te permite tanto la creación, publicación, mantenimiento, monitoreo y protección de APIs, ya sea de tipo REST, de tipo HTTP o de tipo de WebSocket a cualquier escala. Como lo mencionó mi compañero Jorge, una API funciona como esta puerta de enlace entre lo que estás desarrollando, entre el backend general y el programa. Así que funciona mediante métodos GET, mediante métodos POST y mediante métodos DELETE. Detecta que hay alguna especie de petición y la API se pone a trabajar en lo que hayas desarrollado. Así que API Gateway es una herramienta bastante completa para aquellos que se encargan de desarrollar APIs actualmente, ya que como lo digo, tiene una amplia cantidad de servicios que te permiten tanto la publicación, el mantenimiento y el monitoreo de todas tus APIs. También es importante mencionar que puedes tú como desarrollador de la API, puedes crear una API tanto para tu uso o para tus clientes externos. Continuando con el funcionamiento, en la siguiente diapositiva también pueden ver este diagrama, es un poco distinto y un poco más grande de lo que se muestra en el diagrama de AWS Lambda, ya que debido a la amplia cantidad de funciones y de características que nos ofrece este servicio, pues es un servicio que se acopla a tus necesidades, si la quieres crear, pues te permite crearla, si la quieres publicar, si la quieres simplemente dar el respectivo mantenimiento, pues Amazon API Gateway se acopla a tu infraestructura actual, ya sea mediante aplicaciones web y móviles, mediante dispositivos inteligentes o mediante aplicaciones privadas por medio de una VPC. Simplemente tendrías que configurar tu función que programaste en el AWS Lambda, configurar un disparador de Amazon API Gateway y cada que detecte una petición ya sea de tipo GET, POST o DELETE, pues esta API entrará en funcionamiento. Entonces, cerrando un poquito este tema, como lo indica la diapositiva, API Gateway gestiona todas las tareas relacionadas con la aceptación y el procesamiento de centenares de miles de llamadas simultáneas a la API. Estas tareas incluyen la administración del tráfico, el control de autorización, el acceso, monitoreo y administración de versiones de la API. Así que como podemos ver, si hacemos un correcto acoplamiento de los servicios de AWS Lambda y de Amazon API Gateway, si los trabajamos en conjunto, podemos crear una buena infraestructura de microservicios que nos ayuden a desarrollar estas APIs en nuestro ambiente actual de desarrollo. Continuando con la siguiente diapositiva, ahora sí, al igual que anteriormente, pasaremos a una segunda pregunta que si nos pueden ayudar a contestarles, estará apareciendo en la pantalla. Y una vez terminado esto, pasaremos con el líder de DevOps y el líder de Preventa, que es el ingeniero Pedro Serrano, que les hablará un poco más de la integración de estos servicios. De mi parte sería todo, muchas gracias.
Muchas gracias Carlos, muchas gracias a todos por acompañarnos. Como tal, aquí está la ¿Han utilizado algún microservicio para reducir los esfuerzos de programación y permitir que tus aplicaciones sean más eficientes? Bueno, muchas gracias a quien nos está contestando. Como bien comentó mi compañero Carlos, yo me presento, soy el ingeniero Pedro Serrano, soy líder del departamento de Preventa y DevOps aquí en CompuCloud, y yo les voy a hablar un poco de lo que son las integraciones de los servicios de Lambda, Masapi, Gateway y sus respectivos casos de uso tal cual. Entonces, si vamos a la siguiente, por favor, podremos hablar un poquito de los casos de uso en particular, referente también a la integración del servicio AWS Lambda. Aquí en el servicio de Lambda tenemos que entender una cosa muy clara. Aquí en el servicio tenemos lo que son las funciones y los desencadenadores como principales componentes de la creación en una aplicación o en aplicaciones que utilicen este servicio de AWS Lambda. Pero ¿Qué son las funciones y cuáles son estos desencadenadores que van a ayudarnos a hacer las integraciones de esos códigos Lambda, de estas funcionalidades que vamos a crear, de estas funciones? Pues bueno, la función es el código tal cual, el código que nosotros vamos a crear es la función donde vamos a poner ese fragmento de código que queremos que haga una función en específico y obviamente va a estar basado en un runtime, en un tiempo de ejecución, obviamente en un lenguaje soportado de AWS Lambda. ¿Y el desencadenador? Pues el desencadenador va a ser aquel servicio de AWS o una aplicación que invoque esta función. Un ejemplo sería estos casos de uso para cuestiones de servicios de AWS, puede ser interno, puede ser algún servicio que detone este desencadenador cuando realice cierta función, una RDS que inserte un dato, un s que inserte un archivo, un proceso que haga nuestro analítico de datos, Kinesis, por ejemplo, pero eso es del lado de AWS, de los servicios de AWS per se. Pero va a haber desencadenadores que vengan de aplicaciones que invoquen la función. Obviamente, ¿Cómo la van a invocar? Más adelante vamos a hablar de esa integración que es con API Gateway, pero aquí vamos a centrarnos en la función Lambda per se. Entonces, ¿Cuáles son esos desencadenadores que la van a ejecutar? Aquí tenemos unos ejemplos, unos ejemplos muy sencillos. Por ejemplo, el procesamiento de datos. Como bien imaginamos, para procesar datos podemos hacer el llamado de una de estas funciones Lambda a través de nuestros aplicativos. Por ejemplo, supongamos todo este ejemplo va a rondar en una aplicación web. Esta aplicación web, imaginémonos que nosotros vamos a compartir imágenes, vamos a compartir imágenes, vamos a cargarlas, alguna fotografía, por ejemplo, pongamos un ejemplo, es una red social, vamos a cargar una fotografía de nosotros para compartirla. Pero este procesamiento de archivos por ejemplo, nos va a ayudar a que una vez que subamos este archivo se ejecute esta función lambda y al ejecutarla va a procesar el archivo y por ejemplo queremos que nos haga algo como hacer la miniatura para nosotros poder usarla en nuestro avatar o poder usarla en el aplicativo para la cuestión que nosotros queramos o procesarla en algún sentido que nos agregue metadata o cuestiones así. Entonces obviamente al procesarla, al cargarla se ejecuta este desencadenador, la función lambda hace todo el proceso y procesa el archivo. El segundo punto pues prácticamente sería algo muy similar pero esto sería enfocado a los datos y a los analíticos. Entonces imaginemos que en vez de estar ahora sí que adjuntando una imagen, una foto, estamos llenando un formulario en esta misma red social, la estamos llenando, llenamos nuestro formulario y le damos enviar, ese va a ser nuestro desencadenador y por ejemplo nuestra función lambda que va a ser la función tal cual va a procesar el dato y por ejemplo nos lo va a insertar en una base de datos no SQL como DynamoDB tal vez él va a hacer ese procesamiento y posteriormente una vez que lo insertó tal vez nos ayude a hacer el analítico, este procesamiento de análisis con servicios de AWS o servicios como Power BI por ejemplo. Bueno pero vamos a centrarnos en lo de AWS como por ejemplo Kinesis que nos va a ayudar a hacer todas estas características de analíticos con los datos que ya estamos insertando y que nos está ayudando el desencadenador a insertar y el desencadenador al mismo tiempo a analizarlo con estas herramientas. De tercero y otro caso pues ya estamos hablando de nuestro sitio web, pero hablamos de puntos en específicos con acciones específicas. Si nos vamos al sitio web global, supongamos que tenemos este sitio web creado, nosotros lo creamos, lo alojamos en un servicio serverless como por ejemplo Amplify de AWS y obviamente pues tenemos nuestro front, ya desarrollamos nuestro front pero queremos, estamos hablando de microservicios y del desacoplamiento de las lógicas de trabajo, entonces nosotros queremos desacoplar nuestro backend, nuestro backend sin problemas podemos segmentarlo, hacerlo en estas cuestiones de microservicios y alojarlo en funciones lambda, o sea en vez de que pensemos en funciones específicas que hagan algo, podemos pensar más allá y toda nuestra lógica de backend ponerla en funciones lambda, invocarlas a través de llamadas HTTP, a través de llamadas API REST y obviamente invocarlas, todas estas llamadas a través de API Gateway. Y también podemos virar un poquito, un último ejemplo, por ejemplo, no son los únicos que van a caber aquí, m cantidad de ejemplos, pero ponemos unos básicos, las aplicaciones móviles ¿No? A lo mejor tenemos aplicaciones móviles personalizadas que producen eventos y podemos crear una función lambda para procesar estos eventos de las aplicaciones móviles personalizadas, por ejemplo, podemos crear una función lambda que nos permita procesar los clics, por ejemplo, que realizan en nuestra aplicación, entonces ella va a captar esta función lambda, los clics van a ser nuestros desencadenadores y los va a empezar a procesar para el caso de uso que nosotros queramos darle, o sea, tal vez podemos por ahí poner un analítico de tráfico, cuestiones de este tipo, pero es un ejemplo de lo que podemos hacer tal cual. Siguiente por favor. Ahora vamos a hablar de la integración de API Gateway y sus casos y sus respectivos casos de uso. Aquí en la integración tal cual es muy importante que entendamos o que nos quede un poquito claro que esto de la integración va orientada totalmente a los desarrolladores, todo aquel que se dedique al desarrollo, todo aquel que nos hemos dedicado a esto, pues obviamente podemos integrar esto y vamos a partir de dos vertientes de desarrolladores, un desarrollador que es el que va a utilizar API Gateway, que es el que va a desarrollar la API y otro desarrollador o desarrolladores que van a desarrollar la API aplicación tal cual. Estos dos van a interactuar en las llamadas que se vayan a hacer con API Gateway, obviamente un desarrollador de API pues crea, implementa y habilita las funcionalidades necesarias para implementar lo que es este API Gateway tal cual, y un desarrollador de aplicaciones pues como su nombre lo dice, diseña la aplicación funcional para que llame los servicios que tenga que llamar o las funciones que tenga que llamar mediante una invocación a través de WebSocket o de API REST o un tercero que sería API a través de HTTP con cuestiones públicas, entonces si lo acotamos en este mensaje específico, el desarrollador de la aplicación es el cliente del desarrollador API Aquí tenemos tres ejemplos de cuestiones de API Gateway que podemos interactuar tal cual, por ejemplo, vamos a tener lo que es el API Gateway para crear un API HTTP por ejemplo, este API no necesariamente tiene que vivir en Lambda, aquí estamos hablando de la integración de API Gateway más Lambda, pero no necesariamente tiene que vivir en Lambda. Si hacemos una integración de API con un API HTTP, podemos agarrar cualquier endpoint público, nosotros tenemos una API pública y queremos consumirla, entonces aprovechamos este endpoint, ligamos con nuestro API Gateway a través de API HTTPs y lo consumimos, va a ser una integración con este endpoint HTTP. Mismo caso si fuera swap, mismo caso si fuera swap, aplica totalmente, tenemos nuestro swap público, hacemos la integración, creamos este endpoint y lo consumimos a través de API Gateway. Obviamente nos va a dar todas las características que API Gateway per se nos seguridad, integración, alta disponibilidad, cuestiones de monitoreo, todas estas que vamos a hablar más adelante como tal. Hablando de cuestiones públicas, ahora la opción que es la que nos estamos enfocando, que es la que estamos hablando que es AP Gateway, AWS Lambda sería un API Gateway para crear un API REST. Esta API REST pues obviamente está formada de recursos, de métodos, aquí vamos a caer en los métodos que son los que vamos a utilizar como tal y obviamente lo vamos a ligar a un punto final, un endpoint, que en este caso va a ser nuestro función desarrollada en AWS Lambda, obviamente lo vamos a ejecutar de forma privada por así decirlo, con cuestiones de métodos, le vamos a enviar lo que son métodos como por ejemplo método GET, método POST, put, no sé, hay unos personalizados o puede ser patch, delete y obviamente vamos a hacer estas integraciones, vamos a enviar un request y nos va a regresar con un response dependiendo del método que le está estemos dando. Estas aplicaciones, estas APIs no necesitan saber dónde se almacenan los datos, si no los datos están solicitados por un backend. Entonces prácticamente esta API REST se va a integrar con API Gateway y nos va a dar hace mucho sentido con el ejemplo de Frontend que estábamos hablando, tenemos nuestro frontend, manda llamar nuestro backend por medio de estas llamadas API REST con nuestros métodos que decidamos y obviamente va a estar la integración. Un último interacción que podemos tener es esta API Gateway para crear una API con WebSocket, ya hablamos de cuestiones públicas con HTTP, ya hablamos de llamadas con métodos con API REST, ahora podemos utilizar un web Socket, una tecnología que obviamente está diseñada para ser implementada en servidores que requiere de lógica de procesamiento, que requiere cuestiones específicas para poder llamarla, podemos hacer estas interacciones, podemos crear un API Gateway para integrarlo con lo que es nuestro WebSocket tal cual en este caso por ejemplo nuestro WebSocket pues obviamente va a servir, va a tener un cliente que es el API Gateway y va a interactuar con el servidor para enviar mensajes, para estarse enviando mensajes entre sí como tal por ejemplo podemos usar, se usa mucho esto para notificaciones en tiempo real, nuestro WebSocket obviamente está procesando estas notificaciones en tiempo real y las está a través del API, nos está mandando un response tal cual, entonces no necesariamente tiene que vivir en Lambda, puede ser de cualquier lenguaje de código que no procese Lambda, por ejemplo PHP y puede ser nuestro web socket alojado en un servidor que lo podemos interactuar, ¿Como lo vamos a llamar? Pues cada que queramos una notificación, por ejemplo una notificación push en una aplicación móvil vamos a llamar nuestro API que va a ejecutar este websocket y nos va a contestar en tiempo real, es un caso de uso muy práctico que le podemos dar a esta integración de API Gateway con WebSocket. A continuación vamos a hablar un poco de los lenguajes de código permitidos tal cual, los lenguajes de código permitidos pues prácticamente son estos que estamos viendo en pantalla, tenemos opciones para todos aquellos que desarrollan Open Source, tenemos opciones como Node, JS o Net Core que podemos utilizarlos tal cual, estas son las versiones que están soportadas, las versiones anteriores desgraciadamente ya no están soportadas por lo que si estamos desarrollando en versiones anteriores como Node, JS por ejemplo pues tenemos que hacer un upgrading a nuevas versiones y la recomendación es que utilicemos versiones más actuales porque obviamente como Python descontinuó la versión 2.6 y la realidad es que próximamente se van a descontinuar por ejemplo js y python 2.7 entonces la recomendación siempre va a ser hacer un upgrading hacia las versiones más nuevas o podemos utilizar lenguajes interpretados como Python o Rubik en este caso o variaciones como Go o lenguajes ya más propietarios como lo son JavaScript, entonces estos son los lenguajes o tiempos de ejecución que maneja lo que es Lambda y pues desgraciadamente fuera de estos lenguajes no hay soporte, tenemos que hacer nuestras funciones Lambda dentro de estos lenguajes y estas versiones que están soportadas. A continuación vamos a hablar un poquito de unos cuantos ejemplos para que quede un poquito claro de esta integración de lo que es Lambda más API Gateway, que es lo que nos estamos centrando y por ejemplo aquí podemos ver un caso de uso muy especial, un ejemplo muy específico como es un método de autenticación que nos va a ayudar a hacer un envío de correos, email a través de varios servicios de AWS, estamos aprovechando todo el poder de AWS con diversos servicios aquí que nos van a ayudar a hacer estas integraciones. Por ejemplo, miren aquí tenemos el cliente y el cliente va a consumir un API Gateway, un endpoint de API Gateway para hacer esta integración, pero antes de consumirlo vamos a pasar por un proceso de autenticación y este proceso de autenticación nos lo va a dar Cognito, es un servicio que nos ayuda a hacer estos procesos de autenticaciones, entonces Cognito nos ayuda a hacer el proceso de autenticación, nos regresa un token o una credencial y obviamente una vez que se hizo este proceso pues vamos a integrar, vamos a tener un acceso al API, la vamos a poder consumir. Entonces aquí podemos ver en la cadena, en el diagrama, consumimos nuestro API Gateway y caminamos hacia nuestra función Lambda. Esta función Lambda si lo podemos ver de este modo, nos va a ayudar a procesar esta petición para enviar el correo. Aquí por ejemplo un ejemplo del s es muy fácil porque por ejemplo vamos a tomar un archivo multimedia por así decirlo, o un template de nuestro correo y Lambda lo va a procesar y posteriormente va a pasar a lo que es para que éste nos ayude por medio de SMTP enviar nuestro correo. Muy fácil, muy ágil y esa es la integración que podemos ver, un envío de correo a través de del procesamiento de un consumo de un API a través de API Gateway con el procesamiento de Lambda, el multimedia de s y el envío SMTP de CES. Siguiente ejemplo, este es un ejemplo de consulta y escritura de datos, cuando hablamos de casos de uso, hablamos como tal de procesamiento de datos, pero aquí por ejemplo imaginémonos también tenemos esta página web que es nuestro cliente a través de Internet está consumiendo lo que es un CDN a través de esta página web, un CDN es un Content Delivery Network que nos va a acelerar la entrega del contenido y tiene un firewall que es de tipo web y nos va a ayudar a las cuestiones de seguridad, va a ser cuestiones de archivos estáticos a través de C que nos va a entregar por ejemplo cuestiones multimedia y eso nos va a detonar lo que es la llamada la API Gateway. Imaginémonos que en esta como dijimos nuestra página web que sea una red social no la entrega el cdn y ejecuta este API Gateway a la vez nos va a ayudar a ejecutar esta función Lambda que va a ingresar los datos que nosotros estemos integrando o que estemos generando nuestra página hacia lo que es DynamoDB, una base de datos no relacional y obviamente Lambda como tal, Lambda por sí mismo nos va a ayudar a ingresar o a insertar estos datos, él es el encargado de insertar los datos a través de una llamada API obviamente imaginemos que le enviamos un JSON con todos los datos, Lambda los procesa y los inserta en Dynamo y al final nos va a retornar un endpoint que es para consumirlos, obviamente aquí podemos hacer muchas variaciones en este caso de uso, consumirlos, insertarlos, todo ese tipo de cuestiones. Siguiente ejemplo y otro ejemplo más sería por ejemplo este de consulta y almacenamiento de archivos, aquí por ejemplo es muy básico, tenemos nuestro front y nuestro front nos va a ayudar, esta misma red social nos va a ayudar a cargar una imagen, entonces ejecutamos el API Gateway AWS nos ayuda a cargar la imagen y a insertarla en s. Tenemos otro API Gateway que nos ayuda a consultar la imagen, el lambda nos ayuda a buscarla en el s y nos la retorna entonces vamos a hacer este procesamiento de consulta y almacenamiento de archivo muy básico, muy genérico que nos puede ayudar. Este caso de uso se usa muchísimo en muchas aplicaciones web, móviles y todo este tipo de características y nos ayuda a hacer unas integraciones de una forma más ágil. A continuación pues sería todo de mi parte, le voy a ceder la palabra a mi compañero Jorge Monteón para que hablemos un poco de la conclusión, yo les agradezco mucho su tiempo y el haberme escuchado, gracias.
Muchas gracias Pedro y Carlos por su apoyo. Bueno, como bien nos comentaron por aquí Pedro y Carlos hay muchos servicios, muchos y beneficios que nos da el utilizar este tipo de servicios serverless como lo que es API Gateway, entonces una recomendación muy importante pues es la utilización de los microservicios los cuales han estado por aquí compartiendo y hablando de ello mi compañero Carlos y Pedro Este tipo de microservicios a lo que se refiere es como, digamos, una metodología de arquitectura con la que nosotros implementamos o digamos, creamos arquitecturas que son independientes, independientes unas de otras. Entonces, con esto, pues tenemos unos servicios desacoplados, los cuales nos pueden dar mejor performance y de igual forma nos permiten acceder a todos estos servicios y beneficios que nos han hablado Pedro y Carlos, como lo que es el analizar, supervisar, monitorizar, auditar, orquestar, versionar y sobre todo y muy importante, gestionar el tema de la seguridad de nuestra API. Entonces, es muy recomendable utilizar este tipo de arquitectura de microservicios si no lo tenían en mente, pues para que lo revisen y lo tengan siempre contemplado, es muy importante hacerlo. De igual manera, como dato, como dato también para que ustedes lo tengan en la parte del costo de este tipo de servicios es por solicitudes. Un ejemplo es, por ejemplo, 300 millones de solicitudes por mes, les está costando alrededor de un dólar. Entonces, es para que lo tengan también en mente. De igual manera, los invitamos a que se acerquen a nosotros para que conozcan y nosotros podamos apoyarlos, el ingeniero Pedro y el ingeniero Carlos, ellos son los encargados de la parte de dimensionar algunos escenarios para ustedes y arquitecturas como las que estamos hablando. A continuación, igual vamos a lanzar la siguiente pregunta para que nos apoyen a contestarla. ¿Buscas innovar tus proyectos de TI a través de nuestras tecnologías de nube como servicios presentados? Por favor, apóyenos contestándola. Y a continuación, en la siguiente lámina, les vamos a presentar por aquí una promoción. Una promoción, les vamos a enviar un cupón de 200 dólares de descuento en los servicios de implementación para estas tecnologías que estamos hablando el día de hoy. De igual manera, el ingeniero Carlos y Pedro y un servidor y dependiendo el vendedor de su zona, vamos a apoyarlos a una consultoría sin costo para este tipo de proyectos. Busquen más adelantito, por ahí les voy a pasar también la presentación y los datos de cada uno de los vendedores de la zona para que los contacten con mucho gusto. Y a continuación vamos a tener un espacio, vamos a tener un espacio para que puedan hacer las preguntas que tengan. Si tienen alguna duda o algo, por favor, pues pueden escribirlas y vamos a estarlos apoyando para resolverlas. De igual manera también los invitamos este jueves 30 de septiembre al taller evalúa la migración de tu negocio con estimación de costos. Los invitamos para que se registren y participen. A continuación, bueno, les presento al equipo comercial que estamos atendiendo tanto la zona de Ciudad de México por parte de mi compañera Bianca Gruñún. En la parte norte se encuentra mi compañero Carlos González y un servidor Jorge Montión. Yo me encuentro en la región de Occidente y Bajío. Entonces, cualquier necesidad que tengan en cualquiera de las regiones, aquí están los datos. Pueden enviarnos un correo o llamarnos por teléfono, un WhatsApp, lo que sea, estamos a sus órdenes.
More from Paulina

Todo sobre la Nueva Región de AWS en México | Beneficios, Infraestructura y Migración

DEMO: De VMware a AWS. Administración de ambientes dentro de la consola de AWS.








