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