aws - computación

28
Computación

Upload: endika-gutierrez

Post on 24-Jun-2015

341 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: AWS - Computación

Computación

Page 2: AWS - Computación

Computación en AWS

• Dos servicios

• Amazon EC2 (Elastic Cloud Computing)

• Computación virtualizada escalable

• Uno de los servicios más populares

Page 3: AWS - Computación

Computación en AWS

• Amazon EMR (Elastic MapReduce)

• Análisis de Datos, Minería de Datos

• Sobre la infraestructura de EC2

• Tareas en diferido

Page 4: AWS - Computación

Amazon EC2Elastic Cloud Computing

Page 5: AWS - Computación

Amazon EC2

• Servicio que provee de capacidad de computación elástica

• Máquinas virtuales

• Basadas en Linux ó en Windows

Page 6: AWS - Computación

Amazon EC2

• Tarficación “compleja”

• aws.amazon.com/ec2/pricing

Page 7: AWS - Computación

Amazon EC2

¿Cómo debemos usar las máquinas de EC2?

Page 8: AWS - Computación

Amazon EC2• Podemos emplear estas máquinas virtuales

como servidores e infraestructura de Red

• Servidor(es) Web

• Servidor(es) de BBDD

• Servidor(es) de colas de mensajería

• Servidor(es) de correo

• Servidor(es) de tareas en diferido/cron

• etc.

Page 9: AWS - Computación

Amazon EC2

• NO deberiamos emplearlas como:

• Servidor de Ficheros

• Servidor de Web estáticas

• Servidor de Balanceo de Carga

• “Usos que se solapen con otros servicios de AWS”

Page 10: AWS - Computación

Amazon EC2

• Deberiamos evitar:

• Distribución de assets

• javascripts, stylesheets e imágenes

• El tráfico hacia fuera de AWS

• En la medida de lo posible

Page 11: AWS - Computación

Amazon EC2

Arquitectura de un Servicio Web con EC2

Page 12: AWS - Computación

Amazon EC2• Una arquitectura ideal aislaría los diferentes

elementos dentro máquinas EC2

• Notablemente más sencillo de escalar

• A gran escala coste menor

• Mayor resilencia

• Se evitan cuellos de botella

• Basada en Escalabilidad Horizontal + Vertical

Page 13: AWS - Computación

Amazon EC2

• Sharding de la base de datos

• Balanceo de carga de Servidores Web y Workers

• Elastic Load Balancer

Page 14: AWS - Computación

Amazon EC2

Load Balancer (ELB)

EC2Web Server

EC2Web Server

EC2Web Server···

EC2Database

EC2Database

EC2Database···

EC2Worker

EC2Worker···

Page 15: AWS - Computación

Amazon EC2

• Esto sistema presenta un coste relativamente elevado

• En el otro extremo se plantea una estructura de servidor con toda la infraestructura de la plataforma

• Pudiendo separar diferentes elementos en máquinas aisladas

Page 16: AWS - Computación

Amazon EC2

• Buen rendiemiento para servicios relativamente pequeños

• Puesta en marcha notablemente más sencilla

• Manteniemiento más sencillo

• Escalabilidad hasta cierto límite

• Basada en Escalabilidad Vertical

Page 17: AWS - Computación

Amazon EC2

EC2

BBDD Servidor Web Worker

Page 18: AWS - Computación

Amazon EC2

• Un punto intermedio entre ambas puede ser la mejor solución

• Tratar de asegurar la separación entre:

• Datos

• Código

• Archivos

Page 20: AWS - Computación

Amazon EC2

• Puesta en práctica

Page 21: AWS - Computación

Amazon EMRElastic Map Reduce

Page 22: AWS - Computación

Amazon EMR

• Servicio basado en EC2 + Apache Hadoop

• Especialmente diseñado para datasets largos

• Hace uso de MapReduce

Page 23: AWS - Computación

Amazon EMR

• Map Reduce

• Modelo de programación para largos sets de datos

• Mediante este sistema se simplifica la escalabilidad horizontal

Page 24: AWS - Computación

Amazon EMR

• Map Reduce

• Recibe este nombre de las dos funciones básicas que lo componen Map y Reduce

• Map: función aplicada a cada clave/registro generando 0 o varias parejas clave/registro

• Reduce: función aplicada a los grupos clave/registros generados en Map

Page 25: AWS - Computación

Amazon EMR

• Map Reduce - Ejemplo

• Supongamos que queremos obtener los usuarios por edad de una plataforma

• SQL:

• SELECT age, count(*) FROM users GROUP BY age

• ¿Aplicado a la base de datos de Facebook?

Page 26: AWS - Computación

Amazon EMR

• Map Reduce - Ejemplo

• Con MapReduce// Agrupa las ids por edad

function Map(id, user): emit(user.age, id)

// Contabiliza cada uno de los grupos

function Reduce(age, ids[]): emit(age, ids.count)

Page 27: AWS - Computación

Amazon EMR

• Por tanto

• EMR es un servicio orientado a calculos en grandes datasets

• Escalado dinámicamente bajo demanda

• Ej: Calculo de nóminas a final de mes