Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Amazon Web Services

Creación de un sitio web para compartir contenido multimedia - Parte 1: cargar el contenido (Español LATAM) | Building a Media Sharing Website - Part 1: Media Upload (Spanish from Latin America)

Amazon Web Services and Amazon via AWS Skill Builder

Overview

Información general sobre el laboratorio

En este laboratorio, aprenderá a implementar un sitio web para compartir fotos mediante el uso de Amazon Simple Storage Service (Amazon S3) para el almacenamiento, Amazon DynamoDB para la base de datos y Amazon Elastic Compute Cloud (Amazon EC2) para el alojamiento de una aplicación web.

En este laboratorio, creará la arquitectura central del sistema, al tiempo que se proveerán funciones básicas tales como exploración y carga de contenido. El contenido multimedia estará limitado a imágenes, pero los conceptos incluidos aquí también se aplican a otros tipos de multimedia tales como documentos (PDF, RTF, presentaciones, etc.), música, videos, etc. El sistema también proporcionará una interfaz web para que los usuarios puedan explorar y almacenar imágenes.

Objetivos

Al final de este laboratorio, podrá realizar lo siguiente:

  • crear un nuevo bucket de Amazon S3 para almacenar archivos multimedia,
  • crear una tabla de DynamoDB para almacenar los metadatos de los archivos multimedia,
  • iniciar una nueva instancia de EC2 para ejecutar el servidor web,
  • probar la implementación.

Requisitos previos del laboratorio

Para completar correctamente este laboratorio, deberá estar familiarizado con la navegación básica de la consola de administración de AWS y con la edición de scripts en un editor de texto.

Duración

El tiempo estimado para completar este laboratorio es de 60 minutos.

Significados de los íconos

A lo largo de este laboratorio, se utilizan varios íconos para llamar la atención sobre diferentes tipos de instrucciones y notas. En la siguiente lista, se explica el propósito de cada ícono:

  • Nota: Una pista, consejo u orientación importante

Información general de la solución

Almacenamiento de multimedia

Las imágenes se pueden almacenar en volúmenes de Amazon Elastic Block Store, pero deberá aprovisionar de antemano la capacidad y administrar la operación de aumento vertical de esta capa de almacenamiento mediante el agregado de volúmenes. Además, dichos volúmenes deben adjuntarse a una instancia de EC2 para proporcionar contenido vía HTTP. Esto crea un único punto de error en el sistema en caso de que los datos no se repliquen o traten desde otra instancia.

Una opción más adecuada es utilizar Amazon S3 como repositorio de almacenamiento para archivos multimedia. Amazon S3 proporciona alta durabilidad de los datos y la capacidad de proporcionar contenido mediante HTTP. No existe límite para la cantidad de objetos que pueden almacenarse en un bucket de Amazon S3, ni tampoco variación en el rendimiento, ya sea que utilice muchos buckets o solo algunos. Puede almacenar todos sus objetos en un único bucket u organizarlos en varios buckets.

En este laboratorio, creará la siguiente solución:

Cuando el usuario carga una imagen, el servidor web la recibe y crea una miniatura. Luego, carga la imagen y la miniatura al bucket de S3 e inserta los metadatos de la imagen en la tabla de DynamoDB.

Si bien tanto Amazon S3 como DynamoDB son sistemas escalables y con tolerancia a errores, el servidor web se encuentra en ejecución en una instancia única de EC2. Esto es claramente un punto único de error (si falla la aplicación web, el sistema no está accesible y no puede recuperarse) y se produce un cuello de botella (con una carga importante de solicitudes entrantes, el sistema podría incluso dejar de estar disponible).

Esta es una breve introducción a cada uno de los servicios que se usaron en la situación del laboratorio.

Nota: Si conoce estos servicios de AWS, puede saltearse la introducción a los servicios e ir directamente a la sección Start lab (Comenzar laboratorio).

Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2) es un servicio web que proporciona capacidad de cómputo de tamaño modificable en la nube. Está diseñado para facilitar a los desarrolladores el uso del cómputo a escala web. La sencilla interfaz de servicio web de Amazon EC2 permite obtener y configurar la capacidad con mínima fricción. Proporciona un control completo sobre los recursos de cómputo y permite ejecutar en el entorno de cómputo comprobado de Amazon. Amazon EC2 reduce el tiempo necesario para obtener y arrancar nuevas instancias de servidor en minutos, lo que permite escalar rápidamente la capacidad, ya sea aumentándola o reduciéndola, según cambien sus necesidades. Amazon EC2 cambia el modelo económico de la informática, al permitir pagar solo por la capacidad que realmente utiliza.

