Charlas técnicas de AWS (AWS en Español)

#4.01 - Aprendiendo Serverless y AWS cómo un desarrollador

February 06, 2023 Marcia Villalba Season 4 Episode 1
Charlas técnicas de AWS (AWS en Español)
#4.01 - Aprendiendo Serverless y AWS cómo un desarrollador
Show Notes Transcript

Empezar con AWS es un gran desafio. Manuel Ortega, un desarrollador con muchos años de experiencia nos cuenta su experiencia de empezar en la nube. Cómo fue su primer projecto? Cómo fue directo a descubir arquitecturas modernas como Serverless y arquitecturas orientadas a eventos.

Este es el episodio 1 de la cuarta temporada del podcast de Charlas Técnicas de AWS.

📑Tabla de contenidos:
00:00 - Introducción
06:00 - El primer projecto
17:14 - Arquitecturas orientadas a eventos
23:58 - Agregando automatizaciones
51:02 - Qué recursos le recomendas a la gente para empezar?

🔗 Links mencionados en este episodio:
- 30 dias de Serverless: https://serverlessland.com/reinvent2022/30dayssls
- Canal de youtube de FooBar serverless: https://www.youtube.com/@foobar_codes/

🤳 Redes sociales del invitado:
- LinkedIn: https://www.linkedin.com/in/manuel-ortega-carcamo/
- Correo electronico: mortega@apgca.cl
- Pagina del projecto https://energica.city/.
- Bootcamp: https://4geeksacademy.com/ 

✉️ Si quieren escribirnos pueden hacerlo a este correo: podcast-aws-espanol@amazon.com

Podes encontrar el podcast en este link: https://aws-espanol.buzzsprout.com/
O en tu plataforma de podcast favorita

Más información y tutoriales en el canal de youtube de Charlas Técnicas

☆☆ NUESTRAS REDES SOCIALES ☆☆

🐦 Marcia Twitter: / mavi888uy

📷 Marcia Instagram: / foobar_codes

🐦 Charlas Técnicas de AWS Twitter: / aws_espanol

🐦 Guille Twitter: / iaasgeek


#foobar #AWSenEspañol

Hola y bienvenidos a otro episodio del Podcast de charlas técnicas de AWS. Mi nombre es Marcia Villalba y soy Developer Advocate para AWS y estamos en la temporada cuatro, cuatro, cuatro temporadas, cuatro años del Podcast de charlas técnicas increíble como pasa el tiempo. Pero bueno, acá estamos, seguimos y empezamos con el episodio uno de la temporada cuatro. La temporada tres fue un súper éxito. Les encantó a ustedes. Así que espero que esta temporada sea igual o más exitosa que le guste más y lo vamos a empezar a tope con uno de los temas que más les gusta a ustedes. No sé si es el que más les gusta, pero es el que más veo que les gusta porque veo que los escuchan y los escuchan en este tipo de episodios. Así que vamos a empezar con ese tipo de episodios. Vamos a hablar de cómo la historia personal de alguien de cómo llegó la nube, cómo trabaja con la nube en el día a día y cómo fue descubriendo arquitecturas modernas. Vamos a hablar con Manuel Ortega, que es un ingeniero de software con un montón de años de experiencia que descubrió la nube, descubrió AWS y descubrió Serverless y nos va a contar toda su experiencia desde desde el hola acá esto es AWS. Así que con esto, le doy la bienvenida a Manuel, cómo andás? Bienvenido al podcast. Hola, Marcia. Bien, bien, super. Bien, muchas gracias por la invitación. Hay nada feliz de estar acá y compartir un poco mi experiencia con los oyentes de este podcast. Que no feliz. A los oyentes les encantan las historias de batalla. Les gusta el sufrimiento y les gusta las historias de superación. Así que, eh, espero que tengas, mucha sangre, sudor, y lágrimas para contarnos que es lo que la gente viene a buscar. Sí, un poco, bastante de aquello. Muy bien, así que bueno, vamos a empezar por el principio, no este antes de que conocieras a AWS, que hace cuánto fue esto cuando empezó tu viaje? Eh, ok, esto fue ya hace tres años aproximadamente. Y todo partió porque en chile hay una, una entidad gubernamental de gobierno que se llama corzo. Y ellos abrieron un programa, eh, de especialización cloud. Entonces que pasó yo anteriormente a este programa eh había trabajado con con la competencia, con Google, eh? Y no, y no había tomado mucho, eh no he estudiado mucho el tema de Amazon en realidad. Entonces, eh, luego de este curso, era 100% enfocado en Amazon. Bueno, postulé este curso, eh quedé seleccionado dentro de los 10 primeros. Así que wow, estaba feliz. Super emocionado. Sí, porque haber eran, no sé, 1000 postulantes. Entonces estaba feliz feliz porque es lo único que quería, como meterme a este tema de cloud. Ahora yo trabajé mucho en empresas gubernamentales. Trabajé una en una municipio en una municipal grande en chile, eh? Ya ahí me daba cuenta lo que era el mantenimiento de servidores de de temas físicos, más que nada de mantener la máquina encendía que la memoria que el disco duro que las actualizaciones, etcétera. Entonces, eh yo lo propuso muchas veces. Pero claro, en el gobierno, todo el lento burocrático es bueno. Y llegó este memento, postulé me lo gané y comencé. Este curso, duró seis meses aproximadamente. Wow. Y vimos, claro, era como arquitecto cloud. Esa era como el el licenciamiento diplomado. Entonces terminaban con las certificacion a de associate. Terminaban con la certificación? Sí, sí, sí, sí. Termina con con la certificación. Sí, sí. O sea, en el fondo, te dan el boucher que uno da la da la prueba obvio, pero tanto todos los contenidos para que tú des eh, la certificación, eh okey. Entonces comenzamos. Y al en el mes cinco, ya cuando íbamos a terminar yo en paralelo tenía una empresa en chile de desarrollo de software. Donde tomaba proyecto y en el fondo, porque las porque lo hacia porque era la forma que tenía de aprender nuevas cosas. Con esa presión de ganarte un proyecto de tenés que responder al cliente de poder innovar entre medio, eh? Entonces me enca me encantó eso siempre tener una empresa en paralelo y tomar proyecto, eh? Okey. Entonces, en el mes quinto, justo me contactó un ex cliente que tenía un proyecto, eh, de electro mobilidad. Eh. Entonces yo dije bueno, si estoy aprendiendo Amazon, probemoslo veamos qué puedo hacer acá, eh? Entonces ahí fue como me lancé, eh? Conversé con con mi equipo, que eran dos chicos. Dos chicos que me apoyaban. Sabían de AWS? De no nada, nada. De hecho era muy junior. Eran junior. Tiene mucha, sí, pero pero nada. Super motivados se entusiasmaron y nos pusimos los tres a estudiar a dos cosas hacía no sé, por ejemplo, la resúmenes de mi, lo que había aprendido en este diplomado, eh? Y tratábamos de verlo como era en AWS porque es otro tema porque la primera impresión de AWS, fue entrar y ver millones de servicios millones de opciones. Entonces fue como, guau, gua acá, por tanto, por donde parto, dónde inicio. Claro, eh? Así que fuimos a poco primero, no, cierto? Nos sentamos a pensar arquitectura. Bueno, pronto de empezar, antes de empezar con la arquitectura capaz, podemos hablar un poco más de de qué problema es esto de electro movilidad? No? Porque, ah, yo creo que la gente que nos escucha no sabe el proyecto que te llegó vos con cinco meses de AWS, pero ya eras un desarrollador experto. Habías trabajado sobre todo con back o con todo un poco full stack un full stack full finalmente no. O sea, yo partí mi carrera administrando el servidres de correo. Ah, así que de todo sysadmi hasta desarrollo. Red hat 7. 3, si igual no recuerdo, montón de años. Empezaste jove, empezarte joven. Pues joven, eh? Bien. Ah, claro. Bueno, el problema un poco era el dolor que tenía mi cliente era que en chile la capacidad eléctrica es limitada. Y qué quiere decir esto? Que si yo tengo yo cliente, no es cierto? Tengo un auto eléctrico. Lo enchufo en mi ca, en mi casa para cargar. Y mi esposa enciendo el microondas, se cayó la electricidad. La me pasó eso la semana pasada, no con el auto eléctrico, pero estaba en todos los aires acondicionados de la casa prendidos y me puse a calentar agua para un té. Y puff apagué la casa de mis padres este porque ahora estoy en Uruguay, que tiene el mismo problema que chile. Y me acordaba de ti. Digo, ah. Exacto, exacto. Exacto. Entonces, eh? Es super complicado en ese entonces dos, tres años atrás cuando partimos este proyecto para las personas, los propietarios de auto eléctrico, porque era casi que el tipo tenía que levantarse las dos tres de la mañana a enchufar el auto eléctrico hasta las siete, porque sabía que en ese rango horario no tenía consumo. Claro. Y obviamente no iba a votar la electricidad de la casa. Ese era el. Bueno, de ahí fue y, y bueno, y este un desafío muy, muy bonito porque em, teníamos dos, dos partes dos como dos etapas. Primero el desarrollo de una placa electrónica. Siento que gestionar este tema del de la electricidad en el fondo de que eh, entregar o quitar electricidad en un horario determinado. Al auto al auto, al auto, claro. Y por otro lado, teníamos que, como conectamos eso con una base de datos o con algún software con con algo que para poder gestionarlo, claro. Y ahí cuanto la casa consumía básicamente porque vos necesitabas saber por un lado, cuanto la casa consumía para poder darle o no darle electricidad al auto. El. Eh, claro, esa es la segunda etapa. La primera etapa era solamente evitar que el dueño del auto se levantara a las tres de la mañana a encender el auto. Okey, esa fue la primera etapa, eh? Porque sabemos que en ese horario no, no hay consumo y se puede cargar el vehículo. Entonces, claro. Y ahí. Bueno, nos metimos a ese frontón con IoT Core, entonces conectado nuestra plaquita, mediante este protocolo MQTT. Es cierto que son señales de abajo nivel, eh? Y en el fondo, esta esta placa en electrónica está Arduino, Rasperi SP32, lo que sea, se conecta con IoT Core y tiene esa comunicación. IoT Core capaz para la gente que no tiene ni idea que ese es uno de los servicios de AWS. Que gestiona la conexión de muchos dispositivos y usando, por ejemplo, el protocolo MQTT, que es un protocolo, como decías de bajo, nivel bidireccional entre los dispositivos y la nube. Exacto. Y lo más hermoso es que es serverless. O sea yo no lo gestiono. Lo entonces fue, fue super simple ese tema y además, IoT Core está en super bien, o sea, está bien también diseñado que es reactivo. O sea que si la placa me manda un comando el el Amazon, en este caso IoT Core reacciona y le entrega ese input a una Lambda. O a lo que sea, en realidad a lo que sea, Kinesis Dynamo o lo que sea, en mi caso fue fue Lambda porque tomo ese este lo que me entre esa placa, la proceso y hago algo entonces y de idea de vuelta. Además. Claro y para, para volver un poco para atrás este vos. Alguna vez habías trabajado con arquitectura serverless o este era como, no nunca. Y dijiste mmm, no tengo que instalar nada. No tengo que gestionar nada. Qué es esto? Buscando dónde? Dónde revisaba las actualizaciones? A mi me pasó con dynamo la primera vez cuando lo empecé a usar, es como. Y qué versión usa esto es como, cómo lo tengo el día? Claro, sí, sí, sí, claro. Hasta aquí mi experiencia con serverlesses era lo que, o sea, el texto que me habían pasado en el diplomado diciendo que era serverless entonces, claro. Bueno, eh, luego de eso teníamos el primer check primer. O sea, ya teníamos la comunicación. El segundo problema que teníamos era, eh, cómo? Eh? Hacíamos que de esto cómo? Cómo le damos la herramienta al dueño del auto para decir okey, yo quiero cargar mi auto entre las tres y las siete de la mañana. Todos los. Y ahí. Ahí empezamos a decir okey, yo todavía no conocía mucho serverless. Entonces fue como, ok, mi primera impresión fue, ah, okay, levanteme un un sistema operativo. Un contenedor, no cierto. No aprovechamos del cron de Linux. Podemos hacer algo ahí para gestionar eso. Un eh, usando una base de datos. Ya no estoy muerta vuelta en realidad porque levantamos contenedores pero pero claro como son los contenedores son efímeros. Eh, cuando levantas cuando lo bajas, lo tienen mantenido siempre. Encendido fue, fue todo un tema porque no gastamos casi tener un computador encendido todo el día. Y quisiera algo cuando se ejecutara el el schedule, quedo el cron que habíamos, eh programado y eso lo hacían con ECS o lo gestionaron ustedes como arrancaron con los contenedores? Sí, creo que fuese con ECS fuese ECS. Y fue un una máquina Debian creo que levantamos y tratando de ahí de ejecutar eso. Pero como te digo, Deje un chico. Uno. Uno de mi equipo le metió un cron con PHP, creo, o algo así como en una de esa, eh? De esas como soluciones desesperadas con empieza a buscar. Sí, sí. O funcion para funciona como vamos a funcionar esto. Claro. Sí, fue un tema bueno. Representaba el cliente. Y claro, en primera instancia funcionó, pero no era sostenible en el tiempo. Claro. Entonces, después de eso, eh, les entregamos al proyecto, les entregamos el proyecto y ellos se ganaron un fondo concursable. Para una inversión de dinero. Es como un in un programa de gobierno o de privado que le entregan dinero a estas start ups como para para invertir el porque crea en el proyecto para para que sigan desarrollando el proyecto está buenísimo. Sí. Además, en chile no había nada del electro mobilidad o sea, no había esto no existía prácticamente. Entonces. Y con el problema energético, la no sé, la falta de agua, etc. Bueno, la gasolina que está por las nubes entonces era, era super buen proyecto. Eso cumplir antes de llegar a la siguiente iteración, cuánto tiempo le llevó armar estas dos soluciones? No la primera iteración esta que me contabas de los contenedores y la solución con IoT Core. Cuánto tiempo pasó entre esos cinco meses que estabas ahí en la mitad del curso hasta que tenías algo que le podías dar al cliente para que funcione. Si este proyecto dura como un mes aproximadamente guau. O sacamos. Sí, es que era un proyecto pequeño. Nos que la placa se conectara. Bueno, es que, y claro, usted fue como un mes aproximadamente como para tener este primer en. Claro, producto viable. Entonces, luego de eso, eh, tuvimos una segunda iteración, pero, pero a mí no me gustó la solución. Esto de tener un contenedor todo el día. Andando este PHP que hacía algo que se conectaba una base de datos MySQL, en el mismo contenedor. Entonces no me gustaba y empecé a investigar un poco más y con con mi con los chicos que trabajaba. Llegamos a algo que me encanta, que es una arquitectura de eventos. Y ahí aparecio un servicio que se llama even EventBridge. Okey, que para nosotros fue la luz la luz porque partía. Yo no tengo que ver con la actualización ni conversiones ni con nada, eh? Y lo otro es que se ejecuta, eh? Cuando se acciona un evento y va muy asociado de la de lo que es, eh, el internet de las cosas, eso tuvo que el internet las cosas como okey, tengo un dispositivo, es dispositivo hace algo y reacciona para batallar otros eventos. Entonces, em. Este servicio tiene esa. Esa característica es cierto. El tema de los eventos EventBridge es un bus de eventos en el cual diferentes servicios pueden enviar eventos y servicios reaccionan esos eventos los va a entregar al lugar que vos le definas. Entonces, por ejemplo, tu caso me imagino que IoT Core mandaba eventos dentro de EventBridge, y EventBridge en base a diferentes reglas. Decir bueno, este evento es de este cliente o este evento de este tipo de evento se lo enviaba una función de Lambda o se lo enviaba a otros lugares para diferentes acciones. Exacto. Y bueno. Y ahí lo mozo fue que una regla de EventBridge me permitia agregar un cron. Mmm. Entonces era lo mismo que yo tenía en este contenedor con esta base dato con este PHP y me un dos c click, no sé, dos clips apareció. Sí. Porque para, para cuando vos hacías este servicio, eh, podías? Bueno, lo podés ir haciendo definir como CloudWatch events con cron job. Entonces vos le decís, bueno, todos los días entre esta y esta hora, o los martes, miércoles y jueves, no sé lo que le puedas complicar al cron job. Ejecutaste evento y ese evento se enviaba y hacía lo que vos querias hacer este. Y me gustaría poner acá un comentario porque en re:Invent, lanzamos el Scheduler que así que los que necesiten cron usen estos eventos. Usen EventBridge Scheduler,, que lo hace aún más fácil. Pero bueno, ese la nota lata. Sí, dentro de mis pendientes, de hecho, pero que descubriste en it y los descubrimos en it y fue, oh, todos eventos. Entonces ahora dijimos todos un evento. Y ahí, bueno. Bueno. Y ahora, ahora sí logramos esa con con conexión que fuera fluida porque, por ejemplo, no se ahora implementamos una señal de vida que es un heart beat de la placa. Nosotros pasa para saber si está conectado o no está conectado tá online online. Y y eso me actualiza automáticamente. Esta plaquita le dice a IoT Core ahí un evento. El evento dice okay, está viva. Y eh, lo guardo en mi tabla de Dynamo. Yo obviamente, eh, para el o para las aplicaciones móviles, se actualiza en real time. Claro. Porque exacto. Porque eso esa, ese fue otra integración que tuvimos bien grande porque dijimos okey, llegamos un minuto que no llena de Lambda. Habré tenido 40 Lambdas. Guau. Para qué? Lo que pasa es que, eh, se ca muchas cosas. Bueno, eh, esa fue como la la la las primera etapa del proyecto fue como su entregar esa solución. Pero pero había de un lado que no se ve o que no hemos conversado, que es la gestión, la administración de esos recursos, como crea un un nuevo dispositivo, un nuevo vehículo al dueño, tanto la residencia, tanto a la inmobiliario de tanto etcétera. Todo eso para allá para allá iba porque antes era o que me la base de dato el ma ma cuál un todo dentro del mismo contenedor. Pero después, cuando conocí en it, dijimos no de a haber otros servicios que sean serverless y que ayuden con esta gestión. Y ahí dijimos okey, lo primero es hacer un pipeline la un un un CI/CD. No es cierto cómo? Cómo, eh, optimizamos estas entregas a producción y empezamos a investigar. Nos metimos con con estos servicios, em. No recuerdo el nombre ahora, eh, el de Amazon CodeBuild, CodeDeploy CodePipeline .CodeBuild de pro con esos tres todo configurándolo a mano. Y alguna pregunta pregunta antes de de llegar al CI/CD.. Ustedes arrancaron con toda estas cosas, serles usando infraestructura como código o arrancaron desde la consola. Con así que antes de llegar al cd, tuvieron que cambiar a usar infraestructura como código no. No todavía no porque todavía no, porque pienso que estamo entrando en en este mundo por eso. Por eso pregunto porque esto fue muy rápido. Pasaron en un mes de tener un MVP y ahora están en la siguiente iteración cosas para aprender. No, no. De hecho, el otro dato sabroso fue que, okey, yo dije, yo no quiero más entrar a la consola, eh? Programar en la terminal horrible mal. Entonces, okey, implementemos este tema de CodePipeline con CodeBuild y llegamos a tener un repositorio con una Lambda, en una Lambda, tenía un repositorio. Imagínate cincuentas entonces no, no, no era escalable, no? O sea, y fue un poco la forma que encontramos para enviar rápido producción o hacer un git un un un pull request, mergear, y eso se gatillara, y se enviará al. Pero era súper poco escalable y era agotador en el fondo. Claro, sí. Y ahí apreció una herramienta que también fue a luz, que es AWS Amplify. Mmm. Sí. Y fue Amplify. Así que como, como usaban Amplify, porque Amplify tiene 1000 millones de partes diferentes. Cuál fue el uso que le dieron Amplify.. Sí, eh? Bueno, ahí primero, ehMigre la API.. Sí, porque toda esta está parte que no, que no te contabas como la parte la gestión del del administrador, la del dueño del auto, la de la aplicación móvil que tiene que gestionar sus sus schedules.. Dele cuando quiere prender su auto, eh? Entonces todo eso al final. Votamos este este con 50. Y hicimos un proyecto en en Amplify, que era para la API todo que era GraphQL y obviamente ahí también conectamos lo conecté con un administrador web que desarrollaba en React y una aplicación móvil que está en React Native. Está buenísimo. Y todos lo hacían con Amplify y las APIs de Amplify. Exacto. Y el CD/CD que provee Amplify también. Exacto. Amplify push y me olvide. Claro, pero es interesante, no? Porque ahora cuántos meses hace que empezaron este proyecto? Porque esto es muy rápido, eh? Sí. Eh? Bueno, lo que pasa que después, bueno, yo me mudé, me fui de chile, me mudé a estados unidos y seguí con este proyecto. Pero el fondo ellos me absorbieron. Me contrataron. Ya no como empresas. Entonces segui solo desarrollando esto. Y en eso, cuando estaba, cuando estuve solo trabajando, empecé a implementar a Amplify.. Empecé a implementar todas estas cositas que me ayudaba en el fondo o a optimizar mi tiempo. Obvio, ya porque 50 repositorios para tener una función de Lambda es como un no, no caotico. Caótico no caótico, caótico y bueno, y entre entre medio también empecé a conocer el CLI de Amazon. Sí, la línea, la línea de comando. Claro, el único comando. Maravilloso. O sea, tú puedes hacer todo por ahí. Todavía no la habías descubierto. no con Amplify, me empecé a meter un poco con el claro claro cuando descubrí Amplify antes no. A mí siempre me gusta hablar con la gente que está aprendiendo porque cuando ya hace como 10 años que estoy en Amazon y siempre me me sorprende cuando la gente dice sí, descubrí, no sé infraestructura como código, descubrí la la CLI decir qué mal trabajo que hacemos, los Developer Advocates por a veces en no mostrar estas herramientas como de primera, porque es como. Me pega un poco por no mostrar esas herramientas más porque prueba nuestro que no, no educamos bien. Cómo puede ser que hayas descubierto el CLI tan tarde que toda nuestra documentación sea tan obsesionada con la consola? Sí, sí, sí, bueno, no sé, es que mi caso fue todo muy rápido. Claro. Era como. O sea, ni siquiera me me puse a pensar en un se CLI entonces fue como, okay, trabajo directamente con Amazon. Genera las consulta ahí la la Lambda con ahí fue. Así que bastante challenges tuviste en tu aventura. Sí, sí, pero muy entretenido, muy entretenido, porque. Eh, porque uno salta de la arquitectura otra, eh? Te olvidas desde buenos servidores antes? Me acuerdo. No sé, ok, va a desarrollar una aplicación. Okey, configuré una máquina completo, una máquina virtual con el operativo. Y no es como ente en lo que qué quieres controlar? Qué quieres hacer? Y. Y dale no avanza. Yo soy como tú. A mi me gusta desarrollar a mi no me gusta gestionar infraestructura a mi reservó problemas, enfocarme en problema y llegar rápido la solución con con la menor cantidad de dolores de cabeza posible. Una pregunta. Este en tu descubrimiento, las arquitecturas orientadas a eventos habías trabajado alguna vez con este tipo de arquitectura? O era tu primera vez que que tenías este tipo de desarrollo? No había estudiado un poco. Eh, pero en realidad nunca había trabajado así en un proyecto real. Era la primera vez, claro. Y y encontraste algún desafío empezando con este tipo de arquitecturas porque suelen ser bastante diferentes de lo que si venís en un mundo desarrollo tradicional, este es como todo muy sí, no, no todas las cosas pasan y tienen un orden y las. Pero después, cuando tomaba eso, un mundo orientado a eventos, los eventos ocurren, son asíncronos. Todo está desacoplado. Tuviste algún desafío ahí que decías? Va? Sí, en realidad mentalmente. Bueno, yo venía del mundo de C#.. En en full C# y todo mundo. Después pasé con el mundo y javascript, full front full node donde todo te cambia un poco la la estructura mental. Y ahí empecé a hablar de temas asincronos y promesas.. Entonces, llegar esta arquitectura evento fue como que me hizo mucho sentido. Yo dije, pero en la vida es mi día, día en el fondo exacto. Es como funcionan las aplicaciones. A mi me paso exactamente lo mismo. Así que te me gusta, ya sabes que no soy la única porque era mundo java, todo, todo, todo síncrono, todo síncrono. Y después frontend todo asincrono, de eventos. Y después, oh, esto tiene mucho sentido. Finalmente, eventos en el en el back. Sí, no. Bien, bien, bien. Y y además, el mundo le ideosincracia del del internet. Las cosas es, es eso es eventos. Las cosas reacciona. No sé, por ejemplo, este refrigerador samsung o no. Me acuerdo que marca que detectas si no te queda verdura y te manda un correo o hace un Chet con un store que tú le dijiste para que te traía verdura. Es un evento, o sea, Okey, no tengo pocos volúmenes. Mis en mis estos de fruta a mi pedido. No sea entonces, resultó muy natural. Muy natural. Exacto, muy natural que bueno, porque a mucha gente le cuesta. Y yo entiendo que que a veces es difícil, sobre todo si perdéis los eventos o no sabes cómo trabajar con ellos se vuelve, se vuelve complicado hasta que tu cerebro se click y ahora después ya no puedo volver al mundo síncrono. No eso de esperar por alguien. Porque porque te voy a esperar. Exacto. Y este entonces ahora en tu arquitectura, hiciste tu tu conectividad con IoT core. Tu aplicación conectándose a través de eventBridge it a y generando estos schedules y avisando cuando el auto se puede enchufar o no lo que sea. Y después tenés esta aplicación de administrador. Así que tenés como una super solución y todo servirle de su o tenés algo ahí que que tenés que gestionar. Todos serverless, todo, serverless . De hecho, ni siquiera, o sea, ni siquiera me compliqué con la autenticacion o sea, la pase Cognito ah, muy bien. Así que to todo eso gestionado por Amazon claro. Y todo esto lo fuiste aprendiendo. A medida que ibas, tendo un problema, ibas buscando a ver cómo se podía solucionar.. Sí. Sí, sí, sí. O sea, ahí. Básicamente, lo que me pasó con este proyecto fue que nunca había antes. Había trabajado en este tipo de proyectos a este nivel porque te había hecho demótica, pero a nivel de desarrollar una aplicación que controlara cosas, pero en esta oportunidad era como, tenía que entender el mu el el, cómo funcionaba este el inter de las cosas. Entonces, según como funcionaba esto, trate de buscar una solución que que fuera eh, acorde. Problema llega servicio. Entonces todo, serverless todo, todo reacciona todo, todo es un evento todo y este. Y ahí algo que estés desarrollando ahora que o que te falte o que digas me encantaría que hubiera no sé x servicio, serverless que está dando mucho el olor de cabeza o algo que estés desarrollando ahora para para este servicio. Bueno, ahora estamos en la tercera iteración que era que era un poco lo que tú dijiste del de que a ver básicamente qué, qué hicimos es tenemos un positivo que se encarga del vehículo y registra cuánto carga ese vehículo. Y por otro lado, tenemos otro dispositivo que está midiendo, eh, tu consumo eléctrico en tu casa y mobiliaria edificio o lo que sea. Entonces, qué está pasando? La electricidad es como tener un balde de agua a entre más consumo, tengas el agua, empieza a subir, entonces se sube el agua y se desborda, se va a caer. La necesidad es lo mismo. Entonces, un dispositivo, estamos para medir ese cable. Lo que estamos desarrollando ahora, el el otro Challenger es, eh, que esto reaccione que sea que sea automático en el fondo, si tengo capacidad para agarrar el auto, okey cárgado, sino desconectarlo. Okey. Así que no es ahora el dueño que va a tener que venir y decir dos de la mañana siete es tipo vos. Llegas a tu casa, enchufas el auto y el auto se cargará. Exacto. Exacto. No, no, no, no, no. Ahora ahora mucho más inteligente. Estamos haciendo un algoritmo de carga que está, está super potente. Y esa es la nube. Era el dispositivo. Cómo? Cómo van a gestionar ese algo? Eh, no en la nube, toda la nube, toda la nube. Entonces ese es el próximo desafío y algún servicio loco que estés probando ahí sá eh? Uh, no, no por ahora en me ayudado bastante con ese tipo de cosas. Si, eh, yo creo que EventBridge. Bueno y no, no es por ahora, sí, Kinesis si a lo mejor pa procesar datas o cosas así. Pero pero hasta ahora no estamos quedando con eso. Así que la la siguiente parte, básicamente el auto se enchufa y va a haber un algoritmo en la nube que va a estar diciéndole que van a llegar como mensajes de los diferentes dispositivos que tiene su usuario diciéndole ahora hay tanto energía ahora y tanto consumo y tanto consumo, y en algún memento es algoritmo, va a decirle al cargador carga exacto. Exacto. Sí que interesa más, por ejemplo, no súper loco, porque además el cargador del vehículo tiene un protocolo especial. Entonces, lo que estamos haciendo es desconectando al vehículo y que el vehículo es, diga la capacidad de la batería. Y con ese dato, no solo decidimos si tenemos que cargar una. Claro y obviamente con otra información del cliente en término de cuántos kilómetros millas usted anda diariamente. Entonces con eso necesita tanta carga en su vehículo. Así que el próximo paso para ustedes es usar inteligencia artificial para que cre un algoritmo pre adictivo. Sí, exacto. Así que para la temporada cinco, ya te veo viniendo acá. Charla de como usaron inteligencia artificial en un mes al ritmo que venís. Claro, este y contame un. Este ahora, mirando en retrospectiva para atrás, este vos me comentabas mientras mientras hablamos este fuera de línea que estás enseñando programación en un boot camp y que ahora a los chicos que les enseñas les estás poniendo la idea de en la cabeza de la nube. Este cómo, cómo es la reacción? Cómo, cómo les enseñas estos términos? Este? Como lo toman. Sí, eh? Sí. Bueno, eh, no es contenido del bootcamp, pero me imagino, sí, al final, al final, al final, hablando de cómo llevar tu aplicación, ponerle en producción, o sea que no corren tu computadora en el fondo que la ve alguien más? Claro. Claro. Y ahí. Bueno, eh, gente en la academia utiliza mucho el. También tiene un poco, tiene bastante servirles, pero pero claro, yo no entiendo un poco este concepto. Y ahí el ejercicio que hago, por ejemplo, en una casa clase, es que in talen, una máquina virtual con una imagen du, por ejemplo, me acuerdo una oportunidades. Lo hicimos así y que interactúen con eso que le han tener un contenedor do, pero ahí. No fue una máquina virtual que se las pasé. Eso hicimos porque era siempre. Ahora piensa que lo buscan. No son da, son cualquier persona que puede tomar un bud a mi y aprender a desarrollar en poco tiempo. Entonces ahí fue lo que hice. Levanta máquinas virtuales, eh? Y ahí, eh? Me acuerdo que instalaron un maíz. Se. Entonces pasaron por todo eso el el estar esperando varias instalación, el que pasa, me acuerdo que ahí elia estaba en plo y habían problemas porque no se el el co ba estaba en tres y tenían el 3.9 y tenían de compatibilidad y le explotaba todo y no funcionaba. Y entonces. De ahí fue como, ok, utilizamos. Qué serviles? Te olvidas de administrar esa arquitectura. Hay infraestructura, te olvidas, está operativo, te olvida instalaciones de par de actualizaciones, etcétera. Y todo fue como, ah peroo. Pero esto y fue así como muy porque ya habían pasado por por tener que trabajar con esta máquina virtual. Así que le llevaste del sufrimiento al sí. Sí, sí. Y y además, justo paralelos también estaba con mi curso con mi diplomado. Entonces, esas cosas se las trataba de transmitir. Claro. Y no los chicos feliz. O sea, de hecho, después me acuerdo que llegó uno que llegó, eh? Buscó una base de datos ma. Sé cuál, pero ser es un servicio x y ni me acuerdo. Sí. Aurora, al menos en tiene este. Sí. Sí, sí, sí, no. Pero este era un servicio x que ni siquiera es conocido. Era como hos. Cualquiera que te entregaba esto como servicio y fue así como wo, no sé qué, pero yo creo que para los chicos que están aprendiendo en un vodka, tener herramientas así es fundamental, porque mucha gente que hace un vo es porque quiere salir a trabajar y tener herramientas que sean de la vida real. Super importante porque vos decis podés hacer, no sé, tuvo aplicaciones, tu desarrollo, poder tu portafolio en la nube, mostrarse cuando vas a buscar trabajo. Y la gente dice mira, qué lindo está. Todo ahí. Listo. Le sale nada. Porque esa es una cosa que que no hablamos de de tu aplicación. No sé si nos podé compartir cómo, porque vas al principio, hablabas un poco de la sostenibilidad, no de estas máquina. Dock que estaba prendida todo el tiempo. Ahora este tenés todo una arquitectura let que básicamente pagas por exactamente lo que usas. Cómo, cómo lo ve el cliente? El costo de este tipo de aplicaciones. Están contentos? Este? Sí, buena pregunta. Buena pregunta. Porque con el con el nos salió una factura muy alta, muy alta. Ahora, claro, también por por falta. Experiencia, nuestra levantamos, una tremenda máquina. No más era. Entonces, entonces el cliente decía, pero cómo tengo un dispositivo? Y tengo este costo que pasa si tengo 50,000 dispositivos? No, esto, esto no es esta solución no es escalable, no es fiable y bueno ya ahí en la segunda iteración, eh, fue, fue nada. O sea, el coste pequeñísimo ahora está estamos pagando a ver, tenemos 20 dispositivos conectados. 2030 positivos conectados, transmitiendo hacer todo todo el día y pagamos $20, 18 dolares y lo más probable que lo que estén pagando es el tiempo de Bill de las máquinas de five, porque todo lo demás entra dentro de la capa gratis. Seguramente no. Pero tienen 1,000,000 de invocaciones blanda. No sé cuántos eventos. Sí, obvio, pero es muy poquito lo que debe estar pagando de eventos en sí. La mayor parte capaz se les va al Bill time que eso sí sale caro en en five. Este, por ejemplo, el Bill time cada vez que hacen un Bill de la aplicación web, cosas por así hacer un psh ahí. Pero. Infraestructura. A veces serles es muy, muy económico. Sí. Y además, tenemos algunos dominios en bro 53. Claro, hay también el dominio más el por esas cosas que salen dinero. Pero la capa gratis de árbol hace bastante generosa tipo lo que puedes hacer con có con eve it con Johns con lay. Tienen para divertirse. Sí, no, súper, sí, sí, sí. Así que en tres años, pasaste de no tener mucha idea de w ahora a estar recontento en tu arquitectura orientada a eventos en un mundo, serles y se, ese es el. Sí. Sí, de hecho, ahora justo estoy pasando a producción, eh? Otra otra patita de esta aplicación que va todo el tema de pagos. Mmm que que básicamente en los los edificios hay estacionamientos, eh? Para agregar el vehículo eléctrico para que no es permanente. Entonces el tipo viene es cañón q, eh? Paga la cantidad de que quiere cargar y el auto se carga. Entonces, de nuevo, toda esa lógica, toda esas aplicaciones está en Amazon con servicios ceres. Sí. Y una preguntara que me hablás de nueva patita en en la aplicación como porque. Las arquitecturas orientadas a eventos. Al menos a mí me gustan una característica no más me gustan. Es la capacidad debilidad. Es algo que has notado que que te gusta vos también, y que estén teniendo este tomando ventaja de esta capacidad o todavía no, no les ha impactado mucho. Eh, tú dices como este la aplicación como poder usar eventos que como básicamente en una aplicación tradicional. Si vos ques agregar una nueva feature, lo que tenés que hacer es meterte en la aplicación cambiarla, agregar componente para acá agregar integraciones en cambio, en una arquitectura orientada eventos, los eventos están fluyendo en el sistema. Entonces, básicamente vos los podes escuchar o podéis emitir nuevos eventos. Que disparen nuevas cosas y el sistema que ya tenés casi ni se ve afectado por el agregar a features las patitas este han visto ese tipo de beneficios en la arquitectura que tienen ustedes muy poco, muy poco. Lo que si hago, por ejemplo, es que de un evento lo proceso y gatí otros. Claro eso si, si, si. Ha realizado pero eh, como encolarlos, como dices tú. Agrega. Pero, por ejemplo, vos tenés tu aplicación ahora que está funcionando super bien, que hace lo que tiene que hacer. Y ahora decir bueno, quiero agregar pagos, como decías, y simplemente programas la nueva funcionalidad salvarles, la pones ahí y. Coexiste con el sistema. Los eventos que entran y salen son todos independientes y los unos de los otros. Entonces, el sistema que ya tenías no se ve afectado por las nuevas features y incluso tenés nuevos eventos en el sistema que el día de mañana, si no se tenés una herramienta de la herramienta de administración, por ejemplo, puede estar leyendo estos nuevo eventos de pago y puede. Reaccionando y haciendo este desplegándonos información en la pantalla, por ejemplo, que si lo quisieras hacer con una arquitectura más tradicional, tenés que modificar todas las aplicaciones para poder agregar estas features. Este no lo había pensado tan así porque, por ejemplo, hoy tengo eso, pero con el fondo, con la suscripción del la. Claro con con eso genero ser real. Time. Claro. Sí. Y lo otro que bueno que agregué hace poco que ordené todo este tema y todavía fue descubrimiento. Fueron los layer el layer de función Lambda Sí. O hermoso, porque ahora y sobre todo el mozo, porque lo lo implementé con afee entonces tengo hoy tengo un solo proyecto con una laer, un ley que es toda la lógica negocio y y la la solamente consumen esa ley. No sé cuando mando de Duplo todos actualiza auto mágicamente. Porque antiguamente era era muy Manuel. Tomaba la leyes a subía, subía el sip, actualizaba la versión aumentada, la versión, y tenía que Irlanda por Holanda cambiándole la versión de la leyes y ahora como lo se ahora no ahora todo lo hace afee como tengo todo en un proyecto, todo se enlaza. Pero eso te digo todo se enlaza auto mágicamente. Claro. Buenísimo. Te conviertes. Tengo el ambiente, producción en mente Dave en mente gracias a y todo eso. Lo s también con a fie con diferentes este, por ejemplo, bra o cosas por estilo. Exacto. Exacto. Así que tenés como un proyecto de, no sé en ho con un branch que sea, no sea station, un branch de y a medida que vas pasando la pol recuas de branch en branch, se van disparando diferentes Bill procesos de vi en maf que van creándote eh, ambientes para probar y para hacer lo que. Eso está buenísimo. Sí, hay el único problema que tuve con elv lo ambiente es que las layers, eh, no soporta ambientes. Mmm, y no puedes desplegar diferentes versiones. Esa es la solución. Pero cuál fue el problema de eso es que cada al lambda tiene que saber en qué ambiente está para informarse a la layer claro. Eso fue el único inconveniente de esa solución. Pero pero nada, o sea, funciona super bien, claro. También tenés en funciones de onda. Tenés versiones. Entonces puedes a diferentes funciones, darle diferentes versiones de la ley y tener diferentes versiones de la función del onda en diferentes adviertes desplegados. Y ahí es como un poco al cerebro. Sí, es un poco lo que amplie, pero el tema yo, a lo que me refiero a las peri les da ambiente como ley. Sabe si estoy en el ambiente, dev o pa, utilizar la conexión de base de datos de dev o la de la de la de producción? Mm, claro, claro, pero ya lo tenés ahí. Bien, jaqueado. No es que Amplify, él te crea cuando generas en un ambiente de generar solo una variable. Entorno que. Entonces, simplemente lo que hizo fue hacer un bra que toma esto y se lo informa a la ley claro. Y la ley, claro, en base se entera. Sí, exacto. Las variables de entorno son fundamentales para porque si no tenés que escribir el mismo código con e el ambiente este y fe. No, no, no, sí, sí, sí, no, no, este. Así que buenísimo. Y una una pregunta más, eh? Ahora que más o menos estás un poco más. Confiado en todo esto que ya te sentís un poco más cómodo. Cómo aprendes qué recursos encontraste ahí? Algún set de recursos de no sé, personas a seguir o contenido que te resulta bueno para seguir aprendiendo y. Por ejemplo, en lo de las laer que lo descubriste hace poco o las diferentes cosas de dónde las aprende? Tenés ahí algunos recursos que puedas compartir con la audiencia, eh? Bueno, tu canal de me ayudó un montón. O sea, porque todo cuando partí está perdido, eh? O me ayudó, pero demasiado fue como a entender muchas cosas, eh? El podcast también. Este me me ayudó podcast pero mucho a entender cosas porque sí, porque eh, porque, bueno, claro, uno dice tiene un problema, pero pero las soluciones son son muchas, son muchas distintos proveedores, el lenguajes. Entonces, esta instancia como que te acercan á a problemas reales. Así como él tenía un problema real y lo solucionó de esta forma. Y a veces uno dice ah, pero yo tengo el mismo problema. Su solución me sirve. Y ahí uno empieza a indagar más. Obviamente eso, bueno, yo tuve, hay mucha información personalmente, eh? Yo hago mi culpa. Yo no sé de eso que estudia mucho las cosas, sino que tengo un problema. Y sobre ese problema empiezo a estudiar. Y empezó a estudiar distintas soluciones, etcétera. Pero pero así como estudiar, no tengo mucho tiempo. En realidad a ver, todo el mundo tiene diferentes formas de afrontar los problemas. Yo soy igual, yo no soy de leer mucho. Yo voy y hago. Y cuando me dé la cabeza, otra pared, voy investigo. Porque qué? Por qué no funciona, eh yo, así es como como aprendo, pero hay gente que busca otra forma. Es válido. Y si esa es tu forma de aprender genial para los que nos escuchan, seguramente haya un porcentaje de personas que sean como nosotros, que van y buscan y empiezan hacer cosas a ver si funciona. Si funciona bien, si no funciona ver porque no. Claro. Exacto, este y un poco lo que le digo, no sé, ahora tengo un team técnico en otro proyecto. Y siempre digo los chico, eh, manténgalo simple, tratemos de no compli son las cosas, sino que que sea simple, porque más abordable, más escalable, más entendible por todos. Y un poco las soluciones que trata de entregar también es, es eso es una solución simple que sea escala. Por eso. Yo creo que amo tanto serles porque sí, es eso como la filosofía. Sí, yo creo que eso de mantenerlo simple es algo que a veces no nos damos cuenta de la cantidad de u ing que hacemos a las cosas. Y el final, la respuesta es, escucho más sencilla. Pero pero sí, así que con eso, yo creo que que la gente espero que haya disfrutado este primer episodio que les haya inspirado a a ver que no empezar con la nube. Todos podemos empezar aunque tengas un montón de años de experiencia trabajando como software bal lope y decir, bueno, descubrió en unos meses, ya estaba haciendo mi primer proyecto. Es ser curioso. Es este tener ideas para donde ques ir y después buscar el internet, cómo resolver los problemas. Sí. Y escuchar el pot de marzo, escuchar el de que si ya nos están escuchando, van por buen camino este y para para los que nos escuchan, que son como vos Manuel que vos me escuchaste y un día me dijiste ay, me gustaría contar mi historia. Me escribiste un correo y acá estás, les digo la audiencia. Que si me están escuchando y tienen una historia para contar y que quieren compartir con con la audiencia, simplemente me escriben al correo. Están la cajita de descripción del episodio. Hay un correo, me pueden contactar. Me dice mira, eh, esta mi historia, eh? Me gustaría, me gustaría compartirla. No tenés que ser un experto no tiene este que ser una historia acá y se i no. Todo el mundo tiene historias. Y acá yo me encargo de ayudarte a contarla este gente normal contando historias normales, porque al final, todos necesitamos un poco de inspiración y ver que se puede no. Así que bueno, muchísimas gracias. Este Manuel por ser primer invitado de la temporada cuatro. Este muchísimas gracias a la audiencia y se vienen un montón de episodios y varias sorpresas durante esta temporada. Así que estén atentos, nos vemos en dos semanas con otro episodio del pot de charlas técnicas de dobleces chocha.