ec2 avanzado
Post on 13-Aug-2015
689 Views
Preview:
TRANSCRIPT
México D.F.
EC2: Avanzado
Henry Alvarado
Arquitecto de soluciones
Amazon Web Services
• Qué es la plataforma de instancias EC2 y una pequeña cartilla sobre virtualización.
• Cómo obtener lo máximo de su experiencia con EC2 desde la lente de tres tipos de instancias?
• Cómo pensar sobre el futuro de las instancias EC2
Agenda
Plataforma de instancias EC2
Amazon Elastic Compute Cloud
HardwareAPIs Networking
EC2EC2
Amazon EC2 Instances
Host Server
Hypervisor
Guest 1 Guest 2 Guest n
Características de una instancia EC2
CPU
Memory
Storage
GPU
Enhanced Networking
c3.largeFamilia
Generación de la instancia
Tamaño
Cartilla en virtualización: x86 CPU
• Antes de Intel VT-x – Traducción binaria– Para-virtualization (PV)
• Luego de Intel VT-x– Virtualización asistida por hardware (HVM)
• PV vs. HVM Amazon Machine Images• Opciones de agendamiento vCPU y variabilidad
Host Server
Hypervisor
Guest 1 Guest 2 Guest n
Cartilla en virtualización: I/O and Devices
• Agendamiento de I/O requests entre dispositivos virtuales y hardware físico compartido
• Modelo de driver separado para dispositivos compartidos; requiere recursos de host
• Intel VT-d– Direct pass through y IOMMU para dispositivos dedicados
Nuestra filosofía
• Más grande, más rápido, más económico, consistente y flexible
• Nuestro objetivo en performance es el bare metal
• Los clientes nos ayudan a priorizar nuestro roadmap
• Mirada bajo el capó a través de la lente de tres nuevas plataformas: C4, T2 e I2
Cómo obtener el máximo de su experiencia con EC2
Instancias T2: Bajo costo
Instancias T2: Resumen
• Instancias EC2 de bajo costo. Hasta $0.013 por hora.
• Performance Variable vs. Fijo
Name vCPUsBaseline Performance
Platform RAM (GiB)CPU Credits / Hour
t2.micro 1 10%32-bit or 64-
bit1 6
t2.small 1 20%32-bit or 64-
bit2 12
t2.medium 2 40%32-bit or 64-
bit4 24
t2.large 2 60% 64-bit 8 36NEW!
Tip: Entienda cómo funcionan los créditos de CPU
• http://aws.amazon.com/blogs/aws/low-cost-burstable-ec2-instances/
• http://aws.amazon.com/ec2/instance-types/t2/
• Attend this session
Cómo funcionan los créditos?
Baseline Rate
Credit Balance
• Un crédito de CPU provee el performance de un core de CPU completo por un minuto.
• Una instancia gana créditos de CPU a una tasa constante.
• Una instancia consume los créditos cuando está activa.
• Los créditos expiran (desbordan) en el tiempo.
BurstRate
Los créditos de CPU
• Un crédito de CPU provee el performance de un core de CPU completo por un minuto.
• Se provee con una balance inicial de créditos para una buena experiencia durante el arranque.
• Se usan créditos cuando se está activo y se acumulan cuando se está en reposo.
• Transparentes con los balances de créditos.
Tip: Monitoree sus créditos de CPU
Instancias I2: Alto I/O
Instancias I2: Resumen
• 16 vCPU: 3.2 TB SSD; 32 vCPU: 6.4 TB SSD• 365K random read IOPS for 32 vCPU instance
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
Host Server
Hypervisor
Guest 4 Guest 5 Guest 6
Host Server
Hypervisor
Guest 1 Guest 2 Guest 3
Tip: Use el kernel 3.8+
• Amazon Linux 13.09 or later• Ubuntu 14.04 or later• RHEL7 or later• Etc.
Antes de los Kernels -3.8.0
• Todos los I/O deben pasar a través del I/O Domain• Requiere un “grant mapping” antes del kernel 3.8.0• Grant mappings son operaciones costosas debido a los TLB flushes
SSD
Grant Mapping
read(fd, buffer, BLOCK_SIZE)
I/O Domain Instance
3.8.0+ Kernels – Persistente e indirecto
• Grant mappings son definidos por grupos una sola vez• La data es copiada desde y hacia el grant pool• El copiado es significativamente más rápido que el re mapeo
SSD
Grant Pool
read(fd, buffer, BLOCK_SIZE)
I/O Domain Instance
Tip: Ejecute TRIM o realice Overprovision
# fstrim -a
# parted /dev/xvdb print...Number Start End Size Type File system 1 32.3kB 720GB 720MB primary ext4 2 720MB 800GB 80GB primary
O
SSDs y Wear Leveling
• FLASH tiene un número limitado de escrituras por cada sector físico– Los sectores se degradan; deben ser borrados antes de re
escribir en ellos– Borrar coloca a todo 1s, lo que es lento
• Los firmware modernos son muy sofisticados para extender la vida de FLASH
• TRIM y/o over provisioning ayuda a evitar el garbage collection y el write amplification
Capa de traducción Flash
• Todas las escrituras van al TAIL• Escritas aleatorias == Escritas secuenciales• Desgaste homogéneo de los sectores (Wear Leveling)
HEAD
TAIL
Garbage Collection
• Nuevas escrituras tienen que buscar espacio disponible.• Resulta en pausas de garbage collection• Grandes escrituras pueden requerir desfragmentación.
HEAD
TAIL
Instancias C4: Alto poder de Cómputo
Instancias C4: Resumen
• Intel E5-2666 v3 at 2.9 GHz• EBS-Optimized por defecto• Enhanced networking
Model vCPU Memory (GiB)
c4.large 2 3.75
c4.xlarge 4 7.5
c4.2xlarge 8 15
c4.4xlarge 16 30
c4.8xlarge 32 60
Tip: Usen PV-HVM AMIs con EBS
Por qué PV-HVM es más rápido que PV
• PV-HVM permite al Application llamar directamente al Kernel• PV requiere ir a través del VMM• Las aplicaciones que son restrictas a llamadas del sistema
son las más afectadas.
Kernel
ApplicationKernel
Application
VMM
Application
VMM
Kernel
Bare Metal PV-HVM PV
Tip: Usen TSC como clocksource# cat /sys/devices/system/cl*/cl*/available_clocksourcexen tsc hpet acpi_pm # cat /sys/devices/system/cl*/cl*/current_clocksourcetsc
# emacs /boot/grub/menu.list && reboot
# cat /proc/cmdlineroot=/dev/xvda1 ro clocksource=tsc
Change with:
Manteniendo el tiempo
• Llevar el tiempo en una instancia es engañosamente difícil• gettimeofday(), clock_gettime(), QueryPerformanceCounter()• El TSC
– Contador de CPU, accesible desde el userspace– Sin cambios a partir de los procesadores Sandy Bridge+
• Por defecto está el Xen pvclock.• En las generaciones actuales de instancias, use TSC como
clocksource
Resumen
Resumen
• Esta información es solo la superficie de lo que podríamos hablar
• Pasen por la documentación de EC2 para más trucos y tips
El futuro
EC2EC2
• Nuevas familias de instancias
• Nuevas generaciones de instancias
top related