EC2 Avanzado

39

Click here to load reader

Transcript of EC2 Avanzado

Page 1: EC2 Avanzado

México D.F.

Page 2: EC2 Avanzado

EC2: Avanzado

Henry Alvarado

Arquitecto de soluciones

Amazon Web Services

Page 3: EC2 Avanzado

• 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

Page 4: EC2 Avanzado

Plataforma de instancias EC2

Page 5: EC2 Avanzado

Amazon Elastic Compute Cloud

HardwareAPIs Networking

EC2EC2

Page 6: EC2 Avanzado

Amazon EC2 Instances

Host Server

Hypervisor

Guest 1 Guest 2 Guest n

Page 7: EC2 Avanzado

Características de una instancia EC2

CPU

Memory

Storage

GPU

Enhanced Networking

Page 8: EC2 Avanzado

c3.largeFamilia

Generación de la instancia

Tamaño

Page 9: EC2 Avanzado

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

Page 10: EC2 Avanzado

Host Server

Hypervisor

Guest 1 Guest 2 Guest n

Page 11: EC2 Avanzado

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

Page 12: EC2 Avanzado

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

Page 13: EC2 Avanzado

Cómo obtener el máximo de su experiencia con EC2

Page 14: EC2 Avanzado

Instancias T2: Bajo costo

Page 15: EC2 Avanzado

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!

Page 16: EC2 Avanzado

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

Page 17: EC2 Avanzado

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

Page 18: EC2 Avanzado

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.

Page 19: EC2 Avanzado

Tip: Monitoree sus créditos de CPU

Page 20: EC2 Avanzado

Instancias I2: Alto I/O

Page 21: EC2 Avanzado

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

Page 22: EC2 Avanzado

Host Server

Hypervisor

Guest 4 Guest 5 Guest 6

Host Server

Hypervisor

Guest 1 Guest 2 Guest 3

Page 23: EC2 Avanzado

Tip: Use el kernel 3.8+

• Amazon Linux 13.09 or later• Ubuntu 14.04 or later• RHEL7 or later• Etc.

Page 24: EC2 Avanzado

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

Page 25: EC2 Avanzado

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

Page 26: EC2 Avanzado

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

Page 27: EC2 Avanzado

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

Page 28: EC2 Avanzado

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

Page 29: EC2 Avanzado

Garbage Collection

• Nuevas escrituras tienen que buscar espacio disponible.• Resulta en pausas de garbage collection• Grandes escrituras pueden requerir desfragmentación.

HEAD

TAIL

Page 30: EC2 Avanzado

Instancias C4: Alto poder de Cómputo

Page 31: EC2 Avanzado

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

Page 32: EC2 Avanzado

Tip: Usen PV-HVM AMIs con EBS

Page 33: EC2 Avanzado

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

Page 34: EC2 Avanzado

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:

Page 35: EC2 Avanzado

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

Page 36: EC2 Avanzado

Resumen

Page 37: EC2 Avanzado

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

Page 38: EC2 Avanzado

El futuro

EC2EC2

• Nuevas familias de instancias

• Nuevas generaciones de instancias

Page 39: EC2 Avanzado