Skip to content

Amazon Elastic Compute Cloud (EC2)

Sabemos que todas las aplicaciones informáticas necesitan de un servidor donde ejecutarse y cuando no existían los servicios cloud era necesario adquirir un servidor físico para poder probar y luego poner en producción esa aplicación, ahora pensemos en todo lo que involucra adquirir un servidor, necesitas un presupuesto para luego hacer la compra del servidor, necesitas ensamblarlo, también es necesario estar bastante seguro de los requerimientos de hardware que tu aplicación va a necesitar porque si se hizo esta adquisición con un presupuesto ajustado y luego los requerimientos se quedan por debajo lo necesitado pues será todo un problema, ahora piensa que hiciste la compra correcta y tu aplicación se ejecuta perfectamente en el servidor que compraste pero unos meses después tu aplicación se convierte en un éxito rotundo y empieza a ser usada por una cantidad de usuarios que no imaginaste, seguramente vas a necesitar comprar más servidores para poder cubrir con la demanda ahora piensa en todo el tiempo que esto conlleva de planeación, adquisición y ensamblaje. Amazon EC2 nos ayuda con todo esto permitiendo poder desplegar un servidor (Instancia) en cuestión de segundos y poder acceder a él como si se tratara de un servidor físico, otras de las grandes ventajas de este servicio es que existen tipos de instancias que pueden ser usadas según el caso que necesitemos, hablemos un poco de ello:

Tipos de Instancia

Como sabemos cada aplicación tiene sus requerimientos y AWS ofrece tipos de instancias que se adaptan a esas necesidades específicas de cada cliente, supongamos que queremos probar una aplicación antes de que salga a producción claramente en este punto no vamos a necesitar la última tecnología en hardware para realizar esta prueba en cambio podemos escoger un tipo de instancia de menor costo para este tipo de pruebas, si tenemos ambientes de desarrollo QA y producción sería prudente que el hardware seleccionado en cada uno de los ambientes sea acorde, esto nos significaría un ahorro considerable de dinero.

En general se pudiera pensar que mientras más  vCPUs y más memoria tenga la instancia ofrecería un mejor desempeño sin embargo esto no es del todo cierto ya que dentro de los tipos de instancias existen familias de instancias cada una optimizada para diferentes tipos de tareas computacionales, por ejemplo las familias T2, T3, M4 y M5 están incluidas dentro de la familia de propósito general por su habilidad de desempeñarse de manera correcta en la mayoría de tareas, algún ejemplo de uso para estas instancias podría ser un servidor para una aplicación web o un servidor wordpress, pero EC2 ofrece otras familias de instancias para usos más específicos como lo son optimizadas para informática, optimizadas para memoria, informática acelerada y optimizadas para almacenamiento.

Si se escoge la familia correcta para el uso que necesitemos muy probablemente necesitaremos menos vCPUs y memoria ram lo cual permitiría un ahorro. Como vemos escoger el tipo y la familia correcta de instancia es de suma importancia para poder ofrecer un correcto rendimiento y también para no incurrir en gasto innecesarios.

Almacenamiento para las instancias: Elastic Block store (EBS) e Instance Store Volumes.

Tal como pasa en los servidores físicos necesitamos de un medio de almacenamiento dentro de los servidores y dentro del servicio EC2 los 2 tipos más usados son Elastic Block store (EBS) e Instance Store Volumes cada uno cuenta con sus ventajas y características particulares. No todas las familias de instancias soportan ambos tipos de almacenamiento.

Elastic Block store (EBS)

El disco físico donde un volumen EBS reside puede estar bastante alejado del servidor físico que hace uso de él, en lugar de estar conectado directamente a la tarjeta madre vía una conexión SATA los volúmenes EBS se conectan a la instancia usando una conexión de red de muy baja latencia como si se tratara de una NAS. Por más rápida que sea la conexión de red entre EBS-EC2 todavía no son tan rápidas como las velocidades que se obtienen con las Instance Store Volumes entonces que ventajas tienen los EBS ?

  • A diferencia de Instance Store Volumes donde la data almacenada es efímera, en los volúmenes EBS la data puede sobrevivir a apagados repentinos o crashes del sistema, esto puede ser un factor determinante para cargas de trabajo donde la persistencia de la data es necesaria.
  • Los volúmenes EBS se pueden encriptar, cuando se está trabajando con data sensible esto puede marcar una gran diferencia.
  • Otra de las características de los volúmenes EBS es que se pueden mover de una instancia a otra, ejemplo si necesitamos cambiar la familia de una instancia y necesitamos un volumen que reside en otra instancia podemos mover el volumen sin problema alguno.

