© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Roberto Fuente, Technical Account Manager, AWS S...
Qué esperar de esta sesión ?
• Introducción a AWS y EC2
• Definir el desempeño de un sistema y cómo se
caracteriza para di...
Introducción a AWS
y EC2
Infraestructura Global de AWS
Region
Edge Location
12 Regions
33 Availability Zones
54 Edge Locations
US West (OR)
AZ A AZ B
AZ C
GovCloud (US)
AZ A AZ B
US West (CA)
AZ A AZ B
AZ C
US East (VA)
AZ A AZ B
AZ C AZ D
AZ E
*A l...
Qué es Elastic Cloud
Compute (EC2)?
Amazon Elastic Cloud Compute (EC2)
Servidores Virtuales
en la nube de AWS
Rápida y fácil
escalabilidad,
según lo necesite
...
Amplia variedad de Tipos de Instancias
M4
General
purpose
Compute
optimized
C4
C3
Storage and IO
optimized
I2 G2
GPU
enabl...
Amazon EC2 permite…
• Construir fácilmente aplicaciones con HA
• Distribuir la carga entre servidores EC2 usando AWS Elast...
Diferentes modelos comerciales
Instancias
Reservadas
Pague un adelanto inicial
mínimo
Reserve la capacidad
Asegure una tar...
Definiendo el desempeño
Selecionando un servidor
• Los servidores son reservados para realizar trabajos
• El desempeño se mide de manera diferente...
• Lo que desempeño significa,
depende de la perspectiva:
• Tiempo de respuesta
• Rendimiento
• Consistencia
Desempeño = pe...
Factores de desempeño
Recurso Factores Indicadores
CPU Sockets, número de núcleos,
frecuencia de reloj, capacidad
Utilizac...
Utilización de Recursos
• Cada applicacion tienen una perfile de utilizacion de
recrusos, para un dado nivel de despemeño....
Ejemplo: Aplicación Web
• MediaWiki instalado en un servidor Apache con 140
páginas de contenido
• Incremento de carga en ...
Ejemplo: Aplicación Web
• Estadísticas de Memoria
Ejemplo: Aplicación Web
• Estadísticas de Disco
Ejemplo: Aplicación Web
• Estadísticas de Red
Ejemplo: Aplicación Web
• Estadísticas de CPU
Selección de instancia = optimización
• La selección de una instancia es equivalente a la
optimización de los recursos
• D...
Ofreciendo desempeño de
cómputo en EC2
Instrucciones de CPU y Niveles de Protección
• CPU tiene dos niveles de protección: Kernel y Aplicación
• Instrucciones pr...
Ejemplo: Llamadas al sistema de una aplicación web
[ec2-user@ip-10-0-121-0 ~]$ sudo strace -c -p 2440
Process 2440 attache...
X86 CPU Virtualización : Antes de Intel VT-x
• Traducción a binario para instrucciones privilegiadas
• Para-virtualization...
27
Aplicando la ley de Moore
90 nm
2003
180 nm
1999
130 nm
2001
65 nm
2005
45 nm
2007 32 nm
2009
22 nm
2012 14 nm
2014
LEY...
28
Intel® Core™
Microarchitecture
TOCK
New
Micro-
architecture
Merom
65nm
TICK
Penryn
New
Process
Technology
45nm
Nehalem
...
RED
Datos en
movimiento
ALMACENAMIENTO
Datos
estacionarios
COMPUTO
Datos siendo
transformados
Una arquitectura común para ...
X86 CPU Virtualización : Despues de Intel VT-x
• Virtualización asistida por hardware (HVM)
• PV-HVM utiliza PV drivers pa...
Tip: Usar AMIs PV-HVM con EBS
Instancias C4
Custom Intel E5-2666 v3 at 2.9 GHz
Gestión de P-state C-state
Model vCPU Memory (GiB) EBS (Mbps)
c4.large 2 ...
Instancias: T2
• Menor costo de instancias
• Burstable performance
• Asignación fija de créditos CPU
Model vCPU CPU Credit...
How Credits Work
• Un crédito de CPU proporciona la
performance de un CPU completo
durante un minuto
• Una instancia gana ...
Tip: Supervisar el crédito de CPU
Tip: Como Interpretar Steal Time
• Asignaciones de CPU fijas puede ser ofrecidas con
limites establecidos en la CPU
• Stea...
Ofreciendo desempeño de I/O
en EC2
Virtualización de I/O y Dispositivos
• Split Driver Model
• Cada dispositivo tiene dos componentes;
• Ring buffer de comun...
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driv...
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driv...
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driv...
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driv...
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
Frontend
driver
Backend
driv...
Paso Directo al Dispositivo: Enhanced Networking
• SR-IOV elimina la necesidad del driver domain
• El dispositivo físico d...
Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
NIC
...
Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
NIC
...
Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend
driver
NIC
...
Tip: Usar Enhanced Networking
• Mayor cantidad de paquetes por segundo
• Menor varianza en latencia
• El Sistema Operativo...
Revisión de Instancias I2
Instancias I2
• Proveen almacenamiento SSD
• Proveen IOPS a bajo costo
• Optimizadas para alta demanda de I/O aleatorio
Mo...
Grants en kernels prévio a la versión 3.8.0
• Previo a la versión 3.8.0, se requiere un Mapa de grants
• El Mapa de grants...
Cesión en kernels posteriores a la versión 3.8.0
• El Mapa de grants está definido en un pool
• La información es copiada ...
Tip: Usar kernels posteriores a la versión 3.8.0
• Amazon Linux 13.09 o mayor
• Ubuntu 14.04 o mayor
• RHEL7 o mayor
• Etc.
Resumen
• Usar PV-HVM
• Monitorar creditos T2
• Usar Enhanced Networking
• Usar kernels posteriores a la versión 3.8.0
Gracias!
Próxima SlideShare
Cargando en…5
×

