ec2: cómputo en la nube a profundidad
Post on 20-Jan-2017
414 Views
Preview:
TRANSCRIPT
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Roberto Fuente, Technical Account Manager, AWS SupportDamian Traverso, Solutions Architect AWS LATAM
Abril 28, 2016
EC2Cómputo en la nube a profundidad
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
Introducción a AWSy EC2
Infraestructura Global de AWS
Region
Edge Location
12 Regions33 Availability Zones54 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 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)
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
Pague únicamente por lo que usa
Sistemas Operativos ya conocidos: Linux y
Windows
Amplia variedad de Tipos de Instancias
M4
General purpose
Computeoptimized
C4
C3
Storage and IOoptimized
I2 G2
GPUenabled
Memoryoptimized
R3D2
M3
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
Diferentes modelos comerciales
InstanciasReservadas
Pague un adelanto inicial mínimo
Reserve la capacidad
Asegure una tarifa menor por hora
InstanciasOn-Demand
Pague de acuerdo con el uso
Tarifa plana por hora
Sin contratos ni compromisos
InstanciasSpot
Haga una oferta
Economice hasta 90% en comparación con On-Demand
Lance 1,000s de instancias
10:00
10:05
10:10
Definiendo el desempeño
Selecionando un servidor
• Los servidores son reservados para realizar trabajos• El desempeño se mide de manera diferente
dependiendo del trabajo que se realice
• 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
Factores de desempeño
Recurso Factores IndicadoresCPU Sockets, número de núcleos,
frecuencia de reloj, capacidadUtilizació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
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
Ejemplo: Aplicación Web
• MediaWiki instalado en un servidor Apache con 140 páginas de contenido
• Incremento de carga en intervalos de tiempo
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
• Dar de baja instancias es tan fácil como adquirir nuevas• Alinear el tipo de carga con el tipo de instancia óptimo
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 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
Ejemplo: Llamadas al sistema de una aplicación web
[ec2-user@ip-10-0-121-0 ~]$ sudo strace -c -p 2440Process 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
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
27
Aplicando la ley de Moore
90 nm2003
180 nm1999
130 nm2001
65 nm2005 45 nm
2007 32 nm2009 22 nm
2012 14 nm2014
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)
28
Intel® Core™ Microarchitecture
TOCK
NewMicro-
architecture
Merom
65nm
TICK
Penryn
NewProcess Technology
45nm
NehalemMicroarchitecture
TOCK
NewMicro-
architecture
NehalemXeon 5500
45nm
TICK
WestmereXeon 5600
32nm
NewProcess Technology
Sandy BridgeMicroarchitecture
TOCK
SandyBridge
Xeon E5
32nm
NewMicro-
architecture
TICK
Ivy Bridge
Xeon E5 v2
22nm
NewProcess Technology
HaswellMicroarchitecture
TOCK
HaswellXeon E5 v3
22nm
NewMicro-
architecture
TICK
BroadwellXeon E5 v4
14nm
NewProcess Technology
Modelo Tick Tock – Evolución de plataformas Xeon
REDDatos en
movimiento
ALMACENAMIENTODatos
estacionarios
COMPUTODatos siendo
transformados
Una arquitectura común para todo el Datacenter
Brindando economias de escala a toda la infraestructura
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
KernelApplication
VMM
PV-HVM
Tip: Usar AMIs PV-HVM con EBS
Instancias C4
Custom Intel E5-2666 v3 at 2.9 GHzGestión de P-state C-state
Model vCPU Memory (GiB) EBS (Mbps)c4.large 2 3.75 500c4.xlarge 4 7.5 750c4.2xlarge 8 15 1,000c4.4xlarge 16 30 2,000c4.8xlarge 36 60 4,000
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 Onlyt2.micro 1 6 1 EBS Onlyt2.small 1 12 2 EBS Onlyt2.medium 2 24 4 EBS Onlyt2.large 2 36 8 EBS Only
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
BurstRate
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
• Steal time ocurre cuando el límite de tiempo en la CPU a sido agotado
• Revisen las métricas de CloudWatch
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 comunicación • Canal de eventos avisando el ring buffer de actividad.
• Intel VT-d• Paso directo para dispositivos dedicados • Enhanced Networking (SR-IOV)
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
Frontend driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
Frontend driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
Frontend driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
Frontend driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Split Driver Model : Red
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
Frontend driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
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
Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
NIC Driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
SR-IOV Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
NIC Driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
SR-IOV Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Paso Directo al Dispositivo: Enhanced Networking
Hardware
Driver Domain Guest Domain Guest Domain
VMM
Frontend driver
NIC Driver
Backend driver
DeviceDriver
Physical CPU
Physical Memory
SR-IOV Network Device
Virtual CPU Virtual Memory
CPU Scheduling
Sockets
Application
Tip: Usar Enhanced Networking
• Mayor cantidad de paquetes por segundo• Menor varianza en latencia• El Sistema Operativo de la instancia debe soportarlo
Revisión de Instancias I2
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,000i2.2xlarge 8 61 2 x 800 SSD 75,000 75,000i2.4xlarge 16 122 4 x 800 SSD 175,000 155,000i2.8xlarge 32 244 8 x 800 SSD 365,000 315,000
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)
SSD
Inter domain I/O:(1) Grant memory(2) Write to ring buffer(3) Signal event(4) Read ring buffer(5) Map grants(6) Read or write grants(7) Unmap grants
read(fd, buffer,…)
I/O Domain Instance
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
SSD
I/O Domain Instance
Grant pool
Copy to and from grant pool
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!
top related