Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

REL05-BP06 Crear servicios sin estado cuando sea posible - AWS Well-Architected Framework

REL05-BP06 Crear servicios sin estado cuando sea posible

Los servicios deben o bien no requerir estado o bien descargar el estado, de forma que entre solicitudes de clientes distintos no haya dependencia en los datos almacenados localmente en disco y en memoria. Esto permite reemplazar los servidores a voluntad sin que la disponibilidad resulte afectada. Amazon ElastiCache y Amazon DynamoDB son buenos destinos para el estado descargado.

En esta aplicación web sin estado, el estado de la sesión se descarga en Amazon ElastiCache.

Figura 7: En esta aplicación web sin estado, el estado de la sesión se descarga en Amazon ElastiCache.

Cuando los usuarios o los servicios interactúan con una aplicación, suelen realizar una serie de interacciones que constituyen una sesión. Una sesión es un dato único para los usuarios que persiste entre las solicitudes mientras utilizan la aplicación. Una aplicación sin estado es aquella que no necesita conocer las interacciones anteriores y no almacena la información de la sesión.

Una vez se ha diseñado para no tener estado, puede utilizar servicios de computación sin servidor, como AWS Lambda o AWS Fargate.

Además del reemplazo del servidor, otro beneficio de las aplicaciones sin estado es que pueden escalar horizontalmente porque cualquiera de los recursos de computación disponibles (como las instancias EC2 y funciones AWS Lambda) puede dar servicio a cualquier solicitud.

Nivel de riesgo expuesto si no se establece esta práctica recomendada: Mediana

Guía para la implementación

  • Haga que sus aplicaciones no tengan estado. Las aplicaciones sin estado permiten el escalado horizontal y toleran el error de un nodo individual.

    • Elimine el estado que realmente podría almacenarse en parámetros de solicitud.

    • Tras examinar si el estado es realmente necesario, mueva cualquier seguimiento de estado a una caché o un almacén de datos resilientes de varias zonas como Amazon ElastiCache, Amazon RDS, Amazon DynamoDB o una solución de datos distribuidos de terceros. Almacene el estado que no se pudo mover a almacenes de datos resilientes.

      • Algunos datos (como las cookies) se pueden pasar a encabezados o parámetros de consulta.

      • Refactorice para eliminar el estado que se puede pasar rápidamente a las solicitudes.

      • Algunos datos pueden no resultar realmente necesarios para la solicitud y pueden recuperarse bajo demanda.

      • Elimine los datos que se puedan recuperar asincrónicamente.

      • Elija un almacén de datos que cumpla los requisitos para el estado requerido.

      • Considere la posibilidad de usar una base de datos NoSQL para datos no relacionales.

Recursos

Documentos relacionados:

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.