Amazon EC2 Instance Store Volumes

A diferencia de los volúmenes EBS, las instancias compatibles con Instance Store Volumes cuentan con el beneficio de tener su data en discos físicos conectados directamente a los servidores físicos donde residen las instancias, esto aporta una muy alta velocidad de transferencia que es la principal ventaja de este tipo de almacenamiento esto puede ser realmente útil para aplicaciones que se dediquen a procesar y analizar data donde se necesitan velocidades muy altas de lectura y escritura. Las desventajas de este tipo de almacenamiento es que la data almacenada es efímera lo cual significa que si apagamos la instancia toda la data se perdería, otra desventaja es que este tipo de volumen hasta el momento no se puede encriptar.

Como vemos la elección que hagamos de nuestro volumen depende de las necesidades de nuestra aplicación.

Modelos de facturación en EC2

El modo en que AWS cobra por el uso de instancias EC2 depende del modelo de facturación que escojamos siendo las principales las siguientes:

Instancias bajo demanda

este el modelo de facturación más costoso porque se paga por cada hora que la instancia este en ejecución sin importar si la estas usando o no, el costo puede variar dependiendo del tipo de instancia seleccionada y la Región donde se esté ejecutando. Se puede pagar tan poco como 0.0058$ dólares por hora para una instancia t2.nano o tanto como 24.48$ dólares por una instancia p3.x16large.

Las instancias bajo demanda son excelentes para cargas de trabajo que necesitan ejecutarse por un tiempo limitado, para hacer algunas pruebas o por ejemplo si sabemos que nuestra aplicación va a recibir una carga considerable por un corto tiempo podemos hacer uso de este modelo.

Instancias Reservadas Estándar

Si tu aplicación necesita ser ejecutada de forma ininterrumpida por un tiempo considerable lo recomendable es que uses este modelo de facturación, puedes reservar una instancia por 1 o 3 años, el descuento por hacer este tipo de reservas es considerable, muchas veces hasta más del 70% en comparación con las instancias bajo demanda. Es importante tener en cuenta que cuando se hace una reserva de este tipo NO estas comprando una instancia en específico estas reservando una capacidad en una Región. Cuando se reserva una instancia de este tipo se pueden modificar la zona de disponibilidad, el tipo de red utilizado y el tamaño de la instancia (dentro del mismo tipo).

Instancias Reservadas Convertibles

Este tipo de reserva es muy similar a la estándar, de igual manera puedes hacer reservas de 1 o 3 años sin embargo con este tipo de reservas solo se puede obtener hasta un 54% de descuento en comparación con las instancias bajo demanda, pero se obtiene más flexibilidad en comparación con las reservas de tipo estándar pudiendo cambiar diferentes configuraciones incluyendo la familia de la instancia, sistema operativo y tenacidad.

Instancias Spot

Para cargas de trabajo que no requieren ejecutarse constantemente y pueden soportar interrupciones inesperadas, las instancias spot es la opción más económica dentro de AWS con hasta un 90% de descuento en comparación con las instancias bajo demanda. La capacidad computacional que usan este tipo de instancias la toman de los recursos sin utilizar dentro de toda la infraestructura cloud de aws y por eso se obtienen esos descuentos tan considerables, como contraparte aws puede reclamar esos recursos cuando sea necesario notificando que tu instancia será apagada con 2 minutos de antelación.

Esta puede no ser una opción para cargas de trabajo donde la persistencia y el uso predecible de recursos son necesarios, pero puede encajar perfecto para aplicaciones que se ejecutan dentro de contenedores, aplicaciones de big data o ambientes de test o desarrollo.

Hay muchas formas de ahorrar dinero dentro de AWS y una de las principales se encuentra conociendo todas las posibiliades que tenemos a la hora de usar este servicio de EC2.

Published inAWS

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *