¿Cómo funciona EC2? Estoy interesado en aprender sobre la infraestructura específica que hace que EC2 funcione. Por ejemplo, ¿las instancias son máquinas discretas reales o están totalmente virtualizadas (por ejemplo, una máquina de cuatro núcleos podría ejecutar 4 instancias micro EC2)?

Las instancias de EC2 están completamente virtualizadas. Se pueden usar en almacenamiento (efímero) o fuera de instancia (EBS). El uso de EBS generalmente se prefiere para una mejor resistencia, porque si el host físico falla, la VM se puede iniciar en otro host rápidamente. Según el análisis que hemos realizado, el hardware subyacente utilizado por EC2 es el siguiente (esto, por supuesto, está sujeto a cambios):

  • Instancias m1 y t1 : Xeon E5430 2.66 GHz u Opteron 2218 2.6 GHz
  • Instancias c1 : Xeon E5410 2.33 GHz
  • instancias m2 : Xeon X5550 2.67 GHz
  • instancias de cálculo de clúster : Xeon X5570 2.93 GHz

EC2 proporciona seguridad a través de la virtualización completa de recursos, incluidas instancias de VM, almacenamiento y red.

EC2 opera en hardware básico, no es costoso, sistemas empresariales altamente tolerantes a fallas. Han diseñado la infraestructura EC2 para anticipar y lidiar con fallas de hardware a través de la replicación. Son defensores de la escala horizontal.

EDITAR: Esta respuesta fue escrita en 2012. AWS ha eliminado o eliminado muchas de las limitaciones que menciono aquí en los últimos 4 años.

——

Como señalan otras respuestas, los servidores están completamente virtualizados. El hipervisor Xen utilizado no tiene la capacidad de “limitar la velocidad” de E / S entre instancias que comparten el mismo hardware, lo que significa que otras máquinas virtuales que se ejecutan en el mismo servidor (host) pueden robar “su parte” de E / S con impunidad (el efecto “vecino ruidoso”). El resultado es un almacenamiento altamente variable y un rendimiento de red.

Esto ha llevado a algunos (por ejemplo, la transmisión de Netflix) a hacer pruebas para identificar el tamaño de la instancia que llena por completo un solo servidor y usar solo ese tamaño de instancia. Es un poco como alquilar un edificio de apartamentos completo para asegurarse de no tener vecinos ruidosos, pero como estrategia, funciona.

Según el trabajo realizado por personas más inteligentes que yo, todos los servidores comparten un segmento de red Ethernet 1G. No hay otra conectividad entre servidores, que es una de las razones por las que no se admite la migración en vivo (no está claro si el hipervisor Xen modificado lo admite en cualquier caso).

Los discos efímeros locales son almacenamiento SATA, y debido a que AWS no puede garantizar que inicie su próxima instancia en el mismo servidor, los volúmenes simplemente se pierden cuando su instancia muere (increíbles discos duros virtuales que desaparecen).

EBS es básicamente un sistema de almacenamiento conectado a la red basado en bloques. Dado que las solicitudes de lectura a EBS son efectivamente aleatorias en todos los suscriptores, el almacenamiento en caché de lectura no es posible, lo que limita el rendimiento al de los discos subyacentes (probablemente SATA). Hay un caché de escritura en EBS, por lo que el rendimiento de escritura es mejor. Agregue esto al problema vecino ruidoso y la falta de control de E / S, y obtendrá un rendimiento de EBS de EBS pobre y muy variable. El blog de ingeniería de Netflix mencionó que los volúmenes de 1 TB (tamaño máximo) reducen significativamente la variabilidad de E / S.

S3 es un almacén de objetos con una interfaz similar a HTTP, donde sus datos se triplican por redundancia (ahora también hay una opción de almacenamiento duplicado). Nadie está muy seguro de cómo funciona, pero el diseño de la tienda de blobs Swift en el proyecto OpenStack le da una idea de cómo podría funcionar.

AWS no revela muchos de los detalles de su infraestructura, pero se conocen algunos conceptos básicos.

La infraestructura está totalmente virtualizada utilizando una versión muy personalizada de Xen. Han perfeccionado el arte de traer una caja de servidores y simplemente conectarlos a la infraestructura y aprovechar su capacidad.

No hay migración de VM que yo sepa entre servidores. Cuando un servidor físico en la infraestructura EC2 está a punto de fallar, usted es responsable de transferir sus datos a una nueva máquina virtual. Si falla, está ejecutando VM es tostada.

Tienen una capa compleja de plataforma en la nube que permite a los clientes realizar solicitudes a través de API de consulta SOAP y HTTP. Esta capa de plataforma maneja la asignación de recursos, la medición y una serie de otras funciones de la plataforma en la nube.

Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad informática escalable en la nube de Amazon Web Services. Elimina la necesidad de invertir en hardware por adelantado, para que pueda desarrollar e implementar aplicaciones más rápido. Puede usar Amazon EC2 para iniciar tantos o tan pocos servidores virtuales como sea necesario, configurar la seguridad y las redes, y administrar el almacenamiento. Amazon EC2 le permite escalar hacia arriba o hacia abajo para manejar cambios en los requisitos o picos de popularidad, lo que reduce su necesidad de pronosticar el tráfico. Amazon EC2 utiliza Xen personalizado como hipervisor para la virtualización.

Obtenga más información sobre Amazon EC2: ¿Cómo funciona Amazon EC2 Auto Scaling? Intelligentia

Esto depende de qué tipo de instancia. Pero todos hacen 1 cosa, inicializar el servidor en un rack lleno de servidores (Virtualmente) y conectarlo a los recursos de AWS. Aquí hay un video que le daría una idea general de los recursos en la nube de AWS. ¿Qué es la computación en la nube? – Servicios web de Amazon.

#. Es la virtualización básica. Están utilizando xen personalizado, como hipervisor.
#. Los enlaces de libvirt (personalizado) y otros marcos están escritos en java, ruby ​​y python (boto). Las herramientas awscli estaban en Java pero ahora en Python.
#. Frontend está escrito en java & node.js.

Está basado en el hipervisor Xen. Más detalles sobre cómo funciona debajo del capó aquí: ¿De qué color es tu Xen?

Hasta donde yo sé, normalmente serán un servidor virtualizado. Puede iniciar una instancia dedicada, donde solo usted tendrá acceso al hardware. Sin embargo, suponga que compartirá recursos (intentarán proporcionar una determinada especificación mínima a la que tendrá acceso, pero cosas como el rendimiento del disco y la CPU pueden diferir en diferentes momentos del día y dependiendo del uso de otros).

También puede iniciar ciertas combinaciones de CPU y disco que harán que sea más probable que tenga una máquina para usted (si los requisitos de instancia respectivos son similares al hardware subyacente), pero eso puede cambiar, ya que creo que su hardware.