Upgrade to Pro — share decks privately, control downloads, hide ads and more …

¿Cómo manejar 100K conexiones simultáneas en AWS?

¿Cómo manejar 100K conexiones simultáneas en AWS?

En esta presentación vamos a ver progresivamente como manejar hasta 100K cien mil conexiones simultáneas en una arquitectura serverless en AWS.

Miraremos una arquitectura básica
Los límites en cada servicio
Como hacer cargas masivas
Como visualizar y entender resultados
Soluciones propuestas a problemas de concurrencia
Y, la mejores prácticas.

Fernando Paz

January 30, 2024
Tweet

Other Decks in Technology

Transcript

  1. Serverless y … Escalando sin Límites ¿Como manejar 100K conexiones

    simultáneas en AWS? Fernando Paz fernandopaz.com
  2. Fernando Paz@laptop ~ $ whoami_ • Software builder 15+ years

    of experience ◦ Developer, Cloud and On-premises Software Architect and PO. • Agile practitioner • Certs: ◦ AWS Solutions Architect Certified Professional, PostgreSQL DBA Certified and Scrum P,M,D Certified fernandopaz.com
  3. … depende • De tu arquitectura. • De tu carga

    de trabajo. • De tu presupuesto. • De tu política de tiempo de procesamiento del servidor. • … etc.
  4. Serverless es … Es un paradigma de Arquitectura de Software,

    que funciona en la nube, y que libera a los desarrolladores de la gestión de la infraestructura, permitiéndoles enfocarse en la lógica de negocio.
  5. … ok, pero ¿cómo hacemos eso? • Pruebas de carga

    al API Gateway https://gyvd9xt7b9.execute-api.us-east-1.amazonaws.com/test/stats?wi nner=playas método GET • 3 repeticiones de cada caso ◦ resultados más confiables • Ordenador exclusivo para pruebas ◦ conectadas con cable • Analizando resultados de JMeter • Analizando los datos de “Monitoreo” AWS ◦ en cada servicio Serverless
  6. In service-oriented architectures and distributed systems, limiting the rate at

    which API calls are processed by various service components is called throttling Some degree of throttling is not necessarily a problem for your application, but persistent throttling of a latency-sensitive part of your data workflow can negatively impact user experience and reduce the overall efficiency of the system. Amazon DynamoDB Analizando betOnAWS con 10K conexiones simultáneas
  7. escalemos betOnAWS a 100K conexiones simultáneas Versión POST URL: https://gyvd9xt7b9.execute-api.us-east-1.amazonaws.com/test

    { "winner": "both", "mount": 1 } { "winner": "ballenita", "mount": 1 } { "winner": "playas", "mount": 1 }
  8. Diseccionar la aplicación Una aplicación que deba soportar es cantidad

    de conexiones simultáneas debe ser diseccionada. El diseño es clave El diseño de la aplicación va a ser clave para soportar la carga esperada. Conocer las tecnologías Conocer profundamente las tecnologías serverless es la diferencia de este caso de uso. Pensar en los costos El control de costos es esencial y es un tema ha hablar con los stakeholders. Medir, Aprender y Mejorar Es importante aprender a utilizar herramientas de monitoreo y logging para entender dónde está el problema y mejorarlo continuamente. Pensamientos finales