¿Qué es la computación?

En la computación en la nube, el término “computación” describe los conceptos y los objetos relacionados con la computación. Se trata de un término genérico utilizado para la potencia de procesamiento, la memoria, las redes, el almacenamiento y otros recursos necesarios para el éxito computacional de cualquier programa. 

Por ejemplo, las aplicaciones que ejecutan algoritmos de machine learning o gráficos 3D que representan funciones requieren muchos gigas de RAM y varias CPU para ejecutarse correctamente. En este caso, las CPU, la RAM y las unidades de procesamiento gráfico requeridas se llaman recursos de computación, y las aplicaciones son aplicaciones con uso intensivo de computación.

Examinemos algunas preguntas frecuentes sobre la computación para comprender el término en el contexto de la computación moderna.

¿Qué son los recursos de computación?

Los recursos de computación son cantidades medibles de potencia de computación que se pueden solicitar, asignar y consumir para las actividades de computación. Entre los ejemplos de recursos de computación se encuentran los siguientes:

CPU

La unidad central de procesamiento (CPU) es el cerebro de cualquier ordenador. La CPU se mide en unidades denominadas milicores. Los desarrolladores de aplicaciones pueden especificar cuántas CPU asignadas se requieren para ejecutar su aplicación y procesar los datos.

Memoria

La memoria se mide en bytes. Las aplicaciones pueden realizar las solicitudes de memoria necesarias para ejecutarse de manera eficaz.

Si las aplicaciones se ejecutan en un único dispositivo físico, tienen acceso limitado a los recursos de computación de ese dispositivo. Pero si las aplicaciones se ejecutan en la nube, pueden acceder simultáneamente a más recursos de procesamiento desde muchos dispositivos físicos. Veámoslo en mayor profundidad.

¿Qué es la computación en la nube?

La computación en la nube es un término genérico para todo aquello que implique proporcionar recursos de computación a través de Internet. Los usuarios pueden acceder a grandes cantidades de potencia de computación bajo demanda. Pueden adquirirla por minutos o por horas, y utilizar la cantidad que necesiten para sus actividades de computación.

Historia de la computación en la nube

Tradicionalmente, las aplicaciones web se alojaban en servidores físicos fijos. La potencia de computación requerida para la aplicación estaba limitada por el servidor en el que se ejecutaban. Los propietarios del sitio web podían adquirir varios servidores o espacio dentro de un único servidor, pero tenían que pagar un precio fijo, independientemente del uso. También tenían que administrar y mantener su propia infraestructura de servidor de computación.

En la actualidad, las aplicaciones pueden utilizar recursos de computación de muchos dispositivos físicos diferentes de manera flexible. Los proveedores de nube tienen vastos grupos de recursos de computación, que constan de servidores y centros de datos físicos. Las empresas pueden alojar aplicaciones y acceder a esos recursos de computación desde el grupo. El proveedor administra y optimiza completamente los recursos para ofrecer flexibilidad, escalabilidad y eficiencia a los usuarios. Los usuarios solo tienen que mantener sus aplicaciones; el proveedor de nube realiza la administración de la infraestructura de computación.

Software de contabilidad: un ejemplo de computación en la nube

Veamos un ejemplo de software de contabilidad. Hace algunas décadas, las empresas tenían que adquirir e instalar el software en el hardware físico interno. Las capacidades del software estaban limitadas por el hardware subyacente. Con el tiempo, el sistema se quedaba sin memoria o requería actualizaciones, y los errores de hardware podían provocar la pérdida de datos empresariales.

En la actualidad, los desarrolladores de software de contabilidad pueden ejecutar el software en la nube. Los usuarios pueden acceder a él de la misma manera que acceden a cualquier sitio web, y pueden adquirir planes por niveles según sus necesidades. Las aplicaciones de software utilizan la potencia de computación de la nube y el propio software puede escalar según necesite. Los clientes tampoco tienen miedo de perder sus datos.

¿Qué son los microservicios?

Los microservicios, también conocidos como arquitectura de microservicios, es un estilo arquitectónico utilizado para aplicaciones de software estructuradas como una colección de servicios. 

Las aplicaciones para empresas se suelen componer de tres partes principales:

  1. Una interfaz de usuario orientada al cliente (una aplicación o página HTML que se ejecuta en un dispositivo de usuario final)
  2. Una base de datos (que almacena los datos de la aplicación)
  3. Una aplicación del lado del servidor (que define el trabajo funcional y lógico de la operación)

Este estilo de arquitectura monolítica no es flexible y es difícil de modificar. Pequeños cambios realizados en una parte del sistema requieren que se vuelva a implementar todo el monolito.

Por otro lado, la arquitectura de microservicios diseña la aplicación como una colección de servicios funcionales con administración descentralizada. Un microservicio intenta solucionar una única cuestión, como la búsqueda de datos, la función de registro o la función de servicio web. Estos microservicios se pueden implementar de forma independiente, pueden utilizar sus propios recursos de computación y se pueden comunicar entre sí.

Por ejemplo, una aplicación de noticias se puede componer de microservicios independientes, como deportes, delitos, información general, etc. Cada microservicio puede administrar su propia recuperación y clasificación de contenido. También se pueden escalar o reducir verticalmente según sea necesario. Durante un evento deportivo importante, el microservicio de deportes usará potencia de procesamiento adicional, pero se reducirá verticalmente después de que finalice el evento. 

¿Qué son las máquinas virtuales?

Las máquinas virtuales son bloques de creación básicos que obtienen la potencia de computación de la nube. Una máquina virtual es software que puede realizar las mismas funciones que un ordenador físico, incluida la ejecución de aplicaciones y sistemas operativos. Es una versión digital de un ordenador físico. Las máquinas virtuales pueden ejecutar programas y sistemas operativos, almacenar datos, conectarse a redes y realizar otras funciones de computación. También pueden requerir mantenimiento, como actualizaciones y supervisión del sistema.

Una máquina virtual puede ejecutarse en muchas máquinas físicas subyacentes, y ofrece a las aplicaciones la potencia de computación necesaria para ejecutarse correctamente. La computación en la nube ofrece a los usuarios la posibilidad de implementar y escalar máquinas virtuales bajo demanda. Ofrece recursos de computación garantizados en un entorno seguro y aislado sin las sobrecargas que se requieren para administrar los servidores físicos.

¿Qué es una instancia de Amazon EC2?

En el ámbito de los servicios de computación de AWS, las máquinas virtuales se denominan instancias. AWS EC2 proporciona varios tipos de instancias con diferentes configuraciones de CPU, memoria, almacenamiento y recursos de red de modo que un usuario pueda adaptar los recursos de computación a las necesidades de la aplicación. 

Hay cinco tipos de instancias:

Instancias de uso general

Las instancias de uso general brindan una combinación equilibrada de recursos de computación, memoria y red. Además, pueden usarse para distintas cargas de trabajo. Estas instancias son ideales para las aplicaciones que usan estos recursos en partes iguales, como los servidores web y los repositorios de código. 

Instancias optimizadas para la computación

Las instancias optimizadas para la computación se utilizan para ejecutar aplicaciones de computación de alto rendimiento que requieren un rendimiento rápido de red, disponibilidad extensiva y un alto número de operaciones de entrada/salida (E/S) por segundo. El modelado y simulación científicos y financieros, los macrodatos, el almacenamiento de datos empresariales y la inteligencia empresarial son ejemplos de este tipo de aplicación.

Instancias de computación acelerada

En las instancias de computación acelerada se utilizan aceleradores de hardware, o coprocesadores, para realizar funciones, como el cálculo de números de coma flotante, el procesamiento de gráficos o la búsqueda de coincidencias de patrones de datos, con una eficiencia mayor de la ofrecida en un software que se ejecuta en las CPU.

Instancias optimizadas para memoria

Las instancias optimizadas para memoria utilizan una infraestructura de unidad de estado sólido, de alta velocidad, para proporcionar un acceso ultrarrápido y un alto rendimiento. Estas instancia son ideales para las aplicaciones que requieren más memoria y menos potencia de CPU, como las bases de datos de código abierto y el análisis de macrodatos en tiempo real.

Instancias optimizadas para el almacenamiento

Las instancias optimizadas para el almacenamiento se diseñaron para las cargas de trabajo que necesitan un acceso de escritura y lectura secuencial alto a conjuntos de datos muy grandes en el almacenamiento local. Se optimizan para brindar decenas de miles de operaciones de E/S aleatorias de baja latencia por segundo (IOPS) a las aplicaciones.

¿Qué es un contenedor?

Antes de publicar el software, se debe probar, empaquetar e instalar. La implementación de software hace referencia al proceso de preparar una aplicación para que se ejecute en un sistema de computación o un dispositivo.

Docker es una herramienta utilizada por los desarrolladores para implementar software. Proporciona un modo estándar de empaquetar el código de una aplicación y ejecutarlo en cualquier sistema. Combina el código de software y sus dependencias dentro de un contenedor. A continuación, los contenedores (o imágenes de Docker) se pueden ejecutar en cualquier plataforma mediante un motor de Docker. Amazon Elastic Container Service (ECS) es un servicio de administración de contenedores de alto rendimiento y escalabilidad, compatible con los contenedores de Docker, que permite ejecutar fácilmente aplicaciones en un clúster administrado de instancias de Amazon EC2. De este modo, se garantizan implementaciones rápidas, fiables y coherentes, independientemente del entorno.

Una aplicación de reservas de un hospital: un ejemplo de Docker

Por ejemplo, un hospital quiere crear una aplicación de reservas de citas. Los usuarios finales pueden utilizar la aplicación en Android, iOS, dispositivo Windows, MacBook o el sitio web del hospital. Si el código se implementa por separado en cada plataforma, sería difícil de mantener. En su lugar, se puede utilizar Docker para crear un único contenedor universal de la aplicación de reservas. Este contenedor puede ejecutarse en cualquier lugar, incluso en plataformas de computación como AWS.

¿Qué es la computación sin servidor con la nube de AWS?

La computación sin servidor hace referencia al desarrollo de aplicaciones con infraestructura de servidor subyacente, administrado externamente. Los servicios sin servidor, como AWS Lambda, ofrecen escalado automático, alta disponibilidad integrada y un modelo de facturación de pago en función del valor.

La computación sin servidor es una manera de describir los servicios, las prácticas y las estrategias que permiten a las compañías de desarrollo de software innovar y responder más rápido a los cambios. Los equipos pueden publicar aplicaciones con rapidez, obtener comentarios y mejorar su software mediante la eliminación de las cargas de trabajo operativas.

Por ejemplo, una empresa emergente crea una aplicación para buscar y filtrar cursos universitarios. La compañía puede realizar el lanzamiento sin servidor y centrarse en refinar la experiencia del usuario y los sistemas. Mediante la utilización de una infraestructura de hardware completamente administrado, puede invertir en las tareas de marketing en su lugar.

 

¿Qué es Elastic Load Balancing en los recursos de computación?

El balanceador de carga es el proceso de distribuir uniformemente los recursos de computación y la carga de trabajo en un entorno de computación en la nube. Se realiza para reducir el retardo y el tiempo de procesamiento de mantenimiento, incluso cuando la aplicación tiene una alta demanda. Los equilibradores de carga pueden distribuir de manera inteligente las solicitudes de los clientes entre varios servidores de aplicaciones que se ejecutan en un entorno de nube.

Elastic Load Balancing permite a los usuarios maximizar el rendimiento y la fiabilidad de las aplicaciones. Puede distribuir automáticamente el tráfico de las aplicaciones entrantes entre varios destinos, como instancias de Amazon EC2, contenedores, direcciones IP, funciones de AWS Lambda y servidores virtuales. Puede gestionar la carga variable del tráfico de las aplicaciones, reducir el coste y escalar o reducir verticalmente, de manera eficaz, la aplicación para que coincida con la demanda.

Comercio electrónico: un ejemplo de Elastic Load Balancing

Por ejemplo, una tienda de comercio electrónico en línea ejecuta una aplicación para clasificar las mejores operaciones del día. Como aplicación con uso intensivo de computación, utiliza la computación en la nube y el balanceador de carga para administrar la demanda. Con ello, se utilizan automáticamente recursos de procesamiento adicionales los fines de semana, Navidad y durante otros picos estacionales cuando la demanda se dispara. Los demás días, se reduce verticalmente la computación cuando disminuye la demanda. Sin el balanceador de carga, la tienda tendría que pagar las tarifas de uso correspondientes al pico incluso en los días de poca demanda y se reducirían los márgenes de beneficios.

¿Qué son los servicios de computación?

Los servicios de computación también se conocen como infraestructura como servicio (IaaS). Las plataformas de computación, como la computación de AWS, suministran una instancia de servidor virtual, almacenamiento y API que permiten a los usuarios migrar cargas de trabajo a una máquina virtual. Se asigna potencia de computación a los usuarios, que pueden iniciar, detener, acceder y configurar sus recursos de ordenador según deseen.

Cómo elegir entre diferentes servicios de computación de AWS

La elección de la mejor infraestructura de AWS depende de los requisitos de la aplicación, el ciclo de vida, el tamaño de código, la demanda y las necesidades de computación. Eche un vistazo a estos tres ejemplos:

  1. Si desea desplegar una selección de instancias bajo demanda que ofrezcan una amplia gama de beneficios de rendimiento diferentes dentro del entorno de AWS, Amazon Elastic Compute Cloud (EC2) es la mejor opción.
  2. Si desea ejecutar aplicaciones habilitadas para Docker empaquetadas como contenedores en un clúster de instancias de EC2, puede utilizar Amazon Elastic Container Service (Amazon ECS).
  3. Si desea ejecutar código propio con solo milisegundos de recursos de computación en respuesta a desencadenadores basados en eventos en un entorno sin servidor, AWS Lambda es ideal para ello.

¿Qué beneficios ofrecen los servicios de computación de AWS?

Los servicios de computación de AWS ofrecen la funcionalidad más amplia y exhaustiva para la computación. Entre los principales beneficios de la computación de AWS se incluyen:

La computación adecuada para las cargas de trabajo

Amazon EC2 (Amazon Elastic Compute Cloud) ofrece un control detallado para la administración de la infraestructura de las aplicaciones con la posibilidad de elegir procesadores, almacenamiento y redes. Amazon Elastic Container Services (Amazon ECS) ofrece la opción y la flexibilidad de ejecutar contenedores.

Seguridad integrada

AWS ofrece significativamente más servicios y características clave de seguridad, conformidad y gobernanza que el siguiente proveedor más grande de la nube. AWS Nitro System dispone de seguridad integrada a nivel de los chips para supervisar, proteger y verificar continuamente el hardware de la instancia.

Optimización de costes

Con la computación de AWS solo paga por la instancia o el recurso que necesita, durante el tiempo que lo utilice, sin necesidad de contratos a largo plazo ni de licencias complejas.

Flexibilidad

AWS ofrece múltiples formas de crear, implementar y comercializar de forma rápida aplicaciones. Por ejemplo, Amazon Lightsail es un servicio fácil de usar, que ofrece todo lo que se necesita para crear una aplicación o un sitio web.

Para determinar qué servicio de computación de AWS es más adecuado para apoyar el crecimiento de su negocio, no dude en contactar con nuestro equipo de expertos o registrarse para obtener una cuenta gratuita de AWS.

Siguientes pasos en AWS

Descubra otros recursos relacionados con el producto
Obtenga más información acerca de los servicios de computación 
Regístrese para obtener una cuenta gratuita

Obtenga acceso instantáneo al nivel Gratuito de AWS.

Regístrese 
Comience a crear en la consola

Comience a crear con AWS en la consola de administración de AWS.

Iniciar sesión