logo

midulive


Transcribed podcasts: 605
Time transcribed: 13d 3h 7m 36s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

AWS, Amazon Web Services, que me imagino que muchos de ustedes conocerán.
Ahora hablaremos un poquito de esto, de AWS, porque hoy vamos a hacer el curso de AWS, del cloud,
vamos a ver un poquito de los servicios y todo esto.
Así que esto sí que es un temazo interesantísimo.
Porque amigos, si hay un conocimiento que es transversal, es tema de cloud computing.
Bienvenidos al fascinante mundo de AWS, Amazon Web Services.
La plataforma de servicios en el cloud computing más integral, completa y adoptada en todo el mundo.
No hay ninguna duda que a día de hoy, al menos mundialmente hablando, es el servicio de cloud más utilizado.
Luego veremos que hay otros competidores bastante interesantes y que dependiendo del territorio,
puede ser que tenga un competidor más importante o menos importante.
Pero lo más importante que tienes que saber es que si aprendes a AWS, cualquier cosa que vayas a ver hoy aquí,
te lo puedes llevar a Google, te lo puedes llevar a Azure, te lo puedes llevar a cualquier sitio.
Porque los servicios se llaman diferentes, pero la realidad es que hacen exactamente lo mismo.
Pueden cambiar algunos nombres, algunos conceptos, pero ya os digo que muy similar todo, ¿vale?
Pero entonces la clave, lo primero, lo más importante, el inicio, ¿no?
Porque AWS, cuando hablamos del cloud, ¿qué es esto del cloud?
Te voy a decir una descripción que leí hace mucho tiempo en internet, que me parece muy acertada
y que le va a quitar mucho misticismo al tema del cloud.
El cloud es el ordenador de otra persona, literalmente es eso.
Es un servidor que no lo tienes tú, no lo tienes en tu sitio, en tu local, en tu empresa.
No es tuyo, sino que es de otra persona.
Se lo estás alquilando, básicamente.
Y cuando hablamos del cloud, en realidad no deja de haber en algún sitio, en algún lugar,
un ordenador, un servidor que está procesando esa información.
Lo que pasa es que, ¿por qué hacemos esto?
Pues que obviamente esta computación en la nube, en el ordenador de esta persona,
lo interesante que tiene es que solo alquilamos por uso.
Y por lo tanto es mucho más elástico, lo podemos utilizar cuando queramos.
No necesitamos nosotros tener que hacer el mantenimiento ni del lugar.
No tenemos que estar pendientes de dónde los vamos a colocar los servidores, la latencia,
tener servidores por todo el mundo, sino que alquilamos este servicio
porque hay alguien que tiene una red de ordenadores por ahí,
ya sea desde Sao Paulo, Estados Unidos, en Alemania, en China y tal,
que ya nos da este servicio.
Así que básicamente es esto.
Y de esos servicios, ¿qué vamos a ver?
Servidores de datos, redes, podemos tener almacenamiento, bases de datos.
Hay servicios de todo tipo, de email, de enrutado, de DNS, de firewall,
de lo que tú quieras, que es cualquier cosa que se pueda hacer en la nube,
hay un servicio.
Luego los vamos a ver, ¿vale?
Entonces, ¿qué es AWS?
Pues Amazon Web Services.
Es básicamente una colección de servicios de computación en la nube
que los ofrece Amazon y que te ofrece desde servidores virtuales,
almacenamiento, las redes, bases de datos y un montón más, ¿vale?
Y AWS lo que tiene interesante es que si tú tienes una empresa
o eres un desarrollador, alquila los recursos que necesitas
en lugar de tú tener que comprarlos
y así tú tienes una infraestructura ahí alquilada
con un coste bastante atractivo
que seguramente te va a salir a cuenta
en lugar de tú tener que gestionarlo.
No solo comprarlo, sino que gestionar eso,
que suele ser bastante complicado, ¿no?
Y además tiene una ventaja añadida,
que es la flexibilidad.
Imagínate que lo tuvieses que comprar todo esto.
El problema que tendríamos si lo tuvieses que comprar
es que en un momento dado,
imagínate que quieres ampliar tu capacidad.
Pues tendrías que comprar, te lo tienen que enviar,
donde lo instalas y todo esto.
Claro, aquí cuando lo alquilas le dices
quiero esto, esto y esto
y inmediatamente tienes una flexibilidad para escalar, ¿vale?
Y escalar tanto en horizontal como en vertical,
que luego veremos esto.
Así que esto sería una pequeña introducción.
Ahora te voy a comentar tres cositas
y vamos a ir aquí, vamos a poner AWS, ¿vale?
Vamos a poner ya AWS Amazon Web Services.
Y os voy a comentar por qué aprender Amazon Web Services.
Vamos a poner tres cositas por las que creo
que deberíais aprender Amazon Web Services, ¿vale?
La primera razón, sin ningún tipo de duda,
la primera razón es liderazgo, liderazgo y popularidad, ¿vale?
Las razones por las que aprender, la primera sería liderazgo y popularidad.
Así que, ¿por qué aprender?
¿Por qué aprender?
Vale, pues la primera sería liderazgo y popularidad.
¿Por qué?
Hombre, a ver, es que no hay ningún tipo de duda.
AWS es el líder del mercado en soluciones en la nube,
lo utilizan empresas de todos los tamaños, de todo el mundo
y aprender AWS te abre las puertas a un montón de oportunidades laborales
en el campo de la tecnología.
¿Cuál es el market share y todo esto?
Mira, aquí lo tenemos.
Justamente esto sería 2021, ahora veremos otros datos.
Y fijaos que Amazon, pues estaba bastante lejos.
Microsoft sería la segunda más importante
y fijaos que ha tenido un crecimiento bastante sostenido,
muy interesante y sigue creciendo.
Y luego Google, pues ha tenido un crecimiento, pero mucho más tímido.
Alibaba, que es bastante importante en el mundo, obviamente, oriental,
en China especialmente.
E IBM, que, bueno, es un tema más empresarial,
pero que no parece que esté en su mejor momento, ¿no?
Aquí tendríamos otro todavía un poquito más reciente, Q3 del 2022.
Fijaos el market share de Amazon, 34%, con Microsoft con un 21.
Fijaos que un 25% tienen las próximas 20 compañías, fuera de las top 3.
Y si miramos ya por dinero, por movimientos de dinero, ¿vale?
Fijaos, 130.000 millones de euros tiene el mercado del cloud.
Y de nuevo AWS, miréis donde miréis, vais a ver que está en el número 1.
Y esto son datos que seguramente no están actualizados a día de hoy
y que más o menos lo que es el market share ha podido cambiar un poco,
pero estarán ahí.
Todavía sigue siendo algo así.
Primero AWS, segundo Azure, tercero Google Cloud.
Están así, pero es verdad que Microsoft está haciendo muy bien las cosas.
Pero yo diría que a día de hoy, el liderazgo y popularidad,
número uno, sin ningún tipo de duda, ¿vale?
La segunda razón por la que lo deberías aprender.
Bueno, la segunda razón es la amplia gama de servicios, ¿vale?
La amplia gama de servicios que tiene.
Y es que tiene un montón, pero es que un montón, un montón,
es que no te lo puedes ni imaginar.
Un montón de servicios.
Lo vamos a ver, ¿eh?
Más de 200 servicios, almacenamiento, base de datos,
inteligencia artificial, aprendizaje automático, archivos estáticos,
streaming, Twitch, Twitch, la plataforma de Twitch está hecha con AWS.
Todo lo que utilizáis de Twitch, todo está utilizando AWS.
Así que tenedlo en cuenta.
Así que amplia gama de servicios.
Y la tercera razón, obviamente, escalabilidad y flexibilidad.
Y es que una vez que aprendes AWS, cualquier idea que tengas
la vas a poder llevar al mundo real y vas a ver que vas a poder escalarla
desde tu comodidad de la casa.
Porque puedes hacer una infraestructura brutal en un momento, ¿vale?
Estas serían las tres cositas.
Ahora, ¿qué vamos a aprender en el curso?
¿Qué vamos a aprender en el curso?
Vamos a poner los bugs aquí.
El curso.
Vamos a aprender, amigos.
Vamos a aprender, para que tengamos en cuenta, la introducción,
que esto, pues, ya lo hemos hecho.
Hemos hecho la introducción, ¿vale?
Vamos a ver la UI de inicio.
Esto lo vamos a ver ahora, en un momento.
¿Cómo no quemar dinero?
Importante.
¿Cómo no quemar dinero?
Porque es bastante importante para que evitéis alguna sorpresa.
Vamos a ver el servicio de EC2.
Explicaremos lo que es.
Luego veremos las bases de datos.
Muy interesante el mundo de las bases de datos en Amazon.
Y vais a ver que en un momento podéis tener una base de datos en la nube,
con un coste que no está mal, pero que os voy a decir algunas cositas para que tenéis en cuenta, ¿vale?
Vamos a ver S3 y la línea de comandos de AWS y lo vamos a utilizar y vamos a desplegar a producción
no solo archivos estáticos, sino incluso una web, para que veáis cómo se hace.
Vamos a ver el servicio de AWS Lambda, que es muy interesante para hacer serverless,
funciones serverless, luego lo explicaremos.
Y luego os voy a decir por dónde continuar, que podríais seguir estudiando,
que otros servicios tiene sentido que echéis un vistazo.
Es una cosa que iremos haciendo conforme lo vamos comentando.
Pero bueno, para que lo tengáis en cuenta, ¿vale?
Esto va a ser el curso.
Ahora, ¿qué necesitáis?
Los prerequisitos, ¿no?
Bueno, lo primero, que lo vamos a hacer ahora para que lo veáis, crear una cuenta.
Aquí viene el primer aviso.
Aunque ya tengáis una cuenta, quizás alguien me está viendo y dice
bueno, ya tengo una cuenta, no hay ningún problema, ya tengo la cuenta.
Bueno, os voy a contar una cosita bastante importante, ¿vale?
El tema es que AWS, cuando tú creas una cuenta desde cero,
tienes durante un año una capa gratuita que es bastante generosa, ¿vale?
Fijaos que aquí hay tres tipos de oferta.
Más de 100 productos de AWS están disponibles actualmente en el nivel gratuito de AWS.
Y hay tres tipos de oferta.
Hay algunas que están siempre gratis, que no hay ningún tipo de problema,
que siempre están gratis y por lo tanto no te tenéis que preocupar, ¿vale?
Si le das a siempre gratis, ¿qué tienes?
Pues la Lambda, tienes un millón de peticiones al mes gratis.
Siempre, para siempre. Es una capa gratuita que tienes siempre.
Pero hay otras que, fíjate, tienes 12 meses de uso gratuito.
Y esto sí que es verdad que tienes que tener cuidado.
Por ejemplo, hay unas muy interesantes como esta.
Amazon S3, 5 GB de almacenamiento en los primeros 12 meses.
De Amazon RDS, que este servicio, lo vamos a ver, también tienes los primeros 12 meses,
tiene 750 horas gratuitas al mes.
Entonces, ten en cuenta que esto te puede marcar la diferencia para probarlo, para hacer algunas cosas.
Yo lo que os recomiendo es que tengáis o no tengáis una cuenta, os la creéis.
Y así, pues, si ahora vais a querer retomar todo el tema de AWS,
así tenéis una capa gratuita con muchos servicios gratuitos, ¿vale?
Si os la queréis jugar, pues nada, utiliza vuestra cuenta.
Pero yo os diría, oye, vais en un momento a aws.amazon.com, ¿vale?
Mira, por ejemplo, aquí en incógnito, vais aquí y os registráis, ¿vale?
Creáis aquí, le dais a crear una cuenta de AWS, vais a ver que aquí, pues, os piden una dirección de correo,
el nombre de la cuenta, tenéis que verificar la cuenta y ya está.
Yo os recomiendo esto, que empecéis desde cero.
De hecho, ¿por qué también es interesante?
También es interesante, y os digo algo, que evitéis utilizar vuestra cuenta principal para vuestras pruebas.
¿Por qué? Porque la cuenta principal, por lo que sea, es la más importante donde vais a tener, por ejemplo,
más temas de seguridad, que es una cosa que vamos a ver, temas de seguridad, de permisos de usuario y todo esto.
Si vuestra cuenta principal es comprometida, es bastante jodido.
Que vuestra cuenta secundaria esté comprometida es jodido, pero no es tan bestia,
porque ahí es donde hacéis las pruebas y todo esto, ¿vale?
Entonces, lo digo por aviso. Yo os recomiendo tener una cuenta sandbox. Es un buen momento para creársela.
Sandbox significa como... Sandbox es caja de arena, es como para hacer pruebas, ¿vale?
Muy bien. Esto es el tema de crear una cuenta. Yo ya tengo la cuenta, pero bueno, ya sabéis lo que podéis hacer.
Crear una cuenta, crear la cuenta y así tener la capa gratuita.
Luego, lo segundo que vamos a necesitar, aunque lo vamos a hacer ahora, es instalar el CLI de AWS.
AWS. El CLI de AWS, ¿qué es? Es la línea de comandos de AWS.
Lo vamos a utilizar durante un momento del curso y básicamente lo que te permite es ejecutar los comandos de AWS.
Lo puedes hacer para crear instancias, para básicamente comunicarte con todos los servicios que vamos a ver hoy.
Nosotros lo vamos a utilizar un momento para hacer el despliegue a producción, porque me parece muy interesante
y porque te desbloquea un montón de oportunidades.
Pero, aún así, tener... Es bastante importante, bastante, bastante importante tener la línea de comandos de AWS.
¿Cómo lo podéis instalar? Lo único que tenéis que hacer, en el caso de Mac OS, es muy fácil,
pero os recomiendo mucho que miréis cómo se instala... No sé si por aquí referencia...
Aquí... Ah, mira. Justo estaba ya en la página. Justo ya estaba en la página.
¿Ves aquí que pone interfaz de línea? Y pone Windows, descarga esto.
Mac OS, hace esto. Linux, hace esto. O sea, que vais a esta página, aws.amazon.com, clic,
si no buscáis AWS, clic, y os sale el primer resultado, ¿eh? Ya está. Más fácil, imposible.
Os lo instaláis y ya está. Si sois de Mac OS o de Linux, creo que también... No sé si Linux...
Sí, Linux me he imaginado que lo podéis instalar también fácil.
Lo que podéis hacer, por ejemplo, si en mi caso yo tengo Brew en Mac OS, podéis hacer Brew Install,
AWS, clic, y esto os debería instalar muy fácilmente la línea de comandos.
Yo, por ejemplo, no la tenía instalada. De hecho, veremos que no tenga ningún susto,
porque en este ordenador hace mucho tiempo que no utilizo AWS ni nada.
Pero instalando con este comando, ya me debería instalar la línea de comandos
y ya no me debería preocupar de tener que descargar nada.
Pero que tenéis Windows, os descargáis esto, ¿vale?
Es el instalador, facilísimo, y ya lo deberíais tener disponible, sin ningún tipo de problema.
Esta es una forma un poquito más fácil, porque así lo tenéis ya con una línea de comandos y ya está.
¿Vale? Creo que debería terminar ya, porque joder, como está tardando, la madre lo parió.
Bueno, luego lo veremos si ha terminado.
Últimos requisitos, venga. Últimos requisitos que debéis tener en cuenta.
Por favor, muy importante, activar el MFA, ¿vale?
El Multiple Factor Authentication, ¿vale?
Esto lo vais a poder hacer, luego os lo enseñaré, pero básicamente, ya sea si os pide desde el principio
o una vez que entréis, que tengáis en cuenta que lo podéis activar, activarlo, ¿vale?
De hacerlo con vuestro móvil, que tengáis que iniciar sesión y todo esto.
Porque es un servicio muy peligroso, que os pueden cobrar mucho dinero
y si os hackean la cuenta, la vais a liar muy parda, ¿vale?
Y otra cosa que os voy a comentar, os voy a dejar el enlace y ahora os lo pongo en el chat
y luego si me da tiempo al final del curso, lo haremos, ¿vale?
Que es el crear un monitor con una alarma para los costes.
¿Por qué? Porque un problema que vamos a encontrarnos, ¿vale?
Aunque ya veis que siempre vamos a intentar, lo vais a ver,
cada vez que utilicemos algo lo vamos a eliminar y todo esto.
Una cosa que vamos a intentar a tope, ¿vale?
Es el hecho de que no nos cobren nada.
En el caso que por lo que sea, pues tenéis miedo de que os cobren,
una cosa que yo os recomiendo es igualmente que creéis una alarma.
Podéis crear alarmas para que os avise cuando os pasáis de 5 dólares, 10 dólares, de lo que sea.
Aquí te explican paso a paso y además el periodo lo puedes hacer no de un mes,
sino puedes hacer de una hora o, ¿sabes? O 6 horas y cosas así.
¿Veis? Podéis hacer para el periodo de 6 horas y le puedes decir el máximo.
Y esto es bastante interesante, ¿vale?
Para justamente evitar que tengas que esperar el mes entero para llevarte el pum, la hostia, ¿vale?
Para que lo tengas en cuenta.
Aquí tenés toda la documentación que es bastante fácil de hacer,
pero bueno, tiene algún truquillo porque fijaos que tenéis que poner
que las métricas están en una región y entonces lo tenéis que tener en cuenta.
¿No se puede poner límite y que el servicio no funcione automáticamente?
Pues a no ser que lo hayan cambiado, ¿vale?
A no ser que lo hayan cambiado, no se puede.
Son bastante ratas y esto es una cosa que pasa en muchos servicios de cloud,
de que no se puede poner.
Lo que sí que puedes hacer, en todo caso, es al revés, ¿vale?
Lo que puedes hacer es, o lo que haces es que el banco le pones un límite
y se puede hacer en muchos sitios.
Se pueden poner límites a la tarjeta.
Tú le puedes decir, esta tarjeta con máximo puede gastar 20.
Entonces limita y lo bloquea.
Eso es una cosa y entonces lo que hace WS directamente es que te quita el acceso y ya está.
A las malas lo puedes hacer.
Y si no, tienes que hacer cosas un poquito más complicadas.
Al menos la última vez que lo utilicé no se podía automatizar, ¿vale?
De decir, no, solo tienes este crédito,
sino que simplemente te tienes que avisar y lo tienes que parar de una.
Sí que puede ser bastante granular de que sean ciertos servicios,
pero es bastante peligroso.
Por eso os digo todo esto y quiero que lo tengáis en cuenta.
Ahora, un aviso importante.
Si por lo que sea no podéis hacer, no podéis crear una cuenta y tal, ¿vale?
No pasa nada.
No pasa nada si no puedes.
¿Por qué?
Porque piden tarjeta de crédito y mucha gente.
No tengo tarjeta de crédito.
No pasa nada.
¿Por qué no pasa nada?
Porque normalmente esto lo usarás en una empresa que te dará una cuenta.
Entonces, ¿qué es lo que te recomiendo?
Si no te puedes crear la cuenta, si te da miedo poner por lo que sea,
te da un montón de miedo utilizar la tarjeta de crédito y todo esto.
A ver, lo ideal sería que lo hicieses.
¿Por qué?
Porque vale la pena.
Pero si no puedes, no pasa nada.
Porque cuando trabajas en muchas empresas, y de hecho, a mí me pasó, muchas veces vais a encontraros que la empresa,
o incluso en temas de estudios, si tenéis estudios también se pueden hacer algunas capas gratuitas,
con AWS, Educate y todo esto, vais a ver que ya os dan la cuenta.
¿Vale?
Ya os dan la cuenta.
Entonces, es bueno que lo conozcáis.
Os van a dar la cuenta ya.
Entonces, podéis aprender hoy sin necesidad de crearla.
No es lo recomendable, pero lo podéis hacer igual.
¿Vale?
Muy bien.
Vamos ya por faena.
Porque ya sabemos por qué.
El curso, los requisitos.
Entonces, vamos a pensar en una web.
Ahora que ya tenemos esto, vamos a pensar en una web.
Venga, vamos a pensar en una web.
Imaginaos que...
Mira, los Funko.
Imaginaos los Funko.
¿Os gustan los Funko?
A mí me encantan los Funko.
Me chiflan.
Pero fijaos que, claro, la página de los Funko, por ejemplo esta, que es la página oficial de los Funko,
tiene la página...
Esta es una tienda online.
Si pensamos en los Funko, solo en la web de los Funko,
imaginad la de cosas que hay que hacer.
Mira, vamos a poner una imagen de un Funko.
A ver si la puedo poner por aquí.
La página esta de los Funkos.
¡Pum!
Ahí tenemos los Funkos.
La Funko Web.
Vale.
Imaginaos la web de los Funkos.
Funko Web.
Bueno, la Funko Web, el tema es que, ¿qué necesitáis para la Funko Web?
Es que necesitáis un montón de cosas.
Necesitáis, por ejemplo, dónde hospedar la web.
Vamos a poner aquí el hospedaje.
Hospedaje.
Necesitáis el hospedaje.
Necesitáis la base de datos.
O sea, base de datos.
Seguro que empezáis a pensar en todas las cosas que necesitáis.
Y, claro, el email, el mailing, ¿no?
Mailing.
Necesitáis también una cola de eventos.
¿Qué es una cola de eventos?
Una cola de eventos es que cuando se hace una compra, entonces se haga un email y el email le llegue y haya una transacción, ¿no?
Cola de eventos, transacciones, un montón de servicios, transacciones.
¿Qué más necesitáis?
También necesitáis imágenes estáticas.
¿Dónde subís las imágenes?
Todo esto, todo esto son servicios que necesitáis y que, claro, que no sabéis, o sea, ¿dónde lo vais a hacer?
Enrutado también, enrutamiento, enrutamiento, ¿no?
Cuando entras en una página, a lo mejor desde diferentes sitios, a lo mejor si es desde España, quieres que lo vean en español y le llevas a otra página o a un distribuidor oficial.
Un montón de servicios, ¿no?
Y lo peor, lo peor de todo, imaginad que de repente llega un día y resulta que Edurne sale diciendo que le encantan los funcos.
Le encantan los funcos.
¿Y qué pasa?
Pues que tú tenías una base de datos, ¿vale?
Y tenías un servidor.
Muy bien.
Tú tenías una base de datos y un servidor, pero el problema de esto es que tanto la base de datos como el servidor que tú tenías, pues resulta que, claro, que son uno y esto lo que te podía permitir es tener mil usuarios al día, ¿vale?
O mil usuarios en una hora.
Mil usuarios en una hora.
Pero resulta que sale Edurne por ahí y dice, oh, es que a mí me encantan, me encantan los funcos.
Tengo una colección brutal.
¿Qué pasa con esto?
Pues que ahora de repente, tanto la base de datos como el servidor, como todos los servicios que tienen colapsan.
Explotan.
Explotan porque tienes de repente lo que se le llama un spike.
Se satura porque lo que tienes es como un spike.
Lo que tienes ahí es un pico de visitas que no te esperabas.
¿Y qué significa esto?
Pues que necesitarías, ¿qué necesitarías?
Se pueden hacer dos cosas aquí.
Y aquí lo que vamos a ver y lo vamos a explicar porque esta es la clave de lo más importante de AWS es el hecho de que vas a necesitar escalar tus servicios.
Necesitan más recursos.
Y hay dos tipos de escalamientos, ¿vale?
Hay dos tipos de formas que podríamos escalar.
Escalar uno sería escalar horizontal, ¿vale?
Escalar horizontal y otro sería escalar vertical.
Entonces, estos dos conceptos son importantes que los entiendas porque te van a acompañar en cualquier servicio en la nube y con lo que sea.
¿Qué significa vertical y horizontal?
Vale, pues el horizontal lo que sería básicamente...
Bueno, vamos con el vertical primero que se entiende más fácil.
El vertical sería el servidor.
Lo que haríamos sería hacerlo más grande, ¿vale?
Lo que haríamos es hacerlo más grande.
Por ejemplo, pasar de 4 GB a 8 GB.
Pasar de que en lugar de tener un procesador que va a 2 GHz que vaya a 3,2.
Que en lugar de tener 500 GB tenga un tera, ¿vale?
Lo que estamos haciendo al escalarlo verticalmente, justamente como dice la palabra, es que lo estamos haciendo más grande, ¿vale?
Entonces lo estamos haciendo más grande.
Lo que estamos haciendo es escalarlo hacia arriba.
Lo mismo que una base de datos.
Lo que estamos haciendo es darle, pues hacerlo mejor, ¿vale?
Subirle la potencia a nuestro servidor.
Esto sería escalarlo verticalmente, hacia arriba.
O escalar verticalmente también podría ser hacerlo más pequeño, ¿vale?
Escalar no siempre significa subir, también puede ser bajar.
Imaginad cuando el momento de Durne baja, vamos a querer escalar para abajo también.
Entonces lo haríamos más pequeño.
Así que tenemos que tener en cuenta que puede ser hacerlo más grande o puede ser...
Hostia, a ver, aquí.
O puede ser también justamente hacerlo también más pequeño, ¿vale?
Puede ser hacerlo más pequeño.
Así que lo ponemos ahí, lo ponemos acá y esto lo hacemos más pequeño, ¿vale?
Puede ser justamente lo contrario, escalarlo para abajo.
Esto sería escalar verticalmente, hacer más poderoso nuestro servidor, base de datos o lo que sea.
Y luego lo que tendríamos a escalar horizontalmente, pues como podéis imaginar, es poner más máquinas.
Es tener la misma máquina, pero multiplicada.
¿Para qué?
Pues para distribuir la carga.
Y esto, pues vamos, lo que vamos a hacer es distribuir la carga.
Son las dos formas que tendríamos de escalar.
Y esto es importante porque ahora vamos a ver cuando creemos nuestra primera instancia, ¿no?
De cómo lo tendríamos.
Así que, hostia, se ha quedado aquí la cosa esta.
A ver, un momento, que se quede bien esto así.
Vale.
¿Por qué se mueve eso?
¿Por qué se mueve?
Vamos a poner esto así, esto aquí y aquí vamos a poner una flechita que sea para el lado, ¿vale?
Y así lo tenemos, ¿vale?
Uno es escalar vertical y esto escalar horizontal.
Y entonces la pregunta del millón, ¿y cuál es mejor?
Los dos son mejor.
Ninguno es mejor que el otro.
Es difícil muchas veces decir, es justamente este el que necesitas.
A ver, escalar vertical es mejorar hardware.
Y el problema que tiene escalar vertical, este, cada uno tiene sus ventajas y sus inconvenientes, ¿vale?
Por ejemplo, este, a ver si soy capaz de que esta flechita se quede quieta, que no se queda quieta ni sin querer.
Vale, y esto así.
Cada una tiene sus ventajas y sus inconvenientes.
Por ejemplo, en este caso, en el de cuando tú haces el hardware más grande, es que voy a poner los inconvenientes abajo, ¿vale?
Para que tengáis cada uno.
Este, por ejemplo, normalmente tiene lo que se le diría downtime, ¿vale?
El downtime, joder, a ver si, a ver, esto, muévete pa' atrás, muévete pa' atrás.
A ver ahora.
Nada, no se tira pa' atrás.
No se tira pa' atrás.
Porque ahora, la madre que lo parió.
El downtime me está costando.
Vale, ahí está, el downtime.
Lo vamos a poner en rojo.
Normalmente, si tú una máquina la quieres hacer más grande, ¿no?
Si quieres mejorarle, si quieres cambiar la memoria y tal, vas a tener downtime, ¿vale?
Significa esto que vas a perder un momento la conectividad.
En cambio, escala horizontal, tú esta máquina lo que haces es duplicarla.
Por lo tanto, no vas a tener el problema del downtime, ¿vale?
Así que esto, cero downtime.
Esto sería algo positivo.
Normalmente, cero downtime.
Aquí cada cosa luego tiene sus cositas.
Y luego lo que tendríamos es que, obviamente, esto es más sencillo, más sencillo, porque va a la misma máquina, ¿vale?
Esto sería más sencillo.
Lo único que tienes que hacer es escalar la misma máquina, pero este sería más complicado.
¿Por qué?
Porque ya tienes que entrar a balancear la carga, ver cuál ordenador, qué servidor es el que tiene la capacidad de absorber esa carga, ¿no?
Ya veis que tiene un poquito más de complejidad, ¿no?
Y luego, normalmente, este tiene mejor coste.
Mejor coste.
¿Por qué?
Porque mejorar una máquina es más barato.
O sea, no es lo mismo una máquina subirle la memoria RAM de 8 a 16 GB.
El coste que tiene eso es bastante asumible.
Que no el hecho de escalar horizontalmente, que normalmente es más caro.
Porque tienes que duplicar una máquina con todo lo que ello comporta.
Y además tienes costes añadidos del balanceador de carga y todo esto.
Suele ser más caro.
Esto es a grandes rasgos.
Hay detalles, muchos más que habría que mirar.
Pero hay veces que, ¿de qué depende utilizar uno u otro?
Pues depende de muchísimas cosas, ¿no?
De dónde te están viniendo todos los problemas de la carga.
Si es por una falta, qué tipo de capacidad de carga necesita.
Depende de muchas, muchas, muchas cosas.
Es muy complicado que alguien te diga, lo mejor siempre es esto.
Porque depende mucho del tipo de proceso que necesita esa máquina y a lo que se está enfrentando, ¿vale?
Pero normalmente podría ser que puedas intentar decir, bueno, voy a intentar primero escalar verticalmente un poco.
O sea, si necesitases un poquito, escalarías verticalmente.
Pero claro, lo que no te da verticalmente es justamente el hecho de que si se cae un servidor, ¿no?
Es la disponibilidad.
La disponibilidad.
Que si se cae un servidor, con un servidor estás tirado, pero en cambio con más de uno estás súper bien.
Así que depende de muchas cosas.
Pero solo para que sepáis un poquito las dos cositas.
Entonces, ya con esto, que son todos los conceptos y tal, nos vamos a WS, ¿vale?
Y entraríamos a nuestra cuenta, ¿vale?
Claro, depende mucho de los casos de uso.
Entonces, aquí tendríamos ya nuestra cuenta.
Nada más entrar, tendríamos aquí la cuenta.
Esta es el momento que da más miedo, ¿ok?
El hecho de decir ahí los costes del mes.
Por ahora yo tengo coste cero, no tengo ningún problema.
Y vamos a intentar que todo siga así.
Pero vamos a ver cosas muy importantes de la UI.
Nada más entréis, que da bastante miedo nada más entrar, ¿vale?
Entonces, han mejorado mucho la UI, pero aún así es bastante abrumadora.
Nosotros vamos a intentar enfocarnos en las cosas que realmente nos van a aportar, ¿vale?
Pero te quiero decir unas cuantas cosas.
Primero, arriba a la derecha tendrías tu cuenta.
Aquí tendrías diferentes cosas para configurar tu cuenta.
Pero aquí al lado, fijaos que aquí pone Frankfurt.
Frankfurt.
No es que me vaya a comer un Frankfurt, ni mucho menos.
Sino que esto lo que quiere decir es la región en que estamos viendo los servicios.
Porque los servicios, tanto de AWS como de otros clouds, digamos que están localizados.
La red de servidores está por todo el mundo.
Por eso se le llama nube, ¿no?
Aunque es raro, ¿no?
Que en realidad está en la Tierra.
Pero está como distribuido por todo el mundo.
Así que, si por ejemplo vosotros, por lo que sea, lo que queráis, es que quieres crear un servicio,
uno de los que vamos a utilizar hoy, lo que quieres crear en Estados Unidos,
tendrías que darle aquí e ir a Estados Unidos.
Si quieres Europa, tal.
Y fijaos que hay algunas regiones que no están habilitadas y que las tenéis que habilitar.
Así que podríais administrar las regiones e ir habilitando y deshabilitando lo que queréis y necesitáis.
Entonces, tenéis América del Sur, tenéis Sao Paulo.
Ahí tendrías la posibilidad, ¿vale?
Yo por ahora voy a dejar Europa-Frankfurt.
Y tened en cuenta una cosa que es bastante creepy, es bastante rara,
pero no todas las regiones tienen todos los servicios.
Hay algunas regiones que tienen más servicios.
Tenéis que ir a algunas regiones para algunos servicios en concreto.
Solo para que lo sepáis y lo tengáis en cuenta.
Por si alguna vez vais a una región y dices, ¿por qué no está este servicio?
Para que lo tengáis en cuenta, ¿vale?
Luego, si le damos aquí a servicios,
¡buah!
Aquí da mucho miedo.
Por suerte yo ya tengo, fijaos, yo tengo visitado recientemente
y además como tengo mis favoritos,
que son muchos de los que vamos a ver hoy.
Hoy vamos a ver como los favoritos que yo tengo y los que creo que son más importantes.
Pero fijaos todos los servicios.
Solo en base de datos tenéis todos estos servicios.
Desarrollo de videojuegos,
habilitación para clientes,
herramientas para desarrolladores, todo esto.
Todos estos servicios están agrupados como en grupos,
Machine Learning,
todos estos servicios han mejorado muchísimo la UI,
pero aún así, nada más entrar, os puede asustar.
Solo de almacenamiento, fijaos que tenéis un montón de servicios
que si no tienes ni idea, no sabéis ni por dónde empezar.
Administración y gobierno.
Bueno, es que solo de administración de usuarios,
de permisos y todo esto,
bueno, ahí hay una burrada.
Pero nosotros nos vamos a enfocar en mis favoritos que hemos visto hoy.
No vamos a ver AWS Amplify,
pero sí que vamos a ver casi todos los demás.
Y vamos a empezar con el que yo creo que es uno de los más importantes,
que es EC2.
Significa Elastic Cloud Computing.
Vamos a echarle un vistazo y os lo explico por aquí en un momento
con el primer servicio que vamos a ver,
EC2, que es Elastic Cloud Computing.
Aunque el nombre suena muy...
¡Wow! Elastic Cloud Computing, Dios mío.
Hostia, le he puesto dos S.
Entonces, parece como que es, vamos, una locura.
La verdad es que EC2 es el servicio que más se parece
a lo que ya conoces a día de hoy, seguramente.
¿Por qué?
Porque EC2 no deja de ser algo muy similar
a los servidores de toda la vida.
De hecho, vamos a ponerle el...
Le vamos a poner esto porque la verdad se parece bastante.
Vamos a quitar esto del downtime,
que no sé por qué se ha quedado por ahí, ¿vale?
Pero vamos a poner el servidor este porque la verdad es lo más parecido
a los servidores de toda la vida.
En EC2 lo que tenemos, ¿vale?
Son como la capacidad de crear una instancia,
ojo, palabra clave, ¿vale?
Instancia de una máquina.
Porque tú puedes tener una máquina y aquí, por eso se le llama Elastic,
puedes levantar tantas máquinas como quieras y que necesites,
y que se replique exactamente la misma máquina virtual.
De hecho, y ahora lo vamos a ver creando una,
puedes tener imágenes de Ubuntu, de Windows, de Macos,
de otros tipos de Linux, incluso algunos sistemas operativos
de la propia Amazon, ¿vale?
Mirad, lo podemos ver aquí.
Aquí tenemos, nada más entrar EC2,
que veis que hay un montón de cosas.
Por suerte, tenemos aquí...
El botón más importante está en amarillo.
Pero fijaos que tenemos zonas, tenemos alarmas,
eventos programados, tenemos un montón de cositas.
Vamos con lo más importante, que es lanzar la instancia.
Vamos a lanzar la instancia.
Esto es lo más básico que necesitamos,
como para crear nuestro propio servidor.
Empezamos por aquí y necesitamos tener un nombre.
Vamos a ponerle midudemo AWS.
Aquí, cuando lanzamos una máquina virtual o una instancia,
vamos a hacer que se ejecute ya en la nube de AWS.
Y lo primero que necesitamos para que la levante
es decirle qué sistema operativo,
qué imagen es la que queremos que utilice esta máquina.
Así que aquí tenemos un montón, fijaos,
Amazon Linux, MacOS, Ubuntu, Windows, Red Hat,
SUSE Linux.
Hay un montón.
De hecho, es que no las termináis,
porque podéis buscar darle aquí
y aquí vais a ver que tienen,
no sé si 50 o 40 y pico.
Aquí, mira, hay 47.
Hay 47 sin filtrar ni nada, ¿vale?
Luego, fijaos que aquí hay un filtro
que pone Free Tier Only.
Si queréis solo la capa gratuita,
os recomiendo que le deis a Free Tier Only
y así os quitáis todas las que no son gratuitas.
Como por ejemplo, las de MacOS,
ya os puedo asegurar que no son gratuitas, ¿vale?
Volvemos para atrás.
Si vamos a lanzar una instancia,
en Buscar más AMI,
podéis ahí mirar más imágenes disponibles.
Pero si no, lo que podéis hacer directamente
es darle aquí Ubuntu,
Verificar, por ejemplo.
Vale, confirmar cambio.
Esto es porque tenía por ahí otra...
Eso no os aparecerá a vosotros,
es que tenía un grupo de seguridad por ahí.
Pero bueno, le dais ahí a Ubuntu
y os aseguráis que pongáis esto, ¿vale?
Apto para la capa gratuita.
Importante.
Para que justamente no os cobren nada.
Fijaos aquí en el resumen
que os va a poner como la imagen,
el tipo de servidor,
que ahora lo veremos también,
el tipo de grupo de seguridad,
el volumen...
Y veis aquí pone nivel gratuito.
El primer año incluye 750 horas.
Así que aseguraros que os pone esto
de nivel gratuito
y que siempre estáis en la capa gratuita, ¿vale?
Para que no os cobren absolutamente nada.
Entonces, vamos a poner Ubuntu.
Vamos a utilizar aquí...
Fijaos que todavía podríamos darle aquí
y seleccionar diferentes imágenes.
Yo voy a utilizar la versión 22,
pero fijaos que tendría la versión 20
con un disco duro SSD.
Tenéis uno que tenga una GPU de NVIDIA,
pero esta ya no está en la capa gratuita, obviamente.
Esto puede ser para Deep Learning.
Hay un montón de cositas, ¿vale?
Yo voy a utilizar esta
porque vamos a utilizarla.
Aquí con la arquitectura,
aquí tendríamos la idea de la imagen,
nos da una descripción
y podemos seguir bajando.
Ahora lo que nos pregunta
es el tipo de instancia.
El tipo de instancia
es básicamente
cuáles van a ser los recursos
que va a tener esta máquina.
¿Por qué?
Porque si le damos aquí,
la Nano sería como la más sencilla,
la más bajita,
la más pequeña de recursos,
tanto de CPU,
de memoria,
de ancho, de banda, ¿vale?
Y la micro
es la que sí que está en la capa gratuita.
O sea, no penséis,
tened cuidado,
no penséis que la Nano es gratis,
porque no.
Lo cierto es que,
aunque no tiene sentido,
sí que tiene sentido
y os voy a explicar por qué.
Esto es porque ellos
ya tendrán preparado
toda esa infraestructura
para que la micro
sea justamente
la que tenéis en la capa gratuita.
Pero no penséis
que la Nano es gratuita
porque no lo es,
¿vale?
Aunque sea peor.
Entonces, dejamos esta,
pero ya veis que la diferencia,
además de los recursos,
es que, obviamente,
según la máquina
que vayáis a elegir,
es más cara, ¿vale?
Fijaos que la micro
bajo demanda en Linux
vais a pagar 0,01 por hora.
Pero cuanto mejores recursos tiene,
obviamente,
vais a pagar más.
Solo la small,
que lo que tiene
es que es el doble de memoria,
vais a pagar el doble
directamente.
Y si necesitáis
una máquina más potente,
pues ya veis,
esto sería como lo que os decía,
¿no?
De escalar verticalmente,
que podéis tener,
pues, dos,
o sea,
un T2 small
por el precio de dos T2 micro,
por ejemplo,
en este caso, ¿no?
Entonces,
aquí en este caso
vamos a dejar la micro,
que ya nos va bastante bien.
Si queréis,
le dais a comparar instancias
y aquí tenéis una comparación
bastante chula
para ver lo que os trae cada una
y hay una cosa
que a veces
no se tiene en cuenta,
pero ojo,
porque no solo es importante
la memoria
y el tipo de almacenamiento
y el número de CPUs,
sino también
el rendimiento de la red.
Porque, amigos,
igual tú tienes una API,
un servidor web,
que necesita
muy pocos recursos
para funcionar,
pero por lo que sea,
resulta que tienes
un montón de peticiones
y necesitas
enviar muchos datos,
¿vale?
Pues tened en cuenta también
que el rendimiento de la red
puede afectar negativamente
a vuestra página
o a vuestro servicio
o lo que sea,
porque las instancias
que son muy pequeñitas
tienen peor rendimiento de red
y aquí lo podéis ver,
¿vale?
Solo para que lo tengáis en cuenta,
¿vale?
Dejamos la micro
y ya está.
Vale,
par de claves
para la inicia de sesión.
Puedes utilizar un par de claves
para conectarte
de forma segura a la instancia.
Vamos a crear
un nuevo par de claves.
Esto,
básicamente,
es para poder conectarnos
a través de SSH
a esta máquina
desde nuestro ordenador.
Yo lo voy a hacer
para que veas
cómo lo haríamos.
Vamos a poner aquí
la midu demo SSH,
¿vale?
Lo vamos a hacer
de tipo RSA.
Puedes utilizar otro par de claves
público-privada
con ED25519.
Lo vamos a guardar
de forma PEM,
¿vale?
Para que lo tengamos aquí.
Y lo importante
es que esta clave
no la tenéis que enviar
en ningún sitio,
¿vale?
Esto tiene que ser privado.
Almacena la clave privada
en un lugar seguro
y accesible del equipo.
Lo vas a necesitar
más adelante
para conectarte,
pero ojo,
que cualquier persona
que tenga estas claves
se va a poder conectar
a la máquina.
Si esto lo subes a Guija,
por lo que sea,
la has liado parda,
¿vale?
Así que ten cuidado
y ten en cuenta esto,
que tienes que guardar
este par de claves
como si fuese,
vamos,
como si fuese
el mayor tesoro del mundo.
Entonces,
yo lo voy a guardar aquí.
Lo vamos a poner por acá,
¿vale?
Lo voy a guardar
en mi ordenador.
Sí,
lo reenvío
y lo curón,
¿vale?
Muy bien.
Entonces,
configuración de red.
Esto,
no voy a entrar mucho
en el detalle de redes
porque podríamos estar aquí
todo el día,
pero lo que sí que es importante
que tienes que saber
sobre las redes,
no es tanto,
no quiero entrar
en un curso de redes,
¿vale?
Pero lo que sí que tienes
que tener en cuenta
de las redes,
de configuración de red
y tal,
es que normalmente
en el cloud
vas a querer
que todos tus servicios
que se tienen que comunicar
entre sí
estén dentro
de la misma red.
¿Por qué?
Porque la latencia
a la hora de comunicarse
entre ellos
va a ser más baja.
Si tú tienes dos servicios
que están en redes
totalmente diferentes
o puestas,
cada una en una esquina,
va a haber una latencia
cuando se comunican,
¿vale?
Y además es bastante interesante
porque muchas veces
el hecho de que estén
en la misma red
también te evita
no solo un tema de latencia,
sino un tema también
de que puedan acceder
sin necesidad
de utilizar SSL
porque directamente
está en el mismo servidor,
temas de permisos
pues ya los tienen
adquiridos directamente,
tiene un montón de ventaja.
Pero solo para que lo sepáis
es importante
que siempre que podamos
estén en la misma red.
Ahora,
¿veis aquí que pone
cualquier lugar?
Yo no le voy a dar,
¿vale?
No le voy a dar
porque podríamos decirle
que el tráfico SSH
solo sea accesible
a través de cualquier lugar
a través de tu IP,
va a detectar tu IP,
¿vale?
Va a detectar como tu IP
y decirte,
vale,
solo desde tu IP
o puedes configurarlo.
Pero si le doy,
aparece mi IP
y no quiero que aparezca,
¿vale?
Entonces,
por eso,
no le voy a dar.
Pero si lo queréis cambiar,
que sepáis que lo podéis cambiar.
Luego,
yo voy a poner
que permitir el tráfico
HTTP y HTTPS
desde Internet
básicamente porque
vamos a subir
un momento un servidor web
y quiero que lo pongáis,
¿vale?
y quiero que poder acceder
y porque vamos a abrir
el puerto 80,
justamente vamos a poner este
y vamos a crear
un grupo de seguridad.
Los grupos de seguridad
básicamente son como
un conjunto de reglas
de firewall
para controlar
el tráfico de la instancia,
tanto el de entrada
como el de salida.
Y claro,
crea grupos
porque normalmente
lo vas a querer reutilizar.
Por ejemplo,
en esta instancia,
imagínate que vamos a querer
un servidor web.
Pues normalmente,
¿qué vamos a querer?
Tener un grupo de seguridad
donde definimos
cómo se tienen que comportar
nuestras instancias
que tienen tráfico
de HTTP
con el puerto 80,
¿vale?
Y ya está.
En este 80
o 443
para el HTTPS
y entonces creamos una vez
un grupo de seguridad
y ya nos podemos olvidar
y reutilizar siempre
el mismo grupo de seguridad.
Aquí,
el almacenamiento.
Ojo,
cuidado,
otra vez de nuevo
tenemos hasta 30 GB gratis,
¿ok?
Y ya lo tendríamos
y luego en detalles avanzados
no lo voy a dar
porque eso es locurón
y ya es una salvajada,
¿vale?
Porque lo vais a ver
y vais a decir,
¡oh, cuántas cosas más raras!
Con esto ya lo tendríamos todo,
¿vale?
Si no se me ha olvidado nada,
ya podemos lanzar nuestra instancia
que debería tardar un poquito.
Nada,
tarda unos segundos
y ya lo podríamos tener,
¿vale?
Entonces,
¿vale?
El lanzamiento de instancias
se inició correctamente.
Vamos a instancias,
¿vale?
Vamos por aquí,
todavía está pendiente
y aquí podríamos ver,
por ejemplo,
el tipo de la instancia
y tal.
Una cosa que me da mucha rabia
de AWS
es que esto no se actualiza solo.
Le tienes que dar aquí.
Le tienes que ir dando aquí
para ver que se actualiza
porque no se actualiza solo.
Da bastante,
bastante rabia.
Entonces,
normalmente,
las instancias no tardan tanto,
pero las bases de datos
pueden tardar bastante.
Ah,
mira,
pues sí que se había actualizado solo.
Se había actualizado solo.
Pues mira,
ya la tenemos aquí,
en ejecución,
¿vale?
Así que ya tenemos aquí
la idea de la instancia,
tenemos un montón de información,
fijaos que tiene una dirección pública,
esto es porque nosotros
le hemos dicho que sea abierta,
pero obviamente,
aunque intentemos entrar,
pues esto nos revienta
y no nos dice que nada,
¿no?
nos dice dirección pública,
pero entramos y no pasa nada.
No os preocupéis
que luego vamos a ver
que esto funciona.
Tenemos más cositas,
IP privadas,
tenemos las DNS,
pero ahora mismo,
nosotros,
que lo que queremos básicamente
es como subir un servidor,
lo que queremos
es la pública.
Esto luego,
más adelante,
lo que podríamos hacer,
obviamente,
es que un dominio
apunte a esta dirección IP.
Nosotros podemos tener
un dominio
que apunta a esta dirección IP,
¿vale?
Eso ya lo dejaríamos
para más adelante,
pero no sería muy complicado,
sería exactamente
como funcionaría,
¿vale?
Entonces,
aquí tendríamos esto,
lo que vamos a hacer ahora
es entrar en la máquina,
que es bastante interesante,
el hecho de cómo podemos
entrar en la máquina
para poder instalar cosas
o hacer lo que nos dé la gana,
¿vale?
Entonces,
¿cómo vamos a conectarnos
a la máquina?
Pues entrando por aquí,
si no me equivoco,
a ver,
¿veis aquí?
que pone conectar,
¿vale?
Le damos a conectar
y fijaos que tenéis
diferentes formas,
os podéis conectar
directamente con la web,
si le dais aquí a conectar,
directamente entramos en la web
y ya está,
¿vale?
Estaríamos dentro,
ya podríamos hacer
lo que nos dé la gana.
Lo más interesante,
normalmente,
lo que más nos gusta
es con un cliente SSH.
¿Qué es un cliente SSH?
Pues básicamente
una terminal.
Desde una terminal
podríamos conectarnos
a nuestra máquina
que ya hemos levantado.
¿Ves?
Abre un cliente SSH,
localiza el archivo
clave privada,
el archivo que hemos
descargado antes
que tenía
lo que os comentaba,
¿no?
Como nuestra clave privada,
vamos a ir aquí
a Downloads,
a ver aquí,
no ha habido
AWS clean,
version,
AWS version,
vale,
está,
existe,
vale,
que es lo importante,
existe,
que antes lo hemos dejado
instalando
y no hemos hecho nada.
Entonces,
aquí deberíamos ejecutar
este comando,
¿vale?
Básicamente lo que estamos
haciendo,
oh,
no está,
no está,
pues debe estar en desktop,
entonces,
desktop,
aquí,
sí,
vale,
esto básicamente
lo que estamos haciendo
es para que no se vea
públicamente,
¿vale?
Y que justamente
pues tengamos
este archivo
que nadie lo vea
y ya está.
Ahora para utilizarlo,
lo que vamos a utilizar
es este comando
que básicamente
lo que le decimos es,
oye,
utiliza esta llave,
esta llave que tengo aquí
para conectarte
a esta instancia
que tenemos aquí.
Así que,
lo que vamos a hacer
es sh-i,
le decimos las llaves
que nos van a permitir entrar
y luego tendríamos aquí
la dirección de nuestro servidor.
Así que le damos,
aquí nos dice,
oye,
está fiando de la huella digital
que tienes por aquí
porque hasta ahora
no la estoy conociendo,
le decimos que sí,
¿vale?
Entonces,
añade este servidor
y ya estamos dentro,
ya tenemos una máquina
a nuestra merced
que podemos hacer con ella
lo que nos dé
absolutamente la gana.
Y lo más interesante
es que la verdad
es que S2
no es,
no es caro,
sobre todo cuando tienes una máquina,
luego puedes crear grupos de máquinas,
puedes hacer un montón de cosas
y una vez que estamos aquí,
esto ya no deja de ser
un Ubuntu.
Así que podemos hacer
sudo
update,
¿vale?
Para actualizar
porque fijaos que además
nos dice aquí,
hay actualizaciones
que son más de una semana,
pues ahora ya estaríamos
cambiando nuestra máquina,
estaríamos aplicando cambios,
instalándole cosas.
De hecho,
podríamos,
y ahora lo vas a ver,
vamos a crear archivos
y vamos,
podríamos hacer mil millones
de cosas con esto.
Podríamos instalarle
Node,
podríamos,
hay Node,
MySQL,
le podemos instalar
lo que nos dé la gana.
Por ejemplo,
podríamos crear
un HTML,
cdhtml,
vamos a crear
un index,
¿vale?
Hola mundo
y, vale,
pues ya tendríamos aquí,
ls,
tenemos un HTML
y si no me equivoco,
debería tener,
sí que tiene Python,
tiene Python 3,
vale,
tiene Python,
por lo tanto,
podríamos hacer sudo
Python 3
y podríamos levantar
un servidor
con el HTTP server
en el puerto 80
y con esto,
ahora,
justamente con ese index
HTML
y habiendo levantado
ese servidor
en el puerto 80,
si vamos a nuestras instancias
y volvemos aquí
a la IP pública,
pues me ha dejado fatal,
me ha dejado fatal
porque
pensaba que lo íbamos a tener,
pero no.
Revisa los puertos,
no,
pero el puerto aquí
lo he puesto,
¿no?
Sí,
lo he puesto aquí,
o sea,
que aquí debería estar.
De hecho,
hombre,
de hecho sí que hay gente
que está entrando,
o sea,
que igual es que no debería,
igual es que he entrado
en HTTPS,
claro,
es que he entrado en HTTPS
y ese es HTTP
porque he puesto el puerto 80,
¿vale?
He puesto el puerto 80,
¿ves?
Lo tenemos aquí.
Hola mundo.
Claro,
es que he entrado en HTTPS
y ¿qué pasa?
Que aquí estamos utilizando
el puerto 80,
el puerto 80 es el de HTTP,
no el de HTTPS,
pero como no lo había visto,
esto detrás de un dominio
o poniéndolo en el puerto correcto
no teníamos este problema,
¿vale?
Pero,
y si no,
lo que podríamos hacer
directamente es entrar
desde la URL
en lugar de ir directamente
con la IP.
Pero lo importante,
lo que os quería enseñar
es que ya tenemos nuestra máquina
y que ya he gastado
todo mi dinero.
No.
Lo que ya tenemos con esto,
¿vale?
Es que en el puerto 80,
que es el de HTTP,
pues ya estamos sirviendo
la página.
Si lo ponemos en el 443,
que sea HTTPS,
pues lo tendríamos,
aunque no estaría exactamente igual,
¿no?
No estaría bien
porque nos faltaría certificados
y un montón de cosas.
Pero lo interesante de esto,
para que nos hagamos una idea,
¿no?
Imaginemos que lo que queréis
es, pues,
instalar
Node.js.
Pues podríamos instalar
FNM
para tener más de una versión
de Node.js
en el servidor.
Vale,
creo que vamos a tener que instalar
porque dice
curr,
seguro que lo tiene,
pero unzip
yo creo que no lo va a tener.
Entonces,
sudo apt-get
unzip,
sudo apt-get install
unzip.
¿Cómo se nota?
Que no utilizo Ubuntu
hace mucho tiempo.
Que no se note.
Que no se note.
Vale,
con esto debería instalarlo.
¿Vale?
Y ahora ya podríamos ejecutar,
por ejemplo,
este comando de aquí.
Con este comando
deberíamos tener
FNMS
e instalar la versión 20.
Ah, no.
FNM.
FNM.
¿Le he puesto sudo?
Pensaba que...
Ah,
es que tengo que ejecutar esto
porque si no tengo que salir de entrar
porque no está en el path todavía.
¿Veis?
Que pone
en order to apply
los cambios
tienes que abrir una nueva terminal
o ejecutar este comando.
Entonces,
ejecutamos este comando
para que esté en el path.
¿Vale?
Porque si no,
no está en el path.
Ahora sí,
install 20
y ahora sí que me instala Node
y ya tendríamos Node
en el servidor.
O sea,
ya tenemos un servidor nuestro
y con esto
pues tendríamos la versión,
¿ves?
la versión 20
y lo mismo que hemos hecho
con Python del HTTP server
pues con esto
podríamos levantar nuestra app
y hacer mil millones de cosas,
publicarla
y ya la tendríamos aquí
y además esta
pues la podríamos escalar
como lo que queramos,
como queramos.
Así que ya tendríamos aquí
nuestro servidor,
¿vale?
Un servidor
en el que podríamos hacer
lo que nos dé la gana.
¿Ok?
Muy bien.
Esto es
EC2
que como hemos dicho
Elastic Cloud Computing
por eso el 2,
¿vale?
Para si no sería SC
pero le han puesto EC2.
Una vez que ya hemos visto
que funciona
como, bueno,
ahora porque
le he eliminado
el servidor
en el puerto 80
de Python
y ya se acabó,
¿vale?
¿Qué es lo que os recomiendo?
Una cosa que os recomiendo
siempre,
siempre,
¿vale?
Siempre que hagáis
cualquier curso
de AWS y tal,
nunca,
nunca,
jamás
dejéis
encendida
una instancia
que no vais a utilizar,
¿vale?
Entonces,
lo que podéis hacer
para eliminar
la instancia
por siempre jamás
la seleccionáis,
acciones
y no,
acciones no,
estado de la instancia,
terminar instancia.
La termináis,
¿vale?
La termináis definitivamente.
Obviamente,
si la vais a utilizar
más adelante
y todo esto,
pues la tendrías que hacer,
¿eh?
Sí,
a ver,
claro,
h.me dice
ni el usuario
wrote
ni tal,
claro,
hay un montón de cosas
que habría en temas
de seguridad
de la máquina.
Mi idea
no es enseñaros sistemas
ni es enseñaros redes
ni es enseñaros
un montón de cosas.
Lo que quiero
es enfocarme
en los servicios
de AWS.
Hay un montón
de temas de seguridad
que tendrías que tener constancia.
Obviamente,
tendríamos que evitar
utilizar el root,
hay formas de crear
el usuario
para no tener que
depender del root,
hay un montón de cosas,
pero es que no me daría
tiempo jamás
de hacer todo eso
hoy cuando hay un montón
de servicios
que tenemos que ver todavía,
¿vale?
Entonces,
sí,
podéis pausar,
detener,
podéis detener la instancia
pero yo,
en este caso,
siempre os recomiendo
que si no la vais a necesitar,
si no la vais a querer,
si no la,
¿sabes?
La elimináis.
Esto es lo mismo
con base de datos
y cualquier cosa
que no vayas a utilizar.
Tarda un poquillo,
¿vale?
Hay algunas
que tened cuidado
y tened cuidado
porque os pregunta,
¿quieres una copia
de seguridad
de esto y tal?
Pues si no la necesitáis,
si no la queréis,
le decís que no
porque muchas veces
hay veces
que también
os deja por ahí
algunos servicios
justamente por esto,
¿vale?
Así que tened cuidado
esto para evitarlo.
Si necesitáis guardar
por lo que sea
cualquier snapshot y tal,
pues le decís que sí,
¿vale?
Que queréis la copia
de seguridad y tal,
pero si no,
eliminadlo todo,
eliminadlo todo
porque es muy bestia,
¿eh?
Igualmente,
con esto que hemos hecho
por ahora
el coste debería ser cero,
¿vale?
Por ahora el coste
debería ser cero.
AWS que yo sepa
no cobra por chapar instancias,
que yo sepa.
Vale,
vamos con más cositas.
Va,
mientras esto se cierra,
vamos con otra
porque tenemos EC2
y ahora vamos a hablar
de RDS,
¿vale?
RDS,
que RDS
es la de
Relational Database
Service,
si no me equivoco,
es que ya veréis
que los servicios son
a veces un poco complicados
de acordarte
de los nombres de todos.
Vamos a poner esto por aquí,
RDS.
Pero voy a explicar
muy rápidamente,
aunque no las vamos a usar todas,
pero vamos a usar RDS,
pero os quiero enseñar
muy rápidamente
y os quiero explicar
todas las que hay
porque en base de datos
vais a ver que hay
diferentes bases de datos.
Tenemos
DocumentDB,
¿DB no?
DB,
bueno,
DB,
vale,
DB.
DocumentDB.
DocumentDB es
una base de datos
que es compatible
con MongoDB,
pero no en MongoDB.
Es raro,
¿vale?
Es raro
de explicar
y de entender,
pero básicamente
Amazon DocumentDB
es un servicio
que está diseñado
y creado
desde cero
por Amazon,
¿vale?
Que tiene muchos rendimientos,
calabilidad y tal,
con la idea
de replicar
todo lo de MongoDB.
¿Y qué quiere decir esto?
Pues que es compatible
con su API,
pero no en MongoDB.
Es raro,
pero es compatible
con la API,
con los servicios,
con las utilidades,
con las herramientas
de MongoDB.
O sea,
están replicando
MongoDB,
pero el motor
que tiene detrás
no es MongoDB.
Como veis aquí pone
Amazon DocumentDB
implementa la API
de MongoDB 3.6,
4.0,
5.0,
de código abierto
Apache 2.0,
emulando
las respuestas
de un cliente
de MongoDB
esperado un servidor,
¿vale?
Entonces,
es interesante
porque tiene algunas cositas
de mejoras de rendimiento,
un precio especial
y todo esto.
Es compatible
con MongoDB,
o sea,
para ti es como MongoDB,
pero que sepas
que no es exactamente
un motor de MongoDB.
Es un poco raro,
¿vale?
Luego tendríamos DynamoDB.
DynamoDB,
que es una base de datos
clave valor
que es de la propia Amazon,
es parecido a MongoDB,
pero sí que es verdad
que tiene menos tipos
de datos,
tiene otros tipos
de casos de uso
y para escalar
pues es bastante interesante,
¿vale?
También te cobra
por leer,
por escribir,
por almacenar datos
y puede ser por uso,
ojo,
porque puedes
que te cobren
por uso
o por aprovisionar.
Tú le puedes decir,
no,
es que la capacidad
que quiero que tenga
es esta
y por lo tanto
te cobrarían
de una forma,
pero también puede ser
por uso
y puedes hacer
que crezca,
que sea elástico
y crezca según
como lo necesites.
Lo que pasa
es que vas a notar
que eso
pues es un poquito
más caro.
Normalmente
aprovisionar
puede salir
un pelín más barato
si lo tienes en cuenta
porque lo otro
se te puede ir
un poco de las manos,
¿vale?
Pero si no lo utilizas
bien,
pues te saldrá
más caro.
Es complicado.
Pero DynamoDB
es un servicio
que es una base de datos
como clave de valor
con documentos
que es de
NoSQL
como sería MongoDB
pero esta es
totalmente
de Amazon,
¿vale?
Esta sería DynamoDB
muy utilizada
en muchas empresas
pero es verdad
que puede ser
muy cara,
bastante cara.
Bueno,
todas las bases de datos
pueden ser muy caras
las cosas como son,
¿eh?
Y esta no es compatible
con MongoDB,
obviamente.
Luego tendríamos
Amazon MemoryDB,
¿vale?
¿Esta qué es?
Pues esta es un Redis
porque de hecho
es exactamente lo mismo.
Es un servicio
que lo que hace
es que sea compatible
con Redis
y te ofrece
un rendimiento
buenísimo,
tremendo,
maravilloso.
No es un Redis
pero es compatible
con todo lo de Redis.
Así que aquí tenemos
MemoryDB para Redis.
Y finalmente
tendríamos
la de RDS
que no es,
no tiene por qué
ser la más popular.
De hecho,
para Amazon
no tengo ni idea
cuál es la más popular,
la que más se utiliza,
pero de Amazon
per se
sería DynamoDB
porque es la base
de datos
que sí que es
de Amazon
y que es suya propia
y tal,
aunque ahora en RDS
veremos unas cuantas cosas.
La de RDS,
como bien dice el nombre,
justamente
es la de
Relational Database Service.
¿Y cuál base
de datos
son relacionales?
¿Te suena alguna?
Pues obviamente
cuando vamos a crear
una base de datos
de RDS,
lo que tenemos
son MySQL,
MariaDB,
PostgreSQL,
Oracle,
Microsoft SQL Server,
la de IBM
y la de Aurora
y Aurora,
PostgreSQL o MySQL.
O sea,
en este servicio
también,
como podéis ver,
Amazon
también tiene como
su propio motor
que se llama Aurora
que es compatible
con MySQL.
O sea,
que sería como
totalmente compatible
con todo lo de MySQL
pero con un motor
que es de Amazon
suyo
que pues tiene
diferentes ventajas,
mejoras de rendimiento,
que es más enfocado
para su nube
y que si te interesa
pues puede ser
que lo puedas utilizar
o no.
O puedes utilizar
directamente MySQL
o puedes utilizar Postgre,
puedes utilizar lo que quieras.
Es indiferente
la que quieras utilizar,
no hay ningún tipo
de problema.
En este caso,
pues vamos a utilizar
MySQL
porque creo que tengo
MySQL por aquí
y así os enseñaré
cómo conectar.
¿Cómo lo tengo?
Pues perfecto.
Entonces,
vamos a crear una de MySQL
pero podrías crear
Postgre
y no hay ningún problema.
Tanto sea la que sea
que queráis utilizar,
¿vale?
Tienes que tener en cuenta
dos cosas
que son bastante importantes.
Uno,
que algunas
veis que tienen limitaciones,
esto es porque
estamos utilizando
la de comunidad MySQL
y por eso dicen
que hay algunas limitaciones
en las que hay.
Y luego,
esto,
que esto
nos va a ayudar
a entender
otro concepto
muy interesante
en el tema del cloud,
¿vale?
Y es,
ojo que pone,
mostrar las versiones
compatibles con el clúster
de base de datos
multi-A-Z.
Y mostrar las versiones
compatibles con las escrituras
optimizadas de Amazon RDS.
¿Vale?
Fíjate con esto.
Aquí lo que tendríamos,
esto,
obviamente,
es algo muy interno
y lo que hace es
optimizar las escrituras,
¿vale?
La segunda opción,
pues,
tampoco parece muy importante,
pero esta segunda
es súper,
súper importante,
¿vale?
el clúster de base de datos
multi-A-Z.
¿Qué significa esto
de A-Z?
A-Z no es
Apocalypse Zombie,
que podría ser perfectamente
y sería buenísimo.
A-Z.
Pero no es eso.
Es
Availability Zone,
o sea,
las zonas de disponibilidad,
¿ok?
Las zonas de disponibilidad.
¿Qué es lo que te permite esto?
Esto lo que te permite
es,
no solo que puedas tener
mejor latencia,
sino que
imagínate
que por lo que sea,
claro,
no tengo aquí un mapa,
pero mira,
vamos a crear un mapa
un momento.
Vamos a crear aquí
el mapa,
este mapa,
mirad.
Imagínate,
esto es el mapa del mundo.
Madre mía,
en un momento.
Imagínate
que tú tienes
una base de datos,
vamos a poner la base de datos,
vamos a poner esto por aquí,
¿vale?
Tenemos la base de datos,
la tenemos aquí,
por lo que sea,
tenemos una base de datos aquí,
aquí,
en este sitio.
Claro,
qué complicado,
¿no?
Tenemos una base de datos aquí
y que,
sí,
después,
ahora no,
no me molestes.
Tenemos una base de datos aquí.
Entonces,
imagínate
que por lo que sea,
por lo que sea,
cae un meteorito,
es un poco bestia,
¿vale?
Entiendo que,
a ver,
sé que es un poco bestia
lo del tema del meteorito,
es un poco exagerado,
pero nunca se sabe
las cosas que pueden pasar.
A ver si soy capaz
de escribir otra vez.
Es que se me ha quedado,
se me ha quedado.
Es que no me he pillado.
A ver,
ahora,
¿no?
Espérate,
voy a actualizar
porque me da la sensación.
Sí,
sí,
se me había quedado penchado
el...
Vale,
imagínate que tenemos
un meteorito,
meteorito,
meteorito,
aquí.
Imagínate que cae un meteorito,
por lo que sea,
¿vale?
Por lo que sea,
pues cae aquí un meteorito,
¿vale?
y la hemos liado.
Cae un meteorito,
te quedas sin base de datos.
Imagínate que solo tienes
una base de datos
en esa zona,
¿no?
En esta zona,
se te destruye.
Pues te has quedado
sin base de datos,
morimos todos
y te has quedado sin base de datos.
Pero imagínate que dices,
hostia,
pero si tengo en la misma zona,
pero no le ha afectado el meteorito a esa,
¿vale?
Pues tenemos esa base de datos
y sobrevive.
Lo que tiene es la capacidad
con las Multi-AZ,
las Availability Zones,
es que en la misma zona
tengamos directamente
como replicada
la misma base de datos.
Y esto tiene un montón de ventajas.
Imagínate que por lo que sea
en ese mismo sitio,
no,
ojo con esto,
porque las Availability Zones
no es,
fijaos que he puesto aquí,
¿eh?
No la he puesto aquí.
¿Por qué no la he puesto aquí?
Porque la Multi-AZ,
estamos hablando de la misma,
la misma región,
el mismo lugar.
Tiene que ser desde el mismo sitio.
O sea,
es este sitio de aquí,
esta parte de aquí.
No estamos hablando
de que sea multiregión,
sino que imagínate
que esta es una región
y en la misma región
lo que tenemos es que
en cada esquina de esa región,
¿vale?
Tenemos dos bases de datos.
O sea,
no están en el mismo servidor,
pero sí que están
en la misma región.
Y esto lo que hace
es que imagínate
que por lo que sea
dentro de la misma región
se nos cae una base de datos,
pues por fortuna
tenemos otra
que lo que va a tener
es toda la información
replicada
y que va a poder
dar ese servicio,
¿vale?
Es muy interesante
porque esto lo que hace
es que tu aplicación,
tu web o lo que sea,
siempre, siempre, siempre
esté disponible
para todo el mundo,
¿no?
¿Por qué?
Porque, mira,
aquí tenemos un ejemplo,
¿no?
Al final,
es una característica
de alta disponibilidad
que al final
lo que te permite
es que el usuario
despliega,
si tú tienes las instancias
de la base de datos,
los servidores y tal,
dentro de la misma región,
¿vale?
Aquí tendríamos,
¿veis?
dentro de la misma región
tengo una vez
la base de datos
y aquí otra base de datos
y en otra región
podéis tener replicada
otra vez la base de datos,
¿no?
Así que al final
la idea es que
cada región
puedas tener
zonas diferentes
con la base de datos
separada
porque si por lo que sea
esto,
imagínate que esto
desaparece
dentro de la misma región,
pues se cae esto,
esto a tomar por saco,
¡pam!
¿Qué es lo que pasa?
Pues que entonces
lo que hacemos
es que,
ah, bueno, claro,
aquí en este caso
imagínate esta,
¿vale?
Que es la primaria.
Como esta es la primaria
tiene más sentido.
Esta se cae,
pues entonces lo que dice es,
vale,
pues el servidor ahora va
a esta
y ya está.
Y entonces se puede olvidar
de todo esto,
no lo necesita,
directamente se lo salta
hasta que se recupere,
lo pueda replicar
y obviamente,
pues esto se mejore,
¿no?
También una cosa
que puede ser interesante,
aparte de la probabilidad
de reducir el evento
de que afecte esto,
claro,
puede afectar un evento
a las dos a la vez
y es un meteorito
lo suficientemente grande,
pues efectivamente
las dos se pueden ir
a tomar por saco,
¿no?
Pero al menos reduce
los problemas
de una catástrofe
de que digas,
hostia,
es que se ha caído
el servidor este.
Bueno,
pues para esto
lo preguntan,
¿vale?
Así que a veces
es importante
poder activarlo,
pero ya podéis imaginar
que también lo hace
más caro,
¿vale?
Que lo tengáis en cuenta
que obviamente
lo va a hacer más caro.
Ahora,
importantísimo,
ahora que sabemos
lo de multi-availability zone,
importantísimo con esto,
¿vale?
Ojo,
porque aquí en plantillas,
¿veis que pone aquí
producción?
Si estáis de prueba,
esto,
importantísimo quitarlo.
De hecho,
no sé si sale al coste
o saldrá por algún sitio
el coste.
Sí,
mirad,
mirad esto,
costes estimados al mes.
Es más de lo que puedo comer.
O sea,
más de lo que como en un año.
Madre mía,
2.000 dólares.
Entonces,
importantísimo,
por favor,
importantísimo.
Aquí hay tres plantillas,
desarrollo y pruebas.
Desarrollo y pruebas,
ya veréis,
que ha bajado.
Ha bajado 190 dólares.
Pero,
por suerte,
hay otro que es
la capa gratuita.
O sea,
súper importante,
capa gratuita.
Con la capa gratuita,
como podéis ver,
no podéis hacer un clúster
de bases de datos
como os estaba explicando,
pero es importante
que lo entendéis,
¿vale?
Así que tened en cuenta,
capa gratuita,
¿vale?
Capa gratuita.
Vamos a poner aquí
el nombre de bases de datos,
midu database,
¿vale?
Aquí de nuevo,
no habría que poner
un nombre de usuario maestro.
Lo ideal sería poner
usuarios,
tener más de un usuario,
que cada uno tenga
sus permisos y todo esto.
Pero bueno,
os voy a enseñar rápidamente
cómo conectarse,
así que no me lo tengáis en cuenta.
El tema de la seguridad
ya os lo dejo
para otro directo.
Pero bueno,
para que aquí lo tengáis.
Le voy a poner también
una contraseña muy sencilla,
que obviamente
debería ser más complicada,
pero bueno,
le voy a poner una muy sencilla
para yo acordarme,
¿vale?
Entonces,
le voy a poner admin
por poner alguna
y ya está.
Podéis,
aunque esto es un poquito
más complicado,
pero es bastante interesante
que AWS tiene su propio servicio
para manejar secretos,
¿vale?
Que está bastante bien.
Vamos a seguir bajando.
Dice,
configuración de la instancia.
Dice,
mostrar la clase de instancia
que admite escrituras optimizadas.
Bueno,
aquí como podéis ver,
también igual que en el servidor,
también podemos tener
diferentes servidores
de base de datos
que van a tener
diferentes posibilidades.
Vamos a dejar este,
la T3 micro,
que está bastante bien,
pero fijaos que
las otras no nos dejan
porque le hemos seleccionado
capa gratuita.
Si no,
nos diría,
ah,
bueno,
pues puedes usar
el que tú quieras.
El almacenamiento,
que tampoco lo vamos a tocar,
aunque esto lo podéis modificar después,
lo cual está bastante bien.
La conectividad,
no se conecta
al recurso informático.
Vale,
¿esto para qué es?
Esto es porque podríamos conectar
la máquina que hemos creado antes
para que se pueda conectar
a esta base de datos,
lo cual lo hace muy interesante
porque muchas veces
vais a querer justamente
que tenga una conectividad directa
el servidor
con la base de datos.
Entonces,
lo podríamos hacer.
En este caso,
no lo vamos a hacer,
pero lo podríais hacer,
¿vale?
La nube privada,
pues importante,
donde tengamos los mismos servicios
que nos interesen
que estén juntos,
¿vale?
Le voy a poner acceso público,
pero en este caso
le vamos a poner acceso público
porque quiero conectarme
desde la terminal,
si no,
no lo hagáis.
Por ejemplo,
si vais a hacer
que desde la máquina
que habéis creado antes
tenga un acceso interno,
no hace falta
que tenga acceso público
y de hecho,
os va a simplificar un montón
todo el tema de seguridad.
En este caso,
yo le voy a poner acceso público
para que pueda conectarme
desde la terminal,
pero no es algo obligatorio,
no es necesario muchas veces
y muchas veces lo ideal
es que solo utilicéis
dentro de vuestros servicios
de AWS
para quitaros
temas de seguridad,
¿vale?
Grupos de seguridad,
¿vale?
Aquí tenemos
elegir existente,
luego seguramente
tenemos que cambiar una cosa,
zona de disponibilidad,
aquí le podemos decir
dentro de la región,
como podéis ver,
tenemos tres zonas,
zonas de availability
que decíamos antes,
en Frankfurt
tienen tres sitios diferentes
donde tienen servidores,
en el 1A,
1B y 1C.
No tenemos ninguna preferencia
en este caso,
¿vale?
Autenticación con contraseña
en este caso,
esto sería un poquito más avanzado,
bastante interesante,
pero más avanzado
y por ahora
lo vamos a dejar así,
fijaos que en la capa gratuita,
aún en la capa gratuita,
me estaría diciendo 17 dólares,
seguramente mucha gente
y de hecho en el chat
he visto que me lo está poniendo,
muchas opciones,
claro,
tened en cuenta,
tened en cuenta
que AWS
está pensado
para empresas
de lo más pequeño
a lo más grande
y que puedas escalar,
que puedas configurar
y que tengas
todas las posibilidades,
entonces,
es normal
que sean abrumadoras,
aunque vais a ver
muchas veces,
muchas veces vais a ver
que no hace falta
tocar ciertas cosas,
pero es verdad
que por eso
es una cosa
que está bastante bien pagada
y por eso digo
que es muy interesante
que al menos
os suene,
porque si no os suena nada,
vais a alucinar,
entonces,
si al menos os suena,
vais viendo
cómo utilizarlo
como tal,
va a ser mucho más fácil
que tengáis una base
para seguir entendiendo,
¿vale?
Entonces,
fijaos aquí,
17 dólares,
costos mensuales estimados,
la capa gratuita,
como veis,
750 horas,
pero claro,
si no la pagamos,
al final nos va a costar dinero,
así que tened cuidado,
vamos a crear la base de datos,
la base de datos
tarda más,
así que lo que vamos a hacer
en este caso,
¿vale?
es que, bueno,
estos son complementos,
o sea,
esto es para pagar por encima,
que en este caso
lo vamos a quitar,
¿vale?
No vamos a quitar todo esto,
pone ver detalles de credenciales,
vale,
la credencial yo entiendo
que es para conectarse,
luego lo haremos,
por ahora,
este sí que tarda bastante más
en crearlo,
así que lo vamos a dejar
un ratito,
¿vale?
Para que esté así
y mientras,
os voy a ir explicando
el siguiente,
¿ok?
Entonces,
muchas veces alguien me dirá,
oye,
y para una base de datos
tengo que utilizar esto,
a ver,
¿qué es lo que pasa?
PlanetScale,
por ejemplo,
es un servicio
que utiliza MySQL
y si vais el pricing,
por 0 euros
tenéis 5 gigas,
tenéis mil millones de lecturas,
10 millones de escrituras
y parece que es muy,
muy,
o sea,
es una muy buena inversión,
0 euros,
¿no?
¿Cuál es el problema
que tiene PlanetScale?
Que no es un problema,
pero,
¿cuál es el problema?
El problema es que
para hacer algo con hobby
te sale bastante a cuenta
porque la verdad
es que está muy bien
de calidad-precio,
además,
no te tienes que preocupar
de costes,
de esto y lo otro.
¿Cuál es el problema?
El problema es cuando
tiene que empezar a escalar.
Cuando tiene que empezar
a escalar a nivel de pro
y vas viendo encima
cuáles son los rendimientos
que tiene,
en realidad PlanetScale,
y no lo digo
como algo negativo,
en realidad PlanetScale
es un envoltorio
de todo lo que estás viendo.
Lo que te estoy enseñando,
¿vale?
Lo que te estoy enseñando
es lo que utiliza
PlanetScale por detrás,
solo que te lo está cobrando
porque lo están volviendo.
¿Por qué?
Porque justamente
lo que está haciendo
es para que tú no tengas
la complejidad que ves aquí,
pues no te preocupes,
porque yo lo que hago
es un envoltorio
y ya está.
Hay un montón de servicios
que son así.
Neon,
Neon,
no tengo ni idea,
o sea,
no estoy seguro Neon,
pero hay muchos,
muchos,
muchos servicios.
Vercell,
Vercell se va a ir más lejos,
Vercell utiliza WS,
O sea,
muchos servicios
que son serverless y tal,
lo que hacen muchas veces
es utilizar por debajo
AWS
y a ver,
que tampoco es que os lo oculten,
es que lo ponen aquí,
AWS
US East 2
y claro,
cuando te pones a rascar,
si realmente quieres
tener una empresa
y que esto realmente
pues pueda escalar,
te vas a dar cuenta
que a la mínima,
a la mínima,
te sale a cuenta
pasarte a AWS
porque no escala bien
y seguramente
a la larga,
a la larga,
incluso si ya eres
una multicorporación
muy grande,
incluso,
incluso,
te va a salir a cuenta
tener tus propios servidores,
que esto lo hemos comentado
alguna vez,
porque para escalar
y todo esto está muy bien,
pero tened en cuenta
a veces esto,
que a la larga
os puede salir cara
la jugada,
de hecho,
si os ponéis a mirar
un poco y tal,
pues vais a ver
que por el precio este
que tenemos aquí,
pues seguramente
se pueden hacer cosas
en AWS
mucho más interesante,
pero claro,
tiene la complejidad
que comentábamos,
¿no?
Bueno,
vamos a darle a ver,
¿veis?
Todavía se está creando,
imaginaos.
Vale,
pues mientras se está creando
y volveremos a ello,
lo que,
bueno,
esto es lo de la ability song
que os quería explicar,
vamos a ver algo,
¿vale?
tenemos ahí lo de la instancia,
tenemos ahí lo de la instancia,
vamos a ver el otro,
¿vale?
Que es S3.
Este además es uno
de los más interesantes,
uno de los más baratos
y yo creo que uno
de los más potentes,
Simple Storage Service.
Es famosísimo,
es muy útil,
muy interesante.
Vamos a poner aquí
un documento,
¿vale?
Se lo vamos a poner
de color blanco
y fijaos,
S3 es que es
mega potente
y podéis hacer
verdaderas salvajadas
con S3
a un precio
muy,
muy,
muy pequeño,
¿eh?
S3.
S3,
Simple Storage Service.
Lo tengo aquí,
mis favoritos.
S3,
a ver,
¿para qué sirve S3?
Pues para almacenar
archivos estáticos,
imágenes,
vídeos,
documentos,
archivos de JavaScript,
de CSS,
de HTML,
es que puedes desplegar
páginas web estáticas
completas
y la palabra clave
de S3
son los buckets.
Buckets,
que no sé cómo
podríamos entender
bucket,
sería como cajón,
¿no?
Como un cajón
donde metes cosas.
El bucket
es la palabra clave
porque sería
donde básicamente
metemos nuestros archivos,
que la palabra clave
para hablar de archivos
en S3
es objetos,
¿vale?
buckets y objetos.
Entonces,
vamos a crear
nuestro primer bucket
para almacenar
estos objetos.
Fijaos en una cosa
que es bastante interesante
y es que
cuando entráis
a la página
de Amazon S3
algunos servicios
veréis que arriba
a la derecha
pone global.
Eso quiere decir
que es un servicio
que afecta
a todas las regiones.
O sea,
que si tú creas
un servicio ahí
afecta a todas las regiones.
Pero S3
es un poco raro
porque cuando creas
el bucket
el bucket
sí que es a nivel,
a nivel,
ves que pone global
pero le tienes que decir
cuando creas un bucket
sí que es a nivel
de región.
Le tienes que decir
en qué región
quieres crear el bucket.
La región
es bastante importante.
¿Por qué?
Porque la región
va a determinar
la latencia
que va a tener
el usuario
a la hora de acceder
a esos recursos
que son estáticos.
¿Vale?
Entonces,
¿qué vamos a hacer con esto?
Lo que vamos a hacer
es que esté en Europa,
vamos a poner
que sea Frankfurt
y ¿por qué pone
que aquí que es global?
Pues porque el nombre
del bucket
tiene que ser único
en todo el mundo.
O sea,
tú aquí no puedes poner React.
Si pones React
seguramente te va a decir
esto ya existe.
¿Vale?
Tendrías que crear
un nombre único
de todo el mundo
para el cloud
de AWS.
Vamos a poner
midu
AWS
demo
S3.
Vamos a esperar
que esto no
esté pillado.
¿Vale?
Lo bueno de S3
es que es muy barato,
muy barato
y se pueden hacer cosas
muy chulas.
¿Vale?
Entonces,
vamos a crear,
nos fijamos en la región,
luego,
la propiedad de los objetos.
Dice,
controla la propiedad
de los objetos
escritos en este bucket
desde otras cuentas
de AWS
y el uso de listas
de control de acceso.
Esto básicamente
es que,
a veces,
puede ser que nos interese
que alguien tenga acceso
a este bucket
y dependiendo de...
O sea,
podemos decirle
que otras cuentas
de AWS
puedan cambiar los objetos.
En este caso,
no queremos.
¿Vale?
Así que,
deshabilitado.
Todos los objetos
de este bucket
son nuestros
y ya está.
Luego,
configuración de bloqueo
de acceso público
para este bucket.
A ver,
aquí hay un punto
importante e interesante.
Vais a ver
que nosotros
vamos a hacer
que todo sea público
para que podamos ver
los objetos,
para que la gente
desde fuera
puedan ver los objetos.
Pero,
AWS
tiene otro servicio
que no vamos a ver hoy
porque no me da tiempo
que se llama CloudFront
que es un CDN.
¿Y cuál es la idea
de CloudFront?
La idea de CloudFront
básicamente
es que tú tengas
un bucket
de S3
y por delante
le pongas un CloudFront.
De forma que CloudFront
lo que hace
es directamente decir
vale,
voy a recuperar
este estático
y lo voy a servir
de la parte
de la forma
más cercana
al usuario
y automáticamente
tú no te dejes
preocupar
porque así
ya tienes alto revento,
seguridad,
comodidad y todo.
Y entonces,
el S3
no sería de acceso público
porque sería
el CloudFront
el que lo haría.
¿Vale?
No lo haría el S3,
lo haría CloudFront
y por lo tanto
esto estaría bien así.
Pero como no me da tiempo
explicaros CloudFront
y todo esto,
lo vamos a hacer público.
Pero solo para que lo sepáis
lo ideal sería
utilizar CloudFront
que es otro servicio
que es un CDN
y que es muy interesante
para utilizar con S3.
En este caso
vamos a ir a saco
y vamos a dejar
que el S3
sea accesible
por todo el mundo.
Pero lo ideal
ya os digo
que sería utilizar CloudFront.
¿Vale?
Que tiene un coste añadido
también os digo.
Entonces,
reconozco que la configuración
actual puede provocar
que este bucket
y los objetos que contiene
se vuelvan públicos
porque lo sé
y lo vamos a hacer.
No necesitamos
control de versiones
pero que sepáis
que podéis tener
un control de versiones
de los archivos.
O sea,
podéis hacer que el mismo archivo
tenga diferentes versiones
como si fuese un git
pero a nivel
de vuestros archivos estáticos
lo cual es bastante interesante.
Podéis crear etiquetas
para saber este bucket
de qué va
y de qué no va.
Por ejemplo,
podemos poner aquí
type web
por ejemplo.
y así saber
este bucket
este es del tipo tal.
Le podéis poner
tantas etiquetas
como queráis.
Le vamos a dejar
el cifrado determinado
que es este
y vamos a deshabilitar
la clave del bucket
que no es importante
en este caso
pero bueno,
lo vamos a quitar.
El cifrado básicamente
es para proteger
los objetos
para que alguien
no tenga acceso
a un objeto.
¿Vale?
Entonces,
cifra
y a lo mejor
si tiene acceso
al objeto
a lo mejor
lo ve cifrado
y no ve el contenido
del objeto.
¿Por qué esto
es importante?
Porque alguien dirá
a mí que me importa
que me vea
por ejemplo
mi imagen
mi archivo
javascript
o lo que sea.
Hay veces
que en S3
se guardan
logs
analíticas
bases de datos
completas
o sea,
se guardan cosas
muy potentes
y muy peligrosas.
Muchas de los leaks
que veis ahí
muchas veces
de se han liqueado
10 millones
de contraseñas
y tal
muchas veces
es que
o han atacado
una base de datos
o han atacado
un S3.
Un S3
es donde se han hecho
las copias de seguridad
de la base de datos
y que seguramente
o no tenían un cifrado
o lo han hackeado
el cifrado
o lo que sea.
Así que muchas veces
y esto no se cuenta
de donde se hacen
muchos hackeos
es del S3
para que lo sepáis.
Entonces,
ya tendríamos esto
al menos esta parte
de aquí
con nuestro bucket
vamos a crear el bucket
no pasa un caso
con S3
de una empresa de seguridad
muchas veces
o XLS
sí, sí, muchos, muchos
hostia,
ha habido un error
respuesta de la API
¿qué ha pasado?
El nombre
mierda
el nombre no está disponible
midu
midu
dev
aws
demo
s3
la madre que me parió
¿coño?
Pero bueno, ¿qué está pasando?
midu
aws
vale,
midu
aws
ya está
la madre que me parió
eso es que alguien
a lo mejor ha utilizado el nombre
mientras lo estábamos comentando
¿no?
vale
entonces, ya tendríamos esto
¿ves?
los objetos pueden ser públicos
pero ahora vamos a ver
que todavía falta alguna cosita
por ejemplo
vamos a entrar al bucket
¿vale?
entramos al bucket
esta sería un poco la interfaz
y podemos por ejemplo
crear una carpeta
vamos a crear una carpeta
que le vamos a poner
images
y fijaos que dice
su política de bucket
podría bloquear la creación de carpetas
claro, que las políticas de permisos
vais a ver que es bastante
bastante chunca
¿eh?
no especifique cifrado
la siguiente confiación de cifrado
requiere que los objetos
definen una clave
vale, nosotros no lo hemos puesto
así que nada
creamos la carpeta images
¿vale?
y en imágenes
pues vamos a
vamos a poner una imagen
yo que sé
xcom, midudep
a ver
vamos a poner
una imagen
yo que sé
a ver una imagen
esta imagen mismo
¿vale?
esta imagen del
amazon web services
la vamos a subir
así que aquí
encargar
ahora no os preocupéis
que vamos a hacer
esto lo vamos a hacer
de forma programática
es bastante interesante
lo arrastramos
¿vale?
y aquí podemos ver la imagen
que se ha puesto por aquí
gen no sé qué
no sé cuánto
en el destino imágenes
¿vale?
aquí tendríamos permisos
propiedades
clase de almacenamiento
esto es interesante
¿por qué hay una clase
de almacenamiento?
es que en S3
los archivos estáticos
no todos
tienen la misma prioridad
o la misma importancia
te explico
y de hecho esto seguro
que te has dado cuenta
alguna vez
por ejemplo
no es lo mismo
el archivo
index.html
o el javascript
de una página
que una copia
de seguridad
que vas a ver
cada tres años
¿no?
la necesidad
de acceder a ese recurso
va a ser diferente
y entonces
por eso
podéis ver aquí
que dice
clase de almacenamiento
pues según el tiempo
de respuesta
cuanto más rápido
que queréis que tenga
o sea que tenga
menos latencia
que tenga más disponibilidad
va a ser más caro
aquí por ejemplo
el estándar
que es de uso general
tenés zona de disponibilidad
tres ¿vale?
y bueno
pues puede ser rápido
pero si queréis
que sea lo suficiente
que sea lento
pero que sea barato
y todo esto
pues a lo mejor
queréis un Glacier
Deep Archive
esto es lo que quiere decir
es que va a ser algo
que cuando le des a descargar
pues a lo mejor
tarda unos cuantos segundos
en encontrar ese archivo
o lo va a meter
en lugar de estar en un SSD
que es un poquito más caro
igual lo mete en un disco duro
pues que es un disco duro
de estos antiguos
en los que pues tarda más
la transferencia
y todo este tipo de cosas
¿no?
entonces estás pagando
por la disponibilidad
y es importante
porque claro
cuanto más caro
pues más disponibilidad
pero menos vas a poder utilizar
así que tenedlo en cuenta
¿no?
en este caso
queremos meter archivos estáticos
le ponemos un estándar
¿vale?
comprobaciones
nada
esto no queremos nada
le damos a cargar
¿vale?
está cargando
ya tendríamos aquí
nuestro archivo
le damos aquí
y vamos a tener
como la información
de este archivo
este es el archivo
que hemos subido
esta es la URL del objeto
y si le damos
sorpresa
sorpresa
S3 tiene capa gratuita
lo hemos comentado antes
que tenéis
mucho
mucha mucha capa gratuita
o sea no os preocupéis
entonces
¿qué ha pasado aquí?
permiso
permiso
este es uno de los errores
más típicos
más frecuentes
que os vais a encontrar
con S3
¿vale?
claro
aquí es que depende
a muchos niveles
el tema de permisos
qué es lo que queréis
o no queréis hacer
¿vale?
dependiendo de cada bucket
a lo mejor vais a querer
que sea público
que solo tenga permisos
unos usuarios en concreto
que hay un montón de
hay un mundo de posibilidades
podríamos estar aquí
dos horas
hablando solo del tema
de permisos
solo del tema de permisos
podríamos estar aquí
horas
¿vale?
horas
pero bueno
lo que vamos a hacer es
con el error
vamos a ir a los permisos
y en los permisos
fijaos aquí que pone
bloquear acceso público
el acceso público
lo tenemos
pero no tenemos
una política
en el bucket
los buckets
necesitan una política
para determinar
cuál es el acceso
a los objetos
que están almacenados
en el bucket
entonces aquí
solo de política
esto es un mundo
un mundo
fíjate si es un mundo
que aquí a la derecha
fíjate que pone
editar instrucción
esto es como un objeto
JSON
y normalmente aquí
pues tienes que decirle
qué versión quieres utilizar
y todo esto
y hay algunos ejemplos
de políticas
aquí en ejemplos
de políticas
podéis ver
algunos ejemplos
de cómo se tienen
que comportar
y tal
por ejemplo
requerir
no sé qué
no sé cuánto
si quiero que lea esto
si quiero que lea lo otro
a ver si encuentro
uno de leer
a ver si lo encuentro
put
no voy a encontrar
uno de leer
al lado
mira
este no tiene mala pinta
este no tiene mala pinta
vamos a copiarnos este
vale
solo para no empezar
desde cero
entonces tendríamos este
y aquí pone principal
no sé qué
el seed
podríamos ponerle un seed
que sería como para saber
cómo es esta política
vamos a poner aquí
public read
vale
luego tendríamos aquí
el principal
vale
que sería como
a la cuenta
y al rol
que le está afectando
en este caso
le vamos a decir
que afecte a todos
vale
para no evitar
para evitar problemas
a qué afecta
afecta a todos
la acción que puede hacer
que en este caso
es que en S3
pueda recuperar el objeto
y recuperar la versión del objeto
fijaos que
de estas acciones
tenéis aquí
veis que pone editar instrucción
y es que aquí
podéis buscar
por cada uno de los servicios
podéis darle S3
y aquí veis
todas las acciones
que podéis añadir
aquí tendrías todas las acciones
y entonces seleccionáis
la que queráis
vale
bueno le he puesto aquí
eso no tiene sentido
si eso tiene más peligro
que una caja bombas
luego el recurso
tenemos que decirle
el recurso
en el que está afectando esto
en este caso
vamos a copiar
este recurso de aquí
vale
entonces quitamos este de aquí
pum
pegamos el nuestro
y fijaos aquí al final
que pone
como un slash
y asterisco
esto es porque queremos
que afecte
a todos los archivos
pero fijaos una cosa
podríais hacer
que afecte solo
a una carpeta
o sea
tener una carpeta
que sea pública
otra que sea privada
hay un montón de posibilidades
y ponerle las condiciones
nosotros no vamos a poner
ninguna condición
pero como veis
podríais tener condiciones
desde variables de entorno
roles
y un montón de cosas
así que nosotros lo vamos a quitar
si no me he equivocado en nada
que es lo más normal
cuando trabajas con políticas
creo que esto tiene sentido
vale
seed, pablo y read
principal para todos
el efecto
lo vamos a permitir
el action, el resource
si no me he equivocado en nada
yo no sé si esto tiene que suena rey
no
creo que esto está bien
vale
le vamos a guardar cambios
lo mejor que podéis hacer
en este tipo de cosas
es que os ayude
echa GPT
también os digo
le podéis decir
oye mi bucket es este
no sé qué
y lo que quiero es que tenga permiso
no sé qué
y os puede ayudar bastante
os lo dejo ahí
si no muchas veces
en la documentación
también tiene bastante acompañamiento
para que os ayude
con esto
si no he hecho nada mal
si vamos aquí
veis
ahora ya tenemos la imagen
ahora sí que tenemos
acceso a la imagen
en la url
ahora podemos acceder a la imagen
sin ningún tipo de problemas
vale
ahora vamos a desplegar
una web
entera
para que veáis
pero para que veáis
que el tema de la política
hay que tenerlo en cuenta
no sé
la versión me la he copiado de esto
a lo mejor hay una versión más
da igual
o sea la versión no es importante
pero bueno
este es el tema
vale
que tenemos ya
pues el S3
con todos los archivos que subamos
lo vamos a tener
lo interesante de esto
que es
pues que obviamente ahora
que podemos subir archivos estáticos
podemos desplegar
una página web
entera
así que vamos a hacer eso
que vamos a hacer
a ver
vamos por partes
para desplegar la web
obviamente
podríamos volver
a subir los archivos estáticos
o sea
podríamos arrastrar
los archivos estáticos
y tal
mirad
vamos a desplegar
esta web
vamos a desplegar
la web de portfolio dev
vale
esta web
que es una web
que está hecha con astro
y que es totalmente
totalmente
totalmente
estática
lo que vamos a hacer
es desplegarla
total
cuando hacemos un
pnpm
run build
esto lo que hace
es crear
un archivo
dist
vale
así que
vamos aquí
dist
y aquí tenemos
los archivos
estos archivos
son los que vamos a querer
desplegar
entonces
como lo vamos a hacer
podríamos arrastrar
los archivos
podríamos hacerlo
pero no vamos a hacer eso
podríamos
hacer desde la línea
de comandos
podríamos hacerlo
desde una github action
podríamos hacer un montón
de cosas
pero lo vamos a hacer
desde la línea
de comandos
no es seguramente
la mejor forma
pero así
te voy a enseñar
cositas que puedes hacer
que están bastante chulas
en AWS
primero
tendrías que instalar
la línea de comandos
que antes hemos visto
cómo hacerlo
en el caso de macos
brio install
AWS click
y ya lo tendrías
ahora tendríamos
que configurar
las llaves
vale
tenemos que poner
AWS configure
y aquí deberíamos poner
el access key ID
hay un montón de formas
de ganar acceso
a tu cuenta de AWS
con las llaves
que hemos visto antes
con una key
y un secret
con un montón de formas
vamos a hacer la key
y el secret
que yo creo que no es la mejor
en general
pero sí que es una de las más típicas
y creo que pues es interesante
que al menos la conozcas
porque se utiliza un montón de veces
aunque normalmente
lo que se hace
es ganar acceso
a través de las llaves
vale
entonces
para crear nuestro usuario
para tener un usuario
que sólo pueda subir
ese 3
porque no vamos a querer
que tenga un usuario
que pueda hacer cualquier cosa
vamos a tener que
buscar un servicio
que sea
IAM
vale
IAM
que básicamente
administra el acceso
a recursos
de AWS
y aquí
vamos a usuarios
vale
mira
miducli
me gusta el miducli
voy a eliminar el miducli
y voy a crear otra vez
el miducli
vete a saber miducli
de dónde
miducli
vamos a eliminar el usuario
lo peor que puede pasar
es que lo estaba utilizando
en otro sitio
y la liemos
vale
miducli
entonces
veis aquí que pone
proporcionar acceso a usuario
a la consola administración
esto es opcional
pero si lo le ponéis
esto lo que va a hacer
es que el usuario
pueda entrar
a la consola
a la UI
a la página web
con su nombre de usuario
muchas veces esto no es necesario
especialmente si es que quieres utilizar
este usuario
en una Gihap Action
o lo que sea
vale
entonces
sólo podrá utilizarlo
de forma programática
así que ponemos el miducli
luego tendríamos aquí
agregar usuario al grupo
copiar permisos
o ajuntar políticas
normalmente
vas a querer
que los usuarios
estén en grupos
tiene sentido
vas a tener grupos de usuarios
por ejemplo
los developers
los clouds
los administradores
yo que sé
de finanzas y todo
porque pueden querer ver
los cost explorer
vas a querer grupos de usuarios
en empresas grandes
si eres tú solo
pues normalmente
a lo mejor no te preocupa tanto
pero vas a querer
que los usuarios
estén dentro de grupos
para no tener que pelearte
constantemente con los permisos
en este caso
vamos a juntar directamente
las políticas
porque lo que queremos
es bastante claro
vale
y va a ser mucho más sencillo
y vamos a tardar menos
pero queremos que tenga
acceso completo
a todo lo de Amazon S3
de S3
que pueda hacer lo que quiera
obviamente
veis aquí
que nos habría creado
como una política
para este usuario
donde nos dice
vale
pues a S3
tiene acceso a todo
esta es la política
que va a tener
este usuario
vale
podríamos darle más límites
incluso para que tenga límites
para controlar
los permisos
que tenga
yo que sé
que no gaste mucho dinero
y un montón de cosas
vale
pero no
en este caso
que no gaste
todo lo que tenemos
con esto ya lo tendríamos
y con esto vamos a crear
el usuario
creamos el usuario
vale
no se encuentra la actividad
bueno claro
normal
y ahora
una vez que entramos
a este usuario
fijaos que tiene
clave de acceso
crear clave de acceso
en credenciales de seguridad
vamos a ver que hay
diferentes cosas
puede tener
un MFA
esto es bastante interesante
para que los usuarios
no tengan problemas
vale
y asignarle dispositivos
de seguridad
claves de acceso
claves públicas SSH
como podéis ver
hay un montón de formas
de hacer que este usuario
se pueda
se pueda
pues loguear
y utilizar los servicios
podéis utilizar
la línea de comandos
que es lo que vamos a hacer nosotros
así que vamos a utilizar esto
fijaos que ya nos dice
que hay otras alternativas
y es que es interesante
conocer estas alternativas
y tal
vamos a utilizar
la línea de comandos
con la key
y el secret
pero hay un montón de formas
que lo podríamos conseguir
entendemos la recomendación
le damos a siguiente
y creo
creo que no debería
aparecer la key
espero
vamos a poner una etiqueta
yo que sé
terminal
o demo
ejemplo
terminal
vale
creamos la clave de acceso
vale
menos mal
menos mal
aquí tendríamos la clave
la key
y esta sería el secreto
vale
la copiamos
nos vamos aquí
AWS
configure
y aquí directamente
ponemos
la key
y aquí vamos a poner
el secreto
que lo copiamos
y lo llevamos
pero
esto lo voy a hacer
si os parece
lo vamos a hacer
uno
lo vamos a hacer
fuera de cámara
vale
fuera de cámara
podéis ver en mi brillo
de los ojos
vale
vale
y entonces
vamos a poner
configure
espérate
voy a copiar otra cosa
para que no me salga aquí
vale
y os voy a enseñar esto
he puesto
AWS configure
vale
y aquí
he puesto el access key
luego he puesto
el secret key
luego me pregunta
cuál es la región
por defecto
pero esto no es importante
para nuestro caso
y luego
el formato del output
porque aquí puedes utilizar
que sea JSON
o lo que sea
pero tampoco es importante
así que así es lo que tendríamos que hacer
al configurar
le pondríamos la key
y el secret
con esto
ya tendríamos
nuestro usuario local
pero fijaos
que esto lo podríais hacer
de forma programática
en una GitHub Action también
lo podéis hacer
en un montón de sitios
o sea no penséis
esto lo estamos haciendo aquí
como ejemplo
pero lo podríais automatizar
en un Jenkins
en un montón de lugares
aunque seguramente
en un Jenkins
y lo podríais hacer
de otra forma
pero lo podríais hacer
que yo lo he visto
que hay empresas
que lo hacen así
y es bastante curioso
siendo una empresa
que lo hagan así
pero bueno
el tema
ahora que ya tenemos esto
lo que vamos a poder hacer
es desplegar
nuestra página web
y es que podemos hacer
AWS S3
que es el servicio
que queremos utilizar
queremos sincronizar
la carpeta
DIST
que es donde tenemos
los archivos estáticos
y le vamos a poner aquí
el bucket
el bucket
no me acuerdo de memoria
así que vamos a tener que ir aquí
y vamos a ir a
bueno ya este usuario
no lo necesita
o sea ya está bien
vale
nos vamos aquí
bucket
midua WS
propiedades
y
ahora no me acuerdo
ahora tengo dudas
si hace falta
yo creo que sí
o sea yo creo que con esto
ya está
yo creo que con esto ya está
o sea con esta parte ya está
vale
esto sería todo lo que necesitamos
le decimos S3
SYNC
la carpeta DIST
y la tienes que subir aquí
ya está
entonces le damos
y si todo ha ido bien
si todo ha ido bien
sube los archivos
vale
ha subido los archivos
al S3
no sé qué
no sé cuánto
ahora bien
si vamos a nuestro bucket
si vamos a
al bucket
midua WS
en propiedades
aquí en algún sitio
no sé
donde
cuando he visto el objeto
antes
cuando he visto el objeto
a ver
me debería salir en algún sitio
la
la
esto
me debería salir esto
si vamos aquí
index.html
ya tenemos la página
vale
pero fíjate que tenemos que poner
index.html
pero fíjate
la página funcionar
funciona
y funciona bastante rápido
tiene bastante poca latencia
eso que tampoco lo hemos optimizado mucho
pero que va bastante fina
va bastante rápido
fijaos
59 milisegundos
o sea
tiene muy buen rendimiento
porque al final son archivos estáticos
los archivos estáticos son imbatibles
pero es que además
tiene muy poca latencia
o sea que está
está súper bien
ahora
claro
esto se puede mejorar
vale
esto se puede mejorar
porque justamente
una cosa muy interesante
que tenemos con S3
es que si vamos a buckets
y vamos a midu
a WS
aquí en propiedades
veis aquí tenemos ya
los archivos que hemos subido
aquí en propiedades
es que S3
ya está pensado
para que publiques páginas web
entonces
aquí abajo
fijaos que hay una opción
que pone
alojamiento de sitios web estáticos
ostras
pues le damos aquí
editar
lo habilitamos
y aquí nos va a preguntar
oye
vale
¿qué quieres hacer?
pues alojar un sitio web estático
¿cuál es el documento del index?
pues index.html
y el de error
en el caso que exista un error
pues podrías poner
un error.html
y también ponerlo
y puedes tener incluso
reglas de redireccionamiento
y esto
amigos
y os va a volar la cabeza
este es uno de los errores
más
más increíblemente típicos
que tiene
muchos programadores
y es con las SPAs
con las SPAs
que son más de una página
¿vale?
el tema es que
cuando es más de una página
y es un single page application
cuando tú navegas
la URL cambia
pero el problema
es que mucha gente
cuando entra
por ejemplo
yo que sé
vas a
a una SPA
¿no?
y pone a punto
o yo que sé
about
¿no?
y entonces
intentas entrar al about
y te dices
es que no encuentra la página
¿vale?
claro
el tema
es que no encuentra la página
porque
esto lo que está intentando
es entrar a index.html
y este archivo
no existe
entonces
lo que tú tendrías que hacer
internamente
es redireccionar
que este about
vaya a buscar
el archivo
barra index.html
que es donde tienes
toda tu lógica
donde tienes tu javascript
y tal
¿vale?
para que directamente
esté buscando eso
y aquí
es donde tendrías que tener
esa redirección
deberías decir
¿vale?
pues quiero que redireccione
¿vale?
la condición
que redireccione
cualquier página
que vaya al index.html
¿vale?
ahí es donde tienes que hacer
la política
en este caso
solo tenemos archivo
así que no lo tenemos que hacer
pero solo para que lo sepas
que no te pase
entonces guardamos los cambios
y una vez que ocurre esto
si vamos otra vez
a lo de la página
alojamiento de sitios web estáticos
fijaos que aquí además
nos da como
una url
que si entramos a la url
que ahora por lo que veo
no sé si es que
¡oh!
a la url
¿qué ha pasado a la url?
no sé si es que la he liado
pero la url
debería aparecer la...
vale
está tardando
porque la estaba aprovisionando
pero bueno
como veis
está aquí
no tiene HTTPS
esto se arregla fácil
porque podríamos poner
un dominio delante
con HTTPS certificado
que apunte
con un alias a esto
y ya lo tendríamos
¿vale?
pero lo importante
es que ya lo tenemos desplegado
con nuestra página
esto es totalmente gratuito
de hecho
la capa gratuita
de S3
es bastante
bastante
bastante
bastante generosa
lo podemos mirar aquí
¿vale?
S3
tenéis 5 GB
gratuitos
20.000 solicitudes
Get
Get
serían como
20.000 lecturas
no es
no es
bueno
igual no es tan
tan tan
pero bueno
no está mal
5 GB
20.000 solicitudes
te lo puedes comer rápido
si tienes muchos recursos
a lo mejor
si tienes 5.000
si tienes 5 recursos
en tu página web
pues con
4.000 visitas
te lo tragas
así que
tened cuidado con eso
pero bueno
ahí tendríamos S3
muy interesante
igualmente es muy barato
es un servicio
muy muy muy barato
para tener en cuenta
para archivos estáticos
no es una cosa
que yo recomiende
porque creo hay mejores opciones
para páginas estáticas
pero bueno
solo para que lo sepáis
¿vale?
seguimos con otra
con otro servicio
ya tenemos
ah no
espérate
antes de seguir con este servicio
os voy a enseñar otra cosa
porque me parece muy interesante
claro
imaginad que en el porfolio
por lo que sea
hacéis algún cambio
claro
aquí una cosa que podéis tener
que es interesante
y yo
muchas
algunas webs
he llegado a tenerlas así
aunque os recomiendo más
utilizar una GitHub Action
claro
que aquí podríais tener
por ejemplo
un deploy
que directamente
llaméis esto
lo podéis poner aquí
y que una vez
que hagáis un cambio
por ejemplo
en lugar de
vamos a buscar el
hey
pues en lugar del hey
pues pongáis aquí
hola
¿vale?
hola
soy mi dude
pues que una vez
que tenéis este script
es muy fácil que hagáis
en lugar de esto
pnpmr and deploy
y que cada vez
que hagáis un cambio
hagáis un deploy
y ya está
no os recomiendo
que lo hagáis en local
recomiendo que lo tengáis esto
bueno
habría que hacer antes
claro
antes de esto
tendría que hacer
pnpm run build
y entonces
hacerse el deploy
¿vale?
entonces esto automáticamente
primero hace la build
te genera los estáticos
y luego te hace el despliegue
y esto
este mismo script
lo podrías pasar
a una GitHub Action
para que se ejecute
cada vez que
que hagas un
Merchamaster
o al main
¿vale?
para que siempre te haga
un despliegue de lo nuevo
y ya lo tendrías
entonces ya
cada vez que vayas aquí
si no la hemos liado parda
bueno
ahora la he liado
porque no sé
dónde he puesto
aquí
pues deberíamos ver
¿ves?
hola
ahora
antes ponía E
ahora pone hola
o sea que ya
lo habríamos actualizado
un momento
y hemos hecho un despliegue
que tarda un segundo
o sea
el despliegue es de un segundo
o sea
es inmediato
¿vale?
así que aquí ya tendríamos esto
y vamos con
el último servicio
que os quiero enseñar
¿vale?
el último servicio
que os quiero enseñar
es el de las landas
porque las landas
yo creo que es
de los mejores servicios
que se pueden aprender
las landas
es un servicio
de computación
sin servidor
o sea
te permite ejecutar código
sin necesidad
de levantar una máquina
lo cual es brutal
¿vale?
sin servidores
es tremendo
las landas
ejecutan el código
solo cuando lo necesitas
y encima
escala automáticamente
si te llegan
mil peticiones
pues se ejecutan
mil landas
si te llegan
un millón de peticiones
pues se ejecutan
un millón de landas
y no tienes que preocuparte
de la escalabilidad
se escala solo
ya está
eso es lo que tiene
además
tarda muy poco
tiene poca latencia
y lo ideal
lo ideal
es que sean funciones
pequeñas
¿no?
lo importante
solo pagas
por el tiempo
de computación
¿vale?
y además
también está
en la capa
gratuita
en la capa
gratuita
vais a ver
que las landas
son absurdamente
baratas
esta sí que es verdad
que os vais a encontrar
que tenéis
muchas posibilidades
mira gratis
para siempre
creo que está
landas
tenéis un millón
de solicitudes
gratis al mes
o sea
vais sobraos
un millón de peticiones
al mes
con las landas
gratuito para siempre
y a partir de ahí
es que te empiezan
a cobrar
entonces
las landas
lo que es interesante
es que te cobran
solo por los segundos
de computación
no por
no por
o sea
si lo utilizas
tres segundos
cinco
diez segundos
una hora
una hora
no es lo ideal
¿no?
pero lo importante
es eso
que no tienes
que tener levantada
la landa
24 horas
siete días
a la semana
por eso
son bastante
baratas
¿vale?
y lo puedes utilizar
como si fuese
una API
o sea
tú puedes utilizar
la landa
como si fuese
una API
de hecho
no sé si lo hemos puesto
por aquí
pero lo vamos a poner
¿vale?
vamos a poner aquí
landas
lambda functions
y es que se llama
y es curioso
¿no?
que se llama
lambda
o sea
no tiene mucha historia
el nombre
el nombre
no es
no es nada complicado
es exactamente
el mismo
y vamos a poner
¿cuál
podríamos poner?
porque de estos
que veo por aquí
no veo ninguno
que
bueno voy a poner esto
aunque realmente
no
parece más una configuración
pero bueno
da igual
es algo
lo suficientemente
diferente
para que parezca
parezca que te hagas sentido
¿vale?
entonces vamos a poner aquí
las landas
para crear una lambda
al final
las landas son funciones
no tiene nada complicado
le damos a crear una función
entrando a las landas
y ojo
una lambda
puede ser
de casi lo que te dé la gana
¿vale?
le vamos a poner el nombre
de función
yo que sé
vamos a poner
check online
¿vale?
para chequear si la gente está online
vamos a hacer esto
no vamos a hacer una función
que sea muy complicada
pero bueno
solo para que veáis
las posibilidades que tiene
entonces
podemos crear desde cero
podemos utilizar un proyecto
podemos utilizar una imagen
de un contenedor
para crear la lambda
o sea
ya podéis utilizar
la imagen
que esté preparada
con todo lo que necesita
y además
podéis utilizar
diferentes runtimes
que sea una función
de .NET
de Go
de Java
de Node
de Python
de Ruby
podéis tener
diferentes versiones
de Node
ya no son versiones
que están recomendadas
pero todavía las podéis utilizar
en este caso
vamos con una de Node
con la versión 20
y le podéis decir
la arquitectura
¿vale?
que en este caso
pues vamos a utilizar
que no sea la normal
la x86
64 bits
y ya estaría
tendríamos aquí
los roles de ejecución
que aquí no nos vamos a preocupar
de nada de esto
vamos a crear la función
y con esto
ya lo tendrías
ya has creado tu función
ahora
esta función
la podéis editar
de diferentes formas
lo ideal
sería editarlo
y desplegarla
desde git
o sea
podéis tener un archivo
que sea una lambda function
y desplegarla
desde una guija para action
todo eso se puede hacer
pero bueno
en este caso
como solo te quiero enseñar
el servicio
solo te quiero enseñar
un poquito como es el servicio
lo puedes editar aquí también
no es lo ideal
no es lo que os recomiendo
de hecho de nuevo
lo podéis tener
en un archivo aparte
y desplegarla
cada vez que haya cambios
y ya está
pero bueno
solo para que lo veamos fácilmente
yo creo que está bastante bien
cosas interesantes
aparte de la edición del código
que aquí tenéis
bastante información
para recordar
¿no?
cuánto ocupa
que esto es importante
porque si que tiene un límite
de cuánto una lambda function
puede ocupar
no podéis hacer
que una lambda function
sean 100 megas
y por eso hay veces
que hay que tener cuidado
con las dependencias
que se utilizan
porque lo que quiere
es que la lambda function
sea rápida
si tú instalas
muchas dependencias
el problema
es que por ejemplo
ya se sabe
que para utilizar
Chromium
o un navegador
como PlayWrite
y todo esto
a veces
hay que optimizarlo bastante
porque si no
no cabe
la lambda function
tienen que ser pequeñas
¿vale?
y luego además
para recordarte también
que runtime
estás utilizando
cuando se ha editado
y todo esto
este sería
el ejemplo más típico
es una función
que tienes que exportar
que es asíncrona
¿vale?
o sea que lo que vas a devolver
aquí pues es
puede ser totalmente
asíncrona
no hay problema
y devuelves un objeto
que sea la respuesta
con el status code
y el cuerpo
de lo que te hay que devolver
aquí en este caso
pues estamos devolviendo
un JSON
y hacemos el JSON.stringify
de esto
si aquí
ya directamente
le damos a test
vas a estar probando
cómo está funcionando
la lambda
le damos aquí a guardar
¿vale?
bueno
vamos a poner
evento de prueba
o pruebas
¿vale?
y esto es lo que le va a pasar
por defecto
a la lambda
ahora veremos esto
no te preocupes
vamos a guardar
¿vale?
le vamos a dar test
y aquí pues tendríamos
la ejecución de la lambda
nos dice la respuesta
y también nos va a decir
ojo
cuánto dinerito
nos va a costar
a ver
no cuánto dinerito
pero sí
la duración de la lambda
y esto es muy importante
y luego te diré
dónde puedes ver esto
porque esto
puede marcar la diferencia
entre
no pagar nada
o pagar mucho dinero
claro
si tus lambdas
por lo que sea
tardan mucho en ejecutarse
imagínate una lambda
tarda un minuto
pues como te he dicho
te cobran por computación
tiempo de computación
ten cuidado
tienes que intentar
que las lambdas
sean lo más rápidas posibles
entonces
¿qué podemos hacer aquí?
podemos hacer lo que nos dé la gana
básicamente
podríamos por ejemplo
imaginar
le he llamado check online
podríamos hacer
que queremos recuperar
cuando un usuario
de Twitch
ha iniciado sesión o no
¿ves?
podríamos poner console logs
y ahora veremos
dónde salen los console logs
y yo tengo
un servicio
que lo tengo por aquí
apuntado
¿vale?
que te dice
si una
si un usuario
si un usuario
ha iniciado
está en Twitch
¿ves?
por ejemplo
mi dudep
lleva una hora
51 minutos
de 50 segundos
estamos ahí
casi a dos horas
pues ahí lo tendríamos
si ponemos gemita
pues gemita
está offline
si ponemos
thegreve
pues thegreve
nos dice que está offline
¿vale?
pues bueno
no sé si es thegreve
o lo que sea
¿no?
pero lo interesante
es eso
que podemos mirar
quién está online
y quién no está online
entonces con este servicio
y pasando a usuario
nos daría esto
normalmente lo ideal
aquí sería hacer
toda la lógica
de saber
cómo un usuario
está online
o no está online
pero bueno
solo para que veáis
cosas que podríamos hacer
podríamos llamar
directamente hasta API
¿no?
pasándole aquí
el nombre del usuario
vamos a pasarle
el user
creamos aquí
una template string
¿vale?
y aquí ya tendríamos
la respuesta
y solo necesitamos
mirar
el JSON
de la respuesta
y con esto
sabríamos
si el usuario
está online
o no está online
o sea que ya devolvíamos
aquí online
vale
por ahora fíjate
que tengo el usuario
lo tengo puesto ahí a mano
¿vale?
he puesto mi dudeb
de hecho voy a hacer esto
un poquito más grande
me está costando
verlo en blanco
no sé si hay un modo oscuro
que quiero pensar que sí
¿modo oscuro?
¿no hay un modo oscuro?
aquí themes
uff
syntax theme
chrome
¿cómo que chrome?
no
dame uno de noche
no hay
no me lo puedo creer
decirme
monokai
monokai os oscuro seguro
sabe dios
pero porque no sé
no cambia nada
ah
bueno
más o menos
pero mejor
mejor
bueno
entonces
con esto
fijaos que si le doy a test
y esto es un error
que suele ocurrir
me sigue saliendo lo de antes
y es que aquí te dice
los cambios no los has desplegado
le tenemos que dar a deploy
para que despliegue los cambios
y ahora sí le damos a test
y entonces
nos da loading
¿vale?
parece que está cargando bastante
¿vale?
y me dice que sí
que está online y true
fíjate que aquí podemos ver
alguna información de la consola
¿no?
vemos aquí la info
user
y aquí ha tardado
dos segundos y medio
fíjate que una cosa es
la duración
de la
de la función
y otra cosa es
cuánto nos han facturado
porque lo redondean
obviamente
o sea
aquí los céntimos
no están para regalarlos
también nos dicen
la memoria máxima
que tenía la lambda
que esto en la configuración
lo podéis aumentar
pero también obviamente
pues os cobran más
y la memoria
que realmente ha usado
lo cual es interesante
para evitar
utilizar más memoria
de la que necesitas
en este caso
creo que vamos bien
pero no tendría sentido
que esta función
cargase un giga
de memoria
porque para qué
quiero un giga
si solo estoy utilizando
84
así que es algo también
a tener en cuenta
¿vale?
entonces
cosas a tener en cuenta
que claro
en el evento
aquí
si le pasamos el evento
imaginad que le queremos
pasar pues
el usuario
Ibai
¿vale?
queremos ver
un test
pruebas
y queremos probar
con Ibai
queremos ver
si realmente
con Ibai
pues se ve
si el usuario
está online
o no está online
en lugar de sacar
el usuario
de aquí
lo que tenemos que hacer
es sacar
event
punto
y el user
¿vale?
porque esto es justamente
lo que estamos pasándole
si lo miramos
el objeto
le pasamos
está en el evento
y ya le llegan
directamente
a las propiedades
ahí
luego obviamente
podríamos hacer así
¿vale?
y ya lo simplificaríamos
más
ahí tendríamos
el usuario
todo quedaría
exactamente igual
lo tenemos
que desplegar
el despliegue
es rapidísimo
lo testeamos
¿vale?
y después de
no sé
según la latencia
tenga lo otro
¿vale?
pues fijaos
nos dice que
sí
que está online
y hemos mirado
el usuario
Ibai
ahora
una vez que ya tenemos esto
cosas súper interesantes
aparte de probarla
como hemos hecho
que podéis crear
tantos eventos de prueba
como queráis
y todo esto
monitorización
¿vale?
la monitorización
es tremenda
porque
a veces tarda
porque bueno
es verdad que tampoco
lo he ejecutado muchas veces
pero estas son las métricas
que tenéis de vuestra
de vuestra función lambda
¿cuántas veces ha invocado
la duración?
¿cuántas veces ha habido un error?
por ejemplo
imaginad
que por lo que sea
vamos a poner aquí
para probar
vamos a crear un nuevo
unas nuevas pruebas
crear un nuevo evento
prueba
usuario
ah bueno
prueba
usuario
vacío
imaginad
que no le pasamos usuario
entonces claro
si no le pasamos usuario
entonces ¿qué pasa?
hostia
no me deja ahora
entonces ¿qué pasa?
¿cómo va a funcionar
nuestra
nuestra función?
pues vamos a guardar
y vamos a probarla
con esto
vamos a probarla
con esto
¿vale?
ejecutando la función
¿vale?
me dice que false
bueno
pues parece que funciona
demasiado bien
demasiado bien
a lo mejor lo ideal
sería que si no tenemos usuario
que falle ¿no?
y diga oye
pues vamos a poner
que si el usuario
es
si no tiene usuario
¿vale?
o sea que en la cadena de texto
también entre
vamos a poner
que la respuesta
vamos a devolver
que el status code
es 400
y que el body
vamos a poner
json.stringify
pues yo que sé
error
user is required
¿vale?
le decimos esto
hacemos un despliegue
y ahora lo testeamos
con
¿ves?
ahora nos da un error 400
tenemos un error 400
pues en la monitorización
lo interesante
es que vais a poder
ahora se ve muy poquito
pero ahí tenemos el error
no sé si lo veis
pero ahí hay un error
¿vale?
tenemos las
casi 100% de las veces
se ve bien
pero hay algún error
¿vale?
algún error va saliendo
también a veces
que tarda un poquito
que tarda un poquito
en aparecer
pero lo importante
es que vemos aquí
la duración
como podemos ver
como va cambiando
la duración
a veces las ejecuciones
concurrentes
toda la información
la tenemos aquí
y además
tenemos los logs
también
eso lo tenemos
en CloudWatch
CloudWatch
sería como el servicio
que tiene AWS
para todo el tema
de logs
para todo el tema
de alertas
también
lo tendríamos ahí
y fijaos aquí
que además
se recuerda
también cuánto
te han cobrado
le daríamos aquí
y aquí tendríamos
todo el log
de esa invocación
nos dice
cuándo ha empezado
el console log
que nosotros hemos puesto
¿ves?
el runtime que ha utilizado
la versión que ha utilizado
porque podéis intentar
ir directamente
a una versión
¿vale?
el nombre del usuario
todo
lo tenemos todo
lo tendríamos aquí
creo que se me ha olvidado
que es una pena
se me ha olvidado configurar
el tema de la URL
de la función
¿ves?
vale
porque
una cosa muy
pero que muy interesante
de las landas
es que la podéis ejecutar
la podéis ejecutar
no sólo
aquí así
obviamente
la podéis ejecutar
como si fuese una API
¿no?
con una URL
la podéis ejecutar
con una URL
que está interesante
pero la podéis ejecutar
también
según
cuando ocurra algo
fijaos aquí que hay un
agregador
desencadenador
podéis agregar
desencadenadores
por ejemplo
cuando se reciba un email
cuando el usuario
hable con Alexa
cuando
yo que sé
cuando se hace un commit
de código a un sitio
cuando
es impresionante
la de posibilidades que tenéis
para triguear
vuestra función
lambda
las oportunidades
que hay aquí
son increíbles
porque hay incluso
cosas de terceros
fijaos aquí
que tenéis de Shopify
imaginaos
cuando el usuario
de Shopify
hace una compra
entonces
lanzo una lambda
para enviarle
un email
al usuario
o para cambiar
una cosa
en un JSON
de beta saber dónde
hay mil millones
de posibilidades
mil millones de ideas
que tenéis aquí
tanto de servicios internos
de AWS
como servicios externos
o sea
es impresionante
son eventos
que podéis hacer
y obviamente
también eventos
a través de un webhook
o sea también
le podéis decir
vale
cuando ocurra
en la
en la aplicación web
un evento
pues voy a hacer
que se ejecute
esta lambda
vale
e incluso la lambda
también lo que puedes hacer
es enviarla a un destino
o sea que el resultado
lo podéis enviar
a un destino
por ejemplo
a una cola
podéis tener colas
para que
ese objeto
que envíe la lambda
pues luego
produzca el email
en una cola de servicios
o sea las posibilidades
son increíbles
vale
por ejemplo
nosotros la utilizamos
en fotocasa
para que os hagáis
una idea
¿no?
¿dónde se podría utilizar
en fotocasa?
pues en fotocasa
la podríamos
la utilizamos a lo mejor
para
para
es que ahora
no sé si hay un ejemplo
aquí de una casa
a ver si le doy a buscar
¿vale?
para el contacto
pues imagínate
cada vez que se hacía
un contacto
pues este contacto
lo que hacíamos era
llamar a la lambda
y en la lambda
lo que hacíamos era
vale
pues tienes que poner
la cola
que hay que enviarle
este correo
al usuario
que ha puesto
este chalet
para que reciba
el aviso
¿vale?
para que os hagáis
un poco la idea
esto estaba pasando
en la web
pero en la web
lo que estaba pasando
es llamar al servicio
para hacer esto
Midu
¿por qué usar lambda
y no un backend normal?
pues por justamente
lo que hemos comentado
al principio
por un tema de costes
la escalabilidad
que tendríamos
con una lambda
es infinita
al final
solo pagaríamos
por el cómputo
en lugar de tener
un servidor ahí
que
si es un servidor
que hace muchas cosas
imagínate que es un servidor
que tenemos
100 landas
100 servicios
y si peta uno
y si uno se queda colgado
y no responde ninguno
esto lo he visto yo
millones de veces
de que tienes un servidor
que es donde le envías
toda esta tralla
¿vale?
de repente
hay un servicio
de los 100 que tiene
que se cae
se cae
porque se queda ahí colgado
¿vale?
los otros 100 no responden
¿sabes?
eso es muchas veces
un problema
porque al final
lo que
uno
estás pagando por algo
que no necesitas seguramente
y dos
encima te está saliendo
bastante caro
y tienes un punto
de ruptura
de tu aplicación
de tu infraestructura
en cambio si tienes
landas
las landas
solo pagas por lo que lo usas
escala infinito
y si falla una
todo lo demás
funciona totalmente
¿no?
entonces
además
luego
esto hay un montón de cosas
pero podríamos utilizar
el API Gateway
para que aunque tú tengas
un solo servicio
en realidad
por detrás
esté utilizando landas
¿sabes?
y sería
virtualmente
un backend normal
aunque tú
luego por detrás
no lo veas
¿no?
o sea que tiene un montón
de posibilidades y oportunidades
que son muy interesantes
luego
obviamente también
lo podéis utilizar
como si fuese
una URL
¿vale?
por ejemplo
aquí podéis decir
no utilizar
un auto
podéis que sea autentificada
o se sea autentificar
y que tenga una URL
que sea totalmente pública
entonces
aquí tendríamos
la URL
la función
¿vale?
URL la función
la creáis
y tendríamos
una URL pública
¿vale?
nos dice que el usuario
es requerido
le pasamos el usuario
y ya hemos hecho
en un momento
pues una
una API
que no sé por qué
¿por qué me pone esto?
¿por qué no me está
pasando el usuario?
¡ah!
puede ser
puede ser
que esto no funcione así
¿sabes?
porque si os fijáis
el JSON
se lo tendríamos que pasar
de otra forma
¿sabes?
no se le puede pasar así
habría que pasárselo
por el cuerpo
del JSON
o sea en el evento
se tiene que pasar el JSON
no es un query string
es el cuerpo del JSON
claro yo estaba pasando aquí
el user y tal
y en realidad
lo que habría que hacer
es pasarle el cuerpo del JSON
lo malo es que no tengo
Postman
Somnia
no tengo ninguna
bueno
pero lo imagináis
ya lo tendríais
¿vale?
el tema es que hay que pasarle
el cuerpo del JSON
y ya estaría
aparte de esto
¿qué más os quería comentar?
bueno
variables de entorno
que son bastante interesantes
el tema monitor
ya lo he comentado
veis que está súper chulo
aquí el hecho de que
os va comentando
esto la verdad
que es la vida
es la vida
todo el tema este
y ya para terminar
habíamos dejado
la base de datos
la base de datos
la tenemos por aquí
que os había dicho
no dejéis una base de datos
pues yo la he dejado ahí
he dejado la base de datos
ahí todo loca
y os había dicho
que nos íbamos a conectar
a la base de datos
pues vamos a conectarnos
o vamos a intentar
conectarnos a la base de datos
seguramente algún problemilla
tendremos
pero seguro que lo podemos arreglar
¿vale?
entonces
la base de datos
en la base de datos
si no recuerdo mal
la configuración para conectarse
vale
aquí tenemos el punto de enlace
el punto de enlace
es donde digamos
que nos queremos conectar
¿no?
o sea donde tenemos
la url
aquí tendríamos el puerto
si vamos a mysql
le vamos a poner
el host
que sería todo esto
le vamos a decir
el puerto
que es 3306
le vamos a decir
el usuario
que si no recuerdo mal
es admin
y luego le va a decir
que nos pida el password
¿no?
y le decimos
fal
bueno
os iba a decir el nombre
el password
fal
nada
el password que era
falta
falta aprender
mucho
esto va a petar
pum
esto no va a funcionar
no va a funcionar
porque
aunque le hemos dicho
que tenga
un punto de enlace
y todo esto
lo cierto
es que el grupo
de seguridad
de la red
no permite
acceder al puerto
3306
esto es bastante
esto es uno de los temazos
muchas veces
que tenemos
con AWS
y es que la seguridad
es bastante importante
¿no?
entonces
tenemos que editar
las reglas de entradas
de nuestro grupo
de seguridad
para permitir
porque ves que ahora
pone todo el tráfico
y entonces aquí está
personalizado
y no sé qué
tenemos que agregar
una regla
que busquemos aquí
MySQL
que es el puerto
3306
para que el origen
sea cualquier IP
por ejemplo
aquí obviamente
no tendríamos que hacer esto
pero yo lo voy a hacer
para no poner mi IP
para que no aparezca mi IP
ni la IP de un servidor
ni nada ¿no?
y tendríamos que hacer
exactamente lo mismo
pero con
la IP 6
por si acaso
¿vale?
cualquier IP 6
guardamos estas reglas
y ahora sí
debería
ves ahí se ha quedado
se había quedado tonto
ahora sí
si ponemos falta aprender
ahora sí que podemos acceder
pero fijaos
que a veces
es muy importante
los grupos de seguridad
porque ya veis
que pasan estas cositas
ahora ya tendríamos
acceso totalmente
a nuestra base de datos
podríamos pues crear
lo que nos dé la gana
yo que sé
podemos crear
create database midu
ay
use midu
create table users
id
int not null
name text
¿vale?
insert
bueno
seleccionar todo
from users
que vais a ver
que no tenemos nada
insert into users
values
y aquí le ponemos
el midu
y select
all from users
bueno
y ya tenemos
nuestra base de datos
esto es una base de datos
que está en la nube
que tenemos ahí en amazon
y tal
y ahora que la has visto
pues me la cargo
me la cargo
que no quiero que me cobren
tiene mucho peligro
la verdad es que la UI
ha mejorado un poquito
porque antes era todavía
más difícil moverse
así que
dad gracias
que ha mejorado bastante
¿vale?
instantáneas de
no
¿dónde está mi base de datos?
aquí está mi base de datos
¿vale?
la midu database
instantáneas
joder
instancias de base de datos
aquí ya tenemos
¿vale?
fijaos en una cosa
esto es importante
cuando la queréis eliminar
no sé
no acuerdo ahora
eliminar
¿vale?
fijaos
la podéis detener temporalmente
no habría ningún problema
pero os recomiendo
que la eliminéis
siempre que podáis
si no la vais a utilizar
entonces
crear una instantánea final
determina si se crea
una instantánea final
de base de datos
antes de eliminar la instancia
si queréis guardar
pues puede ser interesante
si no
fuera
¿vale?
conservar copia de seguridad
tampoco la quiero
y digo
acepto que tras la eliminación
de distancia
los backups automatizados
y tal
pues todo se va a eliminar
y aquí tengo que escribir
eliminarme
entonces la eliminamos
depende
si quieres un backup
obviamente pon un backup
pero si no necesitas el backup
no lo pongas
todo lo que pueda ser
que no necesites en AWS
y no lo tengas
mejor
menos sorpresas
y ahora pues tardará
un ratito también
porque tarda en eliminarse
pero ya se eliminará
así que ahí lo tendríamos
¿cuánto nos han cobrado
aproximadamente?
de lo que hemos hecho
no nos han cobrado nada
de que
de todo lo que hemos hecho
hoy
no nos han cobrado nada
lo podemos mirar
pero ya os digo
que no nos han cobrado nada
porque todo lo que hemos hecho
es la capa gratuita
no ha habido ninguna cosa
que
que
a ver
voy a ver
para no meterme en susto
pero no
ya os digo yo
que no
que no
que no
que no hay nada
no hay nada
no hay nada
no hay nada
no hay nada
porque básicamente
AWS
tiene una capa gratuita
que si vas con cuidado
no va a haber ningún tipo de problema
pero es verdad
que debes tener un poquito de cuidado
de decir
ostras
¿sabes?
cuidado de decir
que dejes algo abierto
que dejéis alguna cosa
de hecho
es muy recomendable
que entréis aquí
de vez en cuando
que veáis
pues yo que sé
cuántos los costes que tenéis
cuántos servicios tenéis
que pongáis la alerta
en CloudWatch
que os he pasado antes el enlace
todo este tipo de cosas
porque si no
se puede liar parda
se puede liar parda
Mibu
gracias por este curso
yo estoy buscando trabajo
y estoy haciendo un curso
en Udemy
para prepararme
para la certificación
recomiendas que siga full
con el curso
y saque la certificación
o también que haga
un pequeño proyecto
con algunos servicios
de AWS
para comprobar
que se lo
¿qué es?
¿qué?
¿qué?
para comprobar
que se lo práctico
no sé si la certificación
pesa por sí sola
la certificación de AWS
es la hostia
o sea
si hay una certificación
que pesa
la verdad es que
la de AWS
tiene bastante
bastante peso
os digo una cosa
lo que hemos visto hoy
o sea
pensad que AWS
es muy grande
que he explicado muchos conceptos
y que he intentado
que sea práctico también
¿sabes?
de intentar
oye vamos a utilizar
todos los servicios
que veáis
que realmente
se pueden utilizar
hacer una pequeña cosa
con cada uno
y tal ¿no?
entonces
es
la punta del iceberg
¿no?
AWS
al final
empiezas
y no te la acabas
nunca
con las certificaciones
yo creo que lo que hemos visto hoy
os puede servir
de una base
para empezar
pero fijaos que además
hay como
hay algunos que están muy especializados
en cada una de las partes
¿no?
yo creo que las
las
las certificaciones
están muy chulas
de AWS
la final
¿veis?
la básica
que yo creo que la básica
es como la que habríamos hecho hoy
os puede ayudar bastante
y a partir de ahí
ya
estas dos están
son muy top
son de pago
obviamente
a no ser que tengáis la oportunidad
con AWS
Educate
y cosas así
pues que os pueda servir
y que tienen muy buena pinta
pero
pero sí
yo te recomendaría
que practiques mucho
y que te prepares para el examen
lo bueno es que
las certificaciones de pago
pero mucho del contenido
para prepararte
para el examen
es gratuito
¿vale?
entonces
tenéis un montón de contenido
para prepararte
para el examen
o sea
imagínate que te quieres
preparar para este ¿no?
que son 100 dólares
bueno
pues te puedes preparar
tienen un montón
de documentación
para prepararte para el examen
¿ves?
conozca el examen
la guía
lo más
los temas que entran
y de cada tal
mira
pues el curso estándar de preparación
y el curso
que al final lo haces
a tu ritmo
pues
¿ves?
este es gratuito totalmente
y está muy chulo
muy chulo
creo que lo malo es que están en inglés
pero
ah no
mira
se puede
está en español
ah no
qué cabrones
tío
están todos menos español
pero ¿esto qué es?
bueno en fin
que os recomiendo mucho estos
¿de qué sirve certificado?
a ver
certificado per se
no sirve para nada
pero
también es verdad
per se
certificado no sirve para nada
pero
es verdad que se aprende mucho
y con AWS
sí que se aprende bastante
y por otro lado
aparte de aprender bastante
es que
puede marcar la diferencia
a la hora de aplicar
algún trabajo
¿por qué?
porque a ver
un certificado de AWS
sinceramente
pesa bastante
todos los certificados
que son de pago
suelen pesar
porque la gente
suele ir con un certificado
que gratuito
que al final
es normal
no todo el mundo
se los puede permitir
pero
AWS
insisto
es uno de los servicios
más importantes
en la nube
que existe a día de hoy
todas
o casi todas
las empresas
utilizan algo
por poco que sea
de AWS
marca bastante la diferencia
en mi opinión
en mi opinión
y a lo mejor hay gente
que dice
pues yo no estoy de acuerdo
por lo que sea
bueno
yo la verdad
es que creo que AWS
si lo dominas
y hoy lo habéis visto
se pueden hacer cosas
muy potentes
y os joder
es un tesoro
tener una persona
que sepa de AWS
y las empresas
se pueden pelear
bastante
bastante
así que lo sepáis
tengo un proyecto
en el que puedo mostrar
que realmente sabes
si es realmente
bastante útil
además que hay cosas
de la práctica
que algunas veces
no explican en la teoría
bueno
pero ya os digo yo
que en el certificado
vais a poder hacer
vais a poder hacer
o sea de todo
es correcto
se pide mucho
más en seniors
bueno si
AWS
no hace falta
que sepáis
yo creo que
lo que hoy habéis visto
hay muchos seniors
que no lo saben
que no tienen ni idea
o sea que
yo creo que
es bastante interesante
al menos
pues mejorar
este tipo de cosas
¿vale?
mira
y si sigues
influencer
AWS
suelen poner links
con descuento
del 50%
pues mira
bastante interesante
yo creo que
es
de los