4. Introducción
Lanzado en el año 2004
Sólo Simple Queue Service (SQS): envío de datos
Propiedad de Amazon
Colección de servicios de computación en la
nube
Almacenamiento, MVs, servicios web, …
Microsoft Azure, Google Cloud Platform
AWS fue el primero
Ofrece servicios bajo demanda o fijos
Pagas por lo que utilizas
Puedes contratar hasta x% de margen
escalabilidad
Puedes establecer un límite de dinero a gastar
4
5. Nacimiento
Necesitaban levantar instancias para
desarrollo y/o producción
Crearon un sistema interno para esto
Tras ver su potencia, decidieron publicarlo
EC2, S3, …
Fueron creando más servicios con el tiempo
Se convirtió en AWS
6
6. Que ofrece
Almacenaje
Procesamiento
Transferencia
Servidores
Monitorización de los servicios
Seguridad
Bases de datos
…
7
7. Es utilizado por … I
Flipboard
Revista personal móvil
Ahorro de millones de dólares
Viocorp
Plataforma de video online
Reducción de un 50% de costes
Mortar Data
Despliegue de apps y tratamiento de Big Data
Ahorro de 4 millones de dólares
Schumacher Group
Servicio de salud. Más de 4M de pacientes
Reducción de costes de 80.000$ (servidor
propio) a 4.000-5.000$ (AWS)
8
8. Es utilizado por … II
Adobe Systems Incorporated
Desarrollo de software
Despliegue de servicios que no podrían realizar
mediante el despliegue tradicional
Thismoment
Desarrollo de aplicaciones sociales móviles
No tener que preocuparse de los servidores
Reddit
Sitio web de marcadores sociales
Escalabilidad de servidores y BBDD
Obama for America
Organziación
Escalabilidad
9
9. Es utilizado por … III
Ubisoft Entertainment
Desarrolladora de videojuegos
Ayuda en la producción
Ooyala
Soluciones de video online
Agilidad y velocidad
Coursera
Plataforma educativa virtual (MOOC)
Velocidad, servicios y agilidad
Engine Yard
Despliegue de apps en la nube
Flexibilidad, escalabilidad y alcance global
10
10. Es utilizado por … IV
Amazon
Tienda Online
Backups en Cinta -> S3: 15h de restablecimiento ->
2,5
Netflix
Empresa de video bajo demanda
Velocidad de despliegue y capacidad de
almacenamiento
airbnb
Mercado comunitario de alquileres
Escalabilidad y análisis (EMR y S3)
Shazam
Identificación de música
Escalabilidad, fiabilidad y herramientas: Super Bowl
11
13. Regiones geográficas II
EE.UU. Este (Norte de Virginia)
EE.UU. Oeste (Norte de California)
EE.UU. Oeste (Oregón)
Sur América (São Paulo)
Europa (Irlanda)
Europa (Frankfurt)
Asia Pacífico (Singapur)
Asia Pacífico (Tokio)
Asia Pacífico (Sydney)
14
14. Regiones geográficas III
Cada región tiene
Sus propios precios
Latencia según nuestra situación y carga de red
No todas tienen todos los servicios
https://aws.amazon.com/es/about-aws/global-infrastructure/regional-
product-services/
Hay dos regiones especiales
AWS GovCloud (EE.UU.) dedicada al Gobierno de los EEUU
2014: Región de China en Pekín. Es exclusiva
Todos los datos están mantenidos siempre en la misma región
Si se cambia de región, hay que pagar
Excepto S3 que es global
Cada región tiene zonas de disponibilidad aisladas
Evitar propagación de problemas
Algunos servicios si interoperan entre zonas
DynamoDB, S3
15
16. Regiones geográficas V
Instancia CPU RAM EEUU
(Oregón y
Virginia)
UE
(Irlanda)
UE
(Frankfurt)
EEUU
(Californi
a)
Asia
(Sídney,
Tokio* y
Singapur
*
America
del Sur
(Sao
Paulo**)
t2.micro 1 1 $0.013 $0.014 $0.015 $0.017 $0.02 $0.027
t2.small 1 2 $0.026 $0.028 $0.03 $0.034 $0.04 $0.054
t2.medium 2 4 $0.052 $0.056 $0.06 $0.068 $0.08 $0.108
t2.large 2 8 $0.104 $0.112 $0.12 $0.136 $0.16 $0.216
17
Precios por hora del EC2: https://aws.amazon.com/es/ec2/pricing/
*: difieren en el resto pero están ordenadas de menos a más cara
**: no ofrece todos los tipos de máquinas que las otras
17. Instancias EC2
http://aws.amazon.com/es/ec2/instance-
types/
AWS dispone de diferentes tipos de instancia
Cada tipo es para un servicio en concreto
Ráfagas (T2), Uso general (M3 y M4),
Optimizadas IT (C3 y C4), Optimizadas en
memoria (R3), Gráficas (G2), Almacenamiento
E/S SSD (I2), Almacenamiento Capacidad HD
(D2)
Cada tipo tiene diferentes tipos de CPU con
diferente potencia y diferente RAM
18
19. Servicios de AWS II
EC2 (Elastic Compute Cloud)
Ofrece capacidad escalable en la nube con
máquinas virtuales
GNU/Linux, Windows
Instancias, seguridad, despliegue de apps, IPs, …
http://aws.amazon.com/es/ec2/
Lambda (Desde 15/11/2014)
Ejecución de código en base a ciertos eventos
Autogestión de recursos
http://aws.amazon.com/es/lambda/
20
20. Servicios de AWS III
EC2 Container Service (Desde 2015)
Despliegue en el EC2 utilizando “contenedores”
Docker
Despliegue y configuración de software
“automático”
http://aws.amazon.com/es/ecs/
Elastic Beanstalk (Desde 2015)
Despliegue, monitorización y escalado de apps
Creación de un “contenedor” y su despliegue
https://aws.amazon.com/es/documentation/elas
tic-beanstalk/
21
21. Servicios de AWS IV
S3 (Amazon Simple Storage Service)
Estructura de almacenamiento redundante y
con un escalado “infinito”. Es
http://aws.amazon.com/es/s3/
Storage Gateway
Conector entre dispositivos de software físico
con almacenamiento en la nube
Los datos de la empresa a una instancia S3
http://aws.amazon.com/es/storagegateway/
22
22. Servicios de AWS V
Glacier
Sistema de almacenamiento barato (0,01
USD/GB), de poco acceso pero seguro
http://aws.amazon.com/es/glacier/
CloudFront
Servicio para distribuir contenido a usuarios finales
http://aws.amazon.com/es/cloudfront/
Elastic File System (Beta en 2015)
Gestor de archivos para el EC2
Soporta múltiples instancias del EC2
http://aws.amazon.com/es/efs/
23
23. Servicios de AWS VI
EMR
Análisis de datos utilizando Hadoop
http://aws.amazon.com/es/elasticmapreduce/
Kinesis
Recopilamiento y procesamiento de datos en
tiempo real usando SQL
http://aws.amazon.com/es/kinesis/
Data Pipeline
Procesamiento y transferencia de datos entre
sistemas de AWS (S3, EMR, DynamoDB, RDS)
http://aws.amazon.com/es/datapipeline/
24
24. Servicios de AWS VII
Elasticsearch Service
Gestión del buscador de documentos
distribuido Elasticsearch (basado en Lucene)
https://aws.amazon.com/es/elasticsearch-
service/
Machine Learning
Servicio de aprendizaje automático
escalable
Ofrece patrones de datos
https://aws.amazon.com/es/machine-
learning/
25
27. ¿Qué es?
Servicio Web de AWS
http://aws.amazon.com/es/elasticmapreduc
e
Procesamiento de grandes volúmenes de
datos
Utiliza Apache Hadoop
http://hadoop.apache.org/
Ejecuta una instancia EC2 automáticamente
y la borra después de un tiempo
Utiliza S3 para leer y guardar los datos
También se puede utilizar DynamoDB
28
28. ¿Qué ofrece?
Permite procesar grandes volúmenes de datos
Análisis, estadísticas, procesamiento, IA, simulaciones,
…
Interfaz gráfica para configurar el proceso
Monitorización del estado
SDK
http://docs.aws.amazon.com/ElasticMapReduce/lat
est/DeveloperGuide/call-emr-using-sdks.html
Java, Node, PHP, Python, Ruby y .Net
Lanzar programáticamente todo el proceso
intregrado en una aplicación
Integración con otros servicios de AWS
CloudWatch, EC2, S3, DynamoDB, …
Pagar sólo por lo computado
29
29. Ciclo de vida
Ciclo de uso
Subir los datos a la estancia S3
Crear y configurar el Clúster Hadoop
Ver el estado
Recoger los datos de una estancia S3
30
30. Facturación I
https://console.aws.amazon.com/billing/ho
me?#
Comienza con la ejecución del clúster
No en su configuración
Tienen un tiempo mínimo de arranque en el
que no cobran (~10 minutos)
Las fracciones de horas de instancias se
facturarán como horas completas
Termina cuando se detiene el clúster
Si falla, no te cobran EMR pero si S3 (logs)
31
31. Facturación II
Cada instancia tiene un número
normalizado de horas
Esto depende del hardware de dicha
instancia
32
35. Incripciones gratuitas
Hay dos formas
Cuenta gratuita de un año al registrarse
pro primera vez en Amazon
Tiene ciertas limitaciones antes de cobrar
No ofrece ventajas en todos los servicios
Como alumnos
Necesita la inscripción previa
36
37. Ofrece …
EC2
750 horas al mes de uso de las instancias t2.micro Linux o Windows
30 GB de instancias
S3
5 GB de almacenamiento
DynamoDB
25 GB de almacenamiento
25 unidades de escritura y lectura
EBS
30 GB de almacenamiento
CloudFront
50 GB de transferencia
2.000.000 de solicitudes HTTP o HTTPS
RDS
750h de uso de micro-instancias
20 GB de almacenamiento
20 GB de copias de seguridad
Y más… http://aws.amazon.com/es/free/
38
38. Inscripción I
Entramos en Amazon Web Services
http://aws.amazon.com/es/
Creamos una cuenta gratuita
39
40. Inscripción III
Rellenáis vuestra información de
contacto y bancaria
Cogéis la llamada y seguís los pasos
Introducir los números del registro en el
teclado de vuestro teléfono
41
52. Key Pair I
Primero vamos a la consola de recursos
de EC2
https://console.aws.amazon.com/ec2/
Crearemos una clave público-privada
(Criptografía asimétrica)
Utilizada por AWS para el acceso a sus
servicios
Nos permitirá el acceso a los diferentes
servicios
Consola, SDK, instancias EC2, servicios, …
53
58. Introducción
Realizaremos el ejemplo Word Count
Map: lógica en Python
Reduce: función “aggregator” de Hadoop
Contar la frecuencia de aparición de
palabras en un fichero
Crear un clúster
3 instancias de tipo m1.medium
La más barata permitida
59
59. S3
Entramos en el S3
Creamos un nuevo Bucket
Necesitamos uno antes de ejecutar EMR,
sino fallará
Lo utilizaremos para el resultado del EMR
Introducimos el nombre
Seleccionamos la región
60
60. Clúster I
Entramos en EMR
Ahora crearemos el Clúster
https://console.aws.amazon.com/elasticm
apreduce/
61
63. Ejemplo
Utilizaremos el ejemplo de Hadoop en
Amazon: Word Count
64
Ejemplo deseado
Carpeta con
el resultado
Log del proceso
Modo Debug
64. Ejemplo
Utilizaremos el ejemplo de Hadoop en
Amazon: Word Count
65
Ejemplo deseado
Nombre del
bucket
Carpeta para
el log
Modo Debug
65. Tags
Para mejorar búsquedas de máquinas si
tenemos muchas
No hace falta que pongamos nada
66
66. Software Configuration
Seleccionamos la versión de Hadoop
EMR: versión de Hadoop de Amazon
Amazon 4.1.0
Hadoop 2.6.0
Contiene mejoras y optimizaciones para AWS
MapR: Hadoop original
67
69. Sistema de ficheros
Permite elegir encriptación en la
conexión
No necesitaremos nada
70
70. Tipo de instancia I
Elegimos el Hardware deseado
El precio depende del HW y la zona
http://aws.amazon.com/es/elasticmapred
uce/pricing/
71
71. Tipo de instancia II
Seleccionamos la m1.medium
No permite utilizar la m1.small
Podéis seleccionar menos instancias
72
¡Cuidado!
72. Seguridad
Seleccionamos la clave de acceso
Con ella accederemos por SSH
Debe ser creada previamente a este paso
Ya la creamos
73
73. IAM Roles
Seleccionamos los roles de acceso
El por defecto permite que la aplicación
pueda acceder a otros servicios de AWS
Uno para EMR y otro para el EC2
74
74. Bootstrap Actions
Nos permite incluir acciones (Scripts) en el
inicio del clúster
Se ejecutan también en los nodos
https://docs.aws.amazon.com/es_es/Elastic
MapReduce/latest/ManagementGuide/e
mr-plan-bootstrap.html
75
75. Steps I
Configuramos los “trabajos” de Hadoop
Como ejecutamos el ejemplo, ya tenemos
el necesario
76
76. Steps II
Si lo editamos
77
Nombre
Función Map
o función Hadoop
Función Reduce
o función Hadoop
Datos de entrada
Carpeta de salida
Argumentos
Acción si falla.
¡Importante!
80. Monitorización III
Gráficas de diferentes procesos
monitorizados
Estado del Hardware y acceso a las
instancias autocreadas
Estado e información detallada de los
pasos y acceso a los logs
Visualización de la configuración
Visualización de las “Bootstrap Actions”
81
88. Introducción
Los pasos son los mismos que en el anterior ejemplo
Hay que subir el fichero Jar al S3
Subimos los datos al S3
Todo igual menos a partir del paso “Steps”
Realizaremos un ejemplo de Hipotecas
MapReduce
Propio en Java
https://gist.github.com/gonzalezgarciacristian/721e7dd6e
87557955b2d
Jar: Campus Virtual
Contar el número de hipotecas por estado
https://mega.nz/#!S4ITzL4S!V-
dFdNCW0Q6hLGeDDyk8RBs9XM2Q2Koe52fZuWnpbHA
89
91. Subir Jar al S3 II
Entramos en la carpeta “mortgage”
Subimos el Jar llamado “Mortgage.jar”
92
92. Subir datos al S3 II
Estamos en la carpeta “Mortgage”
Creamos las carpeta “input”
Entramos en “input”
Subimos el fichero de datos
“Consumer_Complaints”
93
93. Steps I
Si se clonó, borrar el Step existente
Añadir Custom JAR
Configure and add
94
95. Steps III
Cuidado al poner los nombres de los
directorios
96
Localización del
Jar en el S3
Nombre de
la Clase
Carpeta Input
Carpeta Output
¡No debe existir!
Terminar
107. Espacio y Finalización
Permite añadir más discos a la instancia
108
30 GB máximo en la gratuita
Cuidado si no queréis perderlos o si almacenáis muchos en la gratis
117. Otros …
Podemos crear alarmas
Consultar el tiempo encendida
Consultar diferentes estadísticas de uso
Crear tags
Pararla
Monitorizarla
Cambiar la seguridad o la ip
Cambiarle el nombre
Crear nuevos volúmenes (HDs)
…
118
119. Windows - PuttyGen
Para conectarse desde Windows
Descargamos el Putty y el PuttyGen
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.ht
ml
Abrimos el PuttyGen y generamos el PPK
Fichero de Putty para conexiones realizar conexiones seguras
Deberéis de poner passphrase para evitar problemas en AWS
120
120. Windows - Putty
Con la clave privada (PPK) ya generada,
abrimos el Putty
Introducimos el DNS o la IP Pública
Cargamos la clave privada
121
121. GNU/Linux y Mac OS X – SSH I
Para conectarse desde una distro Linux o
Mac OS X
Ir al EC2 -> Seleccionar Estancia -> Connect
122
122. GNU/Linux y Mac OS X – SSH II
Obtendréis las instrucciones
Cambiar permisos del fichero .pem
Hay que utilizar el comando SSH con el parámetro –i
“fichero.pem” usuario@ip
123
123. Acceso
Usuario por defecto: ubuntu
Passphrase: La que pusisteis en el PuttyGen
124
125. WinSCP I
Descargamos WinSCP
http://winscp.net/eng/download.php
Permite acceder al sistema de ficheros
del servidor gráficamente
Permite, desde el escritorio, subir y bajar
ficheros
126