EC2: Cómputo en la nube a profundidad

900 visualizaciones

Publicado el

EC2: Cómputo en la nube a profundidad en el 2016 AWS Summit Buenos Aires

Publicado en: Tecnología
  • Sé el primero en comentar

EC2: Cómputo en la nube a profundidad

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Roberto Fuente, Technical Account Manager, AWS Support Damian Traverso, Solutions Architect AWS LATAM Abril 28, 2016 EC2 Cómputo en la nube a profundidad
  2. 2. Qué esperar de esta sesión ? • Introducción a AWS y EC2 • Definir el desempeño de un sistema y cómo se caracteriza para diferentes cargas de trabajo • Cómo las instancias EC2 ofrecen un óptimo desempeño, manteniendo flexibilidad y agilidad • Cómo aprovechar de mejor manera el uso de las instancias EC2
  3. 3. Introducción a AWS y EC2
  4. 4. Infraestructura Global de AWS Region Edge Location 12 Regions 33 Availability Zones 54 Edge Locations
  5. 5. US West (OR) AZ A AZ B AZ C GovCloud (US) AZ A AZ B US West (CA) AZ A AZ B AZ C US East (VA) AZ A AZ B AZ C AZ D AZ E *A limited preview of the China (Beijing) Region is available to a select group of China-based and multinational companies with customers in China. These customers are required to create a AWS Account, with a set of credentials that are distinct and separate from other global AWS Accounts. EU (Ireland) AZ A AZ B AZ C AZ A AZ B S. America (Sao Paulo) Asia Pacific (Tokyo) AZ A AZ B AZ C AZ A AZ B Asia Pacific (Singapore) China (Bejing)Asia Pacific (Sydney) AZ A AZ B EU (Frankfurt) AZ A AZ B AWS Regions China (Beijing)* AZ A AZ B Regiones de AWS y Zonas de Disponibilidad (AZs)
  6. 6. Qué es Elastic Cloud Compute (EC2)?
  7. 7. Amazon Elastic Cloud Compute (EC2) Servidores Virtuales en la nube de AWS Rápida y fácil escalabilidad, según lo necesite Pague únicamente por lo que usa Sistemas Operativos ya conocidos: Linux y Windows
  8. 8. Amplia variedad de Tipos de Instancias M4 General purpose Compute optimized C4 C3 Storage and IO optimized I2 G2 GPU enabled Memory optimized R3D2 M3
  9. 9. Amazon EC2 permite… • Construir fácilmente aplicaciones con HA • Distribuir la carga entre servidores EC2 usando AWS Elastic Load Balancers • Garantizar alta disponibilidad y escalabilidad usando Auto Scaling • Usar múltiples Zonas de Disponibilidad (AZs) • Elegir entre diferentes modelos comerciales
  10. 10. Diferentes modelos comerciales Instancias Reservadas Pague un adelanto inicial mínimo Reserve la capacidad Asegure una tarifa menor por hora Instancias On-Demand Pague de acuerdo con el uso Tarifa plana por hora Sin contratos ni compromisos Instancias Spot Haga una oferta Economice hasta 90% en comparación con On-Demand Lance 1,000s de instancias 10:00 10:05 10:10
  11. 11. Definiendo el desempeño
  12. 12. Selecionando un servidor • Los servidores son reservados para realizar trabajos • El desempeño se mide de manera diferente dependiendo del trabajo que se realice
  13. 13. • Lo que desempeño significa, depende de la perspectiva: • Tiempo de respuesta • Rendimiento • Consistencia Desempeño = perspectiva Aplicación Librerías de Sistema Llamadas a sistema Kernel Dispositivo Carga
  14. 14. Factores de desempeño Recurso Factores Indicadores CPU Sockets, número de núcleos, frecuencia de reloj, capacidad Utilización de CPU, tamaño de la fila de ejecución Memoria Capacidad Memoria libre, paginación, swapping Interfaz de Red Ancho de Banda Máximo, paquetes Cantidad paquetes recibidos, transferencia de paquetes sobre el máximo ancho de banda Disco IOPS, Desempeño Tamaño de fila en espera, utilización de dispositivos, errores en los dispositivos
  15. 15. Utilización de Recursos • Cada applicacion tienen una perfile de utilizacion de recrusos, para un dado nivel de despemeño. • Un recurso con utilización del 100% no puede recibir o atender más peticiones • Baja utilización indica que se han reservado más recursos de los necesarios
  16. 16. Ejemplo: Aplicación Web • MediaWiki instalado en un servidor Apache con 140 páginas de contenido • Incremento de carga en intervalos de tiempo
  17. 17. Ejemplo: Aplicación Web • Estadísticas de Memoria
  18. 18. Ejemplo: Aplicación Web • Estadísticas de Disco
  19. 19. Ejemplo: Aplicación Web • Estadísticas de Red
  20. 20. Ejemplo: Aplicación Web • Estadísticas de CPU
  21. 21. Selección de instancia = optimización • La selección de una instancia es equivalente a la optimización de los recursos • Dar de baja instancias es tan fácil como adquirir nuevas • Alinear el tipo de carga con el tipo de instancia óptimo
  22. 22. Ofreciendo desempeño de cómputo en EC2
  23. 23. Instrucciones de CPU y Niveles de Protección • CPU tiene dos niveles de protección: Kernel y Aplicación • Instrucciones privilegiadas no se pueden ejecutar en modo usuario para proteger el sistema. • Aplicaciones apalancan las llamadas al sistema al kernel Instrucciones privilegiadas: • Inicio de I/O • Acceso a I/O de Dispositivos (red, disco) • Manejo del tiempo • Pausa CPU Aplicación Kernel
  24. 24. Ejemplo: Llamadas al sistema de una aplicación web [ec2-user@ip-10-0-121-0 ~]$ sudo strace -c -p 2440 Process 2440 attached ^CProcess 2440 detached % time seconds usecs/call calls errors syscall ------ ----------- ----------- --------- --------- ---------------- 0.00 0.000000 0 931 11 read 0.00 0.000000 0 887 write 0.00 0.000000 0 121 open 0.00 0.000000 0 154 close 0.00 0.000000 0 1357 32 stat 0.00 0.000000 0 341 fstat 0.00 0.000000 0 99 11 lstat 0.00 0.000000 0 865 poll 0.00 0.000000 0 121 mmap 0.00 0.000000 0 121 munmap 0.00 0.000000 0 220 brk 0.00 0.000000 0 11 rt_sigaction 0.00 0.000000 0 11 rt_sigprocmask 0.00 0.000000 0 22 writev 0.00 0.000000 0 66 22 access
  25. 25. X86 CPU Virtualización : Antes de Intel VT-x • Traducción a binario para instrucciones privilegiadas • Para-virtualization (PV) • PV requiere pasar por VMM, introduciendo latencia • Aplicaciones que son ligados/bound a llamadas de sistemas son más afectadas VMM Application Kernel PV
  26. 26. 27 Aplicando la ley de Moore 90 nm 2003 180 nm 1999 130 nm 2001 65 nm 2005 45 nm 2007 32 nm 2009 22 nm 2012 14 nm 2014 LEY DE MOORE Habilitando nuevos dispositivos con mayor funcionalidad y complejidad, mientras se controla la potencia, el costo y el tamaño. (duplicando la integración cada 2 años)
  27. 27. 28 Intel® Core™ Microarchitecture TOCK New Micro- architecture Merom 65nm TICK Penryn New Process Technology 45nm Nehalem Microarchitecture TOCK New Micro- architecture Nehalem Xeon 5500 45nm TICK Westmere Xeon 5600 32nm New Process Technology Sandy Bridge Microarchitecture TOCK Sandy Bridge Xeon E5 32nm New Micro- architecture TICK Ivy Bridge Xeon E5 v2 22nm New Process Technology Haswell Microarchitecture TOCK Haswell Xeon E5 v3 22nm New Micro- architecture TICK Broadwell Xeon E5 v4 14nm New Process Technology Modelo Tick Tock – Evolución de plataformas Xeon
  28. 28. RED Datos en movimiento ALMACENAMIENTO Datos estacionarios COMPUTO Datos siendo transformados Una arquitectura común para todo el Datacenter Brindando economias de escala a toda la infraestructura
  29. 29. X86 CPU Virtualización : Despues de Intel VT-x • Virtualización asistida por hardware (HVM) • PV-HVM utiliza PV drivers para operaciones que son lentas a ser emuladas. : • e.g. Red y I/O de disco Kernel Application VMM PV-HVM
  30. 30. Tip: Usar AMIs PV-HVM con EBS
  31. 31. Instancias C4 Custom Intel E5-2666 v3 at 2.9 GHz Gestión de P-state C-state Model vCPU Memory (GiB) EBS (Mbps) c4.large 2 3.75 500 c4.xlarge 4 7.5 750 c4.2xlarge 8 15 1,000 c4.4xlarge 16 30 2,000 c4.8xlarge 36 60 4,000
  32. 32. Instancias: T2 • Menor costo de instancias • Burstable performance • Asignación fija de créditos CPU Model vCPU CPU Credits / Hour Memory (GiB) Storage t2.nano 1 3 0.5 EBS Only t2.micro 1 6 1 EBS Only t2.small 1 12 2 EBS Only t2.medium 2 24 4 EBS Only t2.large 2 36 8 EBS Only
  33. 33. How Credits Work • Un crédito de CPU proporciona la performance de un CPU completo durante un minuto • Una instancia gana créditos de CPU a un ritmo constante • Una instancia consume créditos cuando está activa • Créditos expiran (leak) después de 24 horas. Baseline Rate Credit Balance Burst Rate
  34. 34. Tip: Supervisar el crédito de CPU
  35. 35. Tip: Como Interpretar Steal Time • Asignaciones de CPU fijas puede ser ofrecidas con limites establecidos en la CPU • Steal time ocurre cuando el límite de tiempo en la CPU a sido agotado • Revisen las métricas de CloudWatch
  36. 36. Ofreciendo desempeño de I/O en EC2
  37. 37. Virtualización de I/O y Dispositivos • Split Driver Model • Cada dispositivo tiene dos componentes; • Ring buffer de comunicación • Canal de eventos avisando el ring buffer de actividad. • Intel VT-d • Paso directo para dispositivos dedicados • Enhanced Networking (SR-IOV)
  38. 38. Split Driver Model : Red Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver Frontend driver Backend driver Device Driver Physical CPU Physical Memory Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  39. 39. Split Driver Model : Red Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver Frontend driver Backend driver Device Driver Physical CPU Physical Memory Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  40. 40. Split Driver Model : Red Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver Frontend driver Backend driver Device Driver Physical CPU Physical Memory Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  41. 41. Split Driver Model : Red Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver Frontend driver Backend driver Device Driver Physical CPU Physical Memory Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  42. 42. Split Driver Model : Red Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver Frontend driver Backend driver Device Driver Physical CPU Physical Memory Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  43. 43. Paso Directo al Dispositivo: Enhanced Networking • SR-IOV elimina la necesidad del driver domain • El dispositivo físico de red expone una función virtual a la instancia • Requiere un driver especial: • El sistema operativo de la instancia necesita saber sobre el driver • Es necesario habilitar ”Enhanced Networking” en EC2
  44. 44. Paso Directo al Dispositivo: Enhanced Networking Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver NIC Driver Backend driver Device Driver Physical CPU Physical Memory SR-IOV Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  45. 45. Paso Directo al Dispositivo: Enhanced Networking Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver NIC Driver Backend driver Device Driver Physical CPU Physical Memory SR-IOV Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  46. 46. Paso Directo al Dispositivo: Enhanced Networking Hardware Driver Domain Guest Domain Guest Domain VMM Frontend driver NIC Driver Backend driver Device Driver Physical CPU Physical Memory SR-IOV Network Device Virtual CPU Virtual Memory CPU Scheduling Sockets Application
  47. 47. Tip: Usar Enhanced Networking • Mayor cantidad de paquetes por segundo • Menor varianza en latencia • El Sistema Operativo de la instancia debe soportarlo
  48. 48. Revisión de Instancias I2
  49. 49. Instancias I2 • Proveen almacenamiento SSD • Proveen IOPS a bajo costo • Optimizadas para alta demanda de I/O aleatorio Model vCPU Memory (GiB) Storage Read IOPS Write IOPS i2.xlarge 4 30.5 1 x 800 SSD 35,000 35,000 i2.2xlarge 8 61 2 x 800 SSD 75,000 75,000 i2.4xlarge 16 122 4 x 800 SSD 175,000 155,000 i2.8xlarge 32 244 8 x 800 SSD 365,000 315,000
  50. 50. Grants en kernels prévio a la versión 3.8.0 • Previo a la versión 3.8.0, se requiere un Mapa de grants • El Mapa de grants requiere de operaciones costosas debido a flushes de TLB (Translation Lookaside Buffer) read(fd, buffer,…)
  51. 51. Cesión en kernels posteriores a la versión 3.8.0 • El Mapa de grants está definido en un pool • La información es copiada o extraída del pool Copy to and from grant pool
  52. 52. Tip: Usar kernels posteriores a la versión 3.8.0 • Amazon Linux 13.09 o mayor • Ubuntu 14.04 o mayor • RHEL7 o mayor • Etc.
  53. 53. Resumen • Usar PV-HVM • Monitorar creditos T2 • Usar Enhanced Networking • Usar kernels posteriores a la versión 3.8.0
  54. 54. Gracias!

×