Amazon EC2 le permite incrementar o reducir la capacidad en minutos, no en horas ni en días. Se pueden utilizar una, cientos o incluso miles de instancias del servidor a la vez. Por supuesto, dado que todo esto está controlado con las API de servicio web, las aplicaciones pueden escalarse a sí mismas automáticamente en forma ascendente y descendente según sus necesidades.

Tiene control total de las instancias. Tiene acceso de raíz a cada una y puede interactuar con ellas como lo haría con cualquier máquina. Se puede detener la instancia y retener los datos de la partición de inicio y luego reiniciar la misma instancia mediante las API de servicio web. Las instancias se pueden reiniciar en forma remota mediante las API de servicio web. Además, tiene acceso a los resultados de la consola de las instancias.

Puede elegir entre varios tipos de instancias, sistemas operativos y paquetes de software. Amazon EC2 le permite seleccionar una configuración de memoria, CPU, almacenamiento de instancias y tamaño de partición de inicio óptimo para sus sistemas operativos y aplicaciones. Por ejemplo, la elección del sistema operativo incluye numerosas distribuciones de Linux y Microsoft Windows Server.

Para obtener más información sobre Amazon EC2, consulte: https://aws.amazon.com/ec2/

DynamoDB

DynamoDB es un servicio de base de datos NoSQL completamente administrado, que permite almacenar y recuperar cualquier cantidad de datos en forma simple y efectiva, y satisfacer cualquier nivel de tráfico de solicitudes. Su rendimiento y latencia en milisegundos de un solo dígito, lo hace sumamente adecuado para juegos, tecnología publicitaria, móvil y muchas otras aplicaciones.

DynamoDB ofrece rendimiento y escalado de almacenamiento sin interrupciones mediante la API y la consola de administración fácil de usar, de modo que pueda escalar de manera vertical u horizontal según sus necesidades. Muchos de nuestros clientes han logrado crear en cuestión de minutos, con un solo clic, implementaciones de DynamoDB capaces de atender billones de solicitudes de bases de datos por año.

Las tablas de DynamoDB no tienen esquemas fijos y cada elemento puede contener un número diferente de atributos. La multiplicidad de tipos de datos aportan riqueza al modelo de datos. Los índices secundarios proporcionan flexibilidad en relación con las consultas que pueden realizarse, sin impactar en el rendimiento.

Se integran el rendimiento, la fiabilidad y la seguridad, con almacenamiento SSD y replicación automática de 3 vías. Amazon DynamoDB utiliza métodos criptográficos comprobados para autentificar a los usuarios de forma segura y prevenir el acceso no autorizado a los datos.

Para obtener más información sobre Amazon DynamoDB, consulte: https://aws.amazon.com/dynamodb/

Amazon S3

Amazon S3 ofrece almacenamiento para Internet. Está diseñado para facilitar a los desarrolladores el uso del cómputo a escala web.

Amazon S3 proporciona una sencilla interfaz de servicios web que puede utilizarse para almacenar y recuperar la cantidad de datos que desee, cuando desee y desde cualquier lugar de la Web. Proporciona acceso, a todos los desarrolladores, a la misma infraestructura altamente escalable, fiable, segura, rápida y económica que utiliza Amazon para ejecutar su propia red global de sitios web. El servicio tiene por finalidad maximizar los beneficios de escalar y extender dichos beneficios a los desarrolladores.

Amazon S3 parte del concepto de que el almacenamiento basado en Internet de calidad debería darse por sentado. Ayuda a los desarrolladores a despreocuparse acerca del almacenamiento de datos, si es seguro y está protegido o si dispone de suficiente espacio. Los libera de los costos iniciales que implica la configuración de su propia solución de almacenamiento, como también de los constantes costos del mantenimiento y escalado de sus servidores de almacenamiento. La funcionalidad de Amazon S3 es simple y robusta. Se puede almacenar la cantidad de datos que se requiera en forma económica y segura, al tiempo que garantiza la constante disponibilidad de los datos cuando sea necesarios. Amazon S3 permite a los desarrolladores concentrarse en la innovación con datos en lugar de tener que resolver cómo almacenarlos.

Para obtener más información sobre Amazon S3, consulte: http://aws.amazon.com/s3/

Reviews

Start your review of Creación de un sitio web para compartir contenido multimedia - Parte 1: cargar el contenido (Español LATAM) | Building a Media Sharing Website - Part 1: Media Upload (Spanish from Latin America)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.