Successfully reported this slideshow.

AWS - Computación

560 views

Published on

  • Be the first to comment

  • Be the first to like this

AWS - Computación

  1. 1. Computación
  2. 2. Computación en AWS• Dos servicios • Amazon EC2 (Elastic Cloud Computing) • Computación virtualizada escalable • Uno de los servicios más populares
  3. 3. Computación en AWS• Amazon EMR (Elastic MapReduce) • Análisis de Datos, Minería de Datos • Sobre la infraestructura de EC2 • Tareas en diferido
  4. 4. Amazon EC2Elastic Cloud Computing
  5. 5. Amazon EC2• Servicio que provee de capacidad de computación elástica • Máquinas virtuales • Basadas en Linux ó en Windows
  6. 6. Amazon EC2• Tarficación “compleja” • aws.amazon.com/ec2/pricing
  7. 7. Amazon EC2¿Cómo debemos usar las máquinas de EC2?
  8. 8. 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.
  9. 9. 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”
  10. 10. 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
  11. 11. Amazon EC2Arquitectura de un Servicio Web con EC2
  12. 12. 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
  13. 13. Amazon EC2• Sharding de la base de datos• Balanceo de carga de Servidores Web y Workers • Elastic Load Balancer
  14. 14. Amazon EC2 Load Balancer (ELB) EC2 Web Server EC2 Web Server ··· EC2 Web Server EC2 Database EC2 Database ··· EC2 Database EC2 EC2 Worker ··· Worker
  15. 15. 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
  16. 16. 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
  17. 17. Amazon EC2 EC2 Servidor BBDD Worker Web
  18. 18. Amazon EC2• Un punto intermedio entre ambas puede ser la mejor solución • Tratar de asegurar la separación entre: • Datos • Código • Archivos
  19. 19. Amazon EC2• Links de interés • Horizontal vs Vertical Scaling singinghorsestudio.com/horizontal-vs- vertical-scaling • highscalability.com
  20. 20. Amazon EC2• Puesta en práctica
  21. 21. Amazon EMR Elastic Map Reduce
  22. 22. Amazon EMR• Servicio basado en EC2 + Apache Hadoop • Especialmente diseñado para datasets largos • Hace uso de MapReduce
  23. 23. Amazon EMR• Map Reduce • Modelo de programación para largos sets de datos • Mediante este sistema se simplifica la escalabilidad horizontal
  24. 24. 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
  25. 25. 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?
  26. 26. 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)
  27. 27. 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
  28. 28. Amazon EMR• Links de interés • hadoop.apache.org • MapReduce with Ruby and Hadoop • Hadoop MapReduce Tutorial • en.wikipedia.org/wiki/MapReduce • es.wikipedia.org/wiki/Hadoop

×