Iniciar sesión / Registrar Cuenta

Aplicaciones nativas de la nube

Sistemas con estado y sin estado

El estado de una aplicación (o de cualquier otra cosa) hace referencia a su condición o cualidad de existir en un momento determinado. Es su capacidad de estar. El que un sistema tenga estado depende del tiempo durante el cual se registra interacción con él y de la forma en que se debe almacenar esa información. 


Sistemas sin estado

Un proceso o una aplicación sin estado se refiere a los casos en que estos están aislados. No se almacena información sobre las operaciones anteriores ni se hace referencia a ellas. Cada operación se lleva a cabo desde cero, como si fuera la primera vez. Las aplicaciones sin estado proporcionan un servicio o una función y usan servidores de impresión, de red de distribución de contenido (CDN) o web para procesar estas solicitudes a corto plazo. 

Un ejemplo de una operación sin estado puede ser la búsqueda en línea de la respuesta a una pregunta que se le haya ocurrido. Usted escribe la pregunta en un motor de búsqueda y presiona la tecla Entrar. Si la operación se interrumpe o se cierra por accidente, simplemente inicia una nueva. Piense en las operaciones sin estado como en máquinas expendedoras: a una solicitud, una respuesta. 


Sistemas con estado

Por otro lado, las aplicaciones y los procesos con estado son aquellos a los que se puede volver una y otra vez, como la banca en línea o el correo electrónico. Se realizan con el contexto de las operaciones anteriores, y la operación actual puede verse afectada por lo que ocurrió previamente. Por estos motivos, las aplicaciones con estado utilizan los mismos servidores cada vez que procesan la solicitud de un usuario.  

En caso de interrumpirse una operación de este tipo, se puede retomar más o menos desde donde la dejó gracias al almacenamiento del contexto y el historial. Las aplicaciones con estado rastrean, por ejemplo, la ubicación de las ventanas, las preferencias de configuración y la actividad reciente. Piense en ellas como en una conversación periódica y constante con la misma persona.

La mayoría de las aplicaciones que usamos diariamente son de este tipo; pero conforme la tecnología avanza, los microservicios y los contenedores facilitan el diseño y la implementación de aplicaciones en la nube. 


Contenedores y estado

El cloud computing y los microservicios se vuelven cada vez más populares, Y lo mismo sucede con la organización de aplicaciones en contenedores, ya sea con o sin estado. Los contenedores son unidades de código para una aplicación que se empaquetan junto con sus bibliotecas y dependencias. Esto les permite trasladarse con facilidad y funcionar en cualquier entorno, tanto en la infraestructura de TI tradicional de una computadora de escritorio como en la nube. 

En un principio, los contenedores se diseñaron para no tener estado, ya que esto se ajustaba a su naturaleza portátil y flexible. Sin embargo, a medida que se extendió su uso, la gente comenzó a organizar en contenedores las aplicaciones con estado actuales (es decir, a rediseñarlas y reempaquetarlas para poder utilizarlas desde ellos). Esto les otorgó la flexibilidad y la rapidez que ofrecen los contenedores, pero con el almacenamiento y el contexto que proporciona el tener estado.

Por eso las aplicaciones con estado pueden ser muy parecidas a las que no tienen, y viceversa. Por ejemplo, puede tener una aplicación sin estado que no requiera almacenamiento a largo plazo, pero que permita al servidor rastrear las solicitudes que se originan en el mismo cliente mediante el uso de cookies. 


Gestión de contenedores con estado y sin estado

Con el aumento de la popularidad de los contenedores, las empresas comenzaron a proporcionar formas de gestionar aquellos con y sin estado mediante el almacenamiento de datos, Kubernetes y StatefulSets. El estado se convirtió en una parte importante del almacenamiento en contenedores, así que la pregunta ya no es si conviene utilizar este tipo de contenedores, sino cuándo. 

El uso de contenedores con o sin estado depende del tipo de aplicación que quiera diseñar y lo que necesita que haga. Si solo requiere información provisional con rapidez y de forma temporal, opte por los contenedores sin estado; si su aplicación necesita recordar más datos entre una sesión y otra, puede que necesite contenedores con estado.


Sistemas con estado, sin estado y Red Hat

Cuando se trata de procesos o aplicaciones con y sin estado, Red Hat tiene todo lo que necesita. Ya sea que esté organizando contenedores con estado en nuestra plataforma de Kubernetes lista para la empresa, Red Hat OpenShift Container Platform, o que esté diseñando un entorno unificado para el desarrollo de aplicaciones con Red Hat Integration, contará con el respaldo de nuestro soporte galardonado y el mayor ecosistema de partners del sector. 

Descubra cómo utilizar nuestros productos para diseñar soluciones, aumentar la productividad de los desarrolladores y promover la innovación al estilo open source.

Obtenga más información sobre Red Hat OpenShift Container Platform