CursosEmpresasBlogLiveConfPrecios

¿Qué es el escalamiento?

Clase 14 de 19 • Curso de Introducción al Desarrollo Backend

Clase anteriorSiguiente clase

Contenido del curso

Roles del desarrollo web
  • 1
    Los roles del desarrollo backend

    Los roles del desarrollo backend

    02:13
  • 2
    Frontend, Backend y Full Stack

    Frontend, Backend y Full Stack

    06:01
Fundamentos del backend
  • 3
    ¿Cómo se construye el backend?

    ¿Cómo se construye el backend?

    05:59
  • 4
    ¿Cómo escoger lenguajes y frameworks para backend?

    ¿Cómo escoger lenguajes y frameworks para backend?

    02:20
  • 5
    HTTP

    HTTP

    09:29
APIs REST
  • 6
    ¿Qué son las APIs?

    ¿Qué son las APIs?

    02:41
  • 7
    Estructura REST API

    Estructura REST API

    10:39
  • 8
    Insomnia y Postman

    Insomnia y Postman

    15:25
Backend en el dia a día
  • 9
    La nube

    La nube

    02:45
  • 10
    DevOps

    DevOps

    04:22
  • 11
    El servidor

    El servidor

    04:26
  • 12
    Cookies y sesiones

    Cookies y sesiones

    04:18
  • 13
    Bases de datos

    Bases de datos

    08:55
Escalabilidad en el backend
  • 14
    ¿Qué es el escalamiento?

    ¿Qué es el escalamiento?

    07:42
  • 15
    ¿Qué es la replicación?

    ¿Qué es la replicación?

    05:26
  • 16
    ¿Qué es la caché?

    ¿Qué es la caché?

    06:08
  • 17
    Colas de tareas

    Colas de tareas

    07:53
  • 18
    Server-Side Rendering

    Server-Side Rendering

    06:36
Próximos pasos
  • 19
    ¿Qué aprender ahora?

    ¿Qué aprender ahora?

    01:02
    Andres Camilo Alvarez Vasquez

    Andres Camilo Alvarez Vasquez

    student•
    hace 3 años

    RESUMEN DE CLASE

    Qué es el escalamiento?

    Escalamiento vertical.

    Es cuando tenemos un servidor y eventualmente el servidor empieza a colapsar, una forma de solucionar el problema es incrementar:

    • CPU

    • RAM

    • Disk

    • Problemas:

      • Costos
      • En un black friday tu puedes escalar la aplicacion, pero algunos provedores no permiten desescalar.
      • Disponibilidad -> Solucion, Escalamiento Horizontal

    Escalamiento horizontal

    Soluciona el problema de la disponibilidad. Se tienen varias instancias del mismo servidor. Como se tienen distintos servidores ahora se necesita de un LOAD BALANCER

    LOAD BALANCER -> Tiene conocimiento de nuestras instancias/servidores (al conjunto de servidores se denomina Clouster). Si un nodo(instancia) se cae, el load balancer se encarga de desviarla. Distribuye las peticiones.

    • Si tenemos la base de datos local en cada servidor va haber un problema dado que no se tienen sincronizados los datos de las distintas bases de datos de los servidores. SOLUCION Gestionar la base de datos fuera de estos servidores. Quizas como un servidor aparte que sirva como DB.

    Si les gusto mi aporte pueden darme <3

      Sandro Gasca España

      Sandro Gasca España

      student•
      hace 3 años

      Muy buen apórte

      Felix Torres Javier Antonio

      Felix Torres Javier Antonio

      student•
      hace 3 años

      gracias por el aporte!!!

    Daniel Eduardo Portugal Revilla

    Daniel Eduardo Portugal Revilla

    student•
    hace 3 años
    Diego Geovanny Bracero

    Diego Geovanny Bracero

    student•
    hace 3 años

    Recomendación

    Les recomiendo tomar el audio-curso del Pelado Nerd donde trata más a fondo el tema del escalamiento en servidores. 👇 Audiocurso de Fundamentos de Arquitectura de Alta Concurrencia

      Juan Pablo Hillcoat

      Juan Pablo Hillcoat

      student•
      hace 3 años

      Gracias!

    Joaquín J. Barros T.

    Joaquín J. Barros T.

    student•
    hace 3 años

    Apuntes en notion 👉🏽 notion

    • la en el servidor, todo se cae.
    • El escalamiento horizontal consiste en la creación de instancias paralelas del servidor con las mismas características y recursos, pero son un servidor diferente.
      • Es menos costoso que escalar verticalmente.
      • Es mas fácil hacer downgrade.
      • Si un servidor falla, está otro para realizar la carga de trabajo para que el sistema no caiga.
      • Los request son distribuidos por un Load Balancer, que tiene conocimiento de los servidores conectados a la red.
      • Un conjunto de servidores usualmente es conocido como cluster.
      • Requiere una configuración más compleja.
    • En el escalamiento horizontal, si se tiene la base de datos corriendo en el mismo backend de nuestros servidores, y el usuario recarga la página, el load balancer puede enviarlo a otro servidor, cuya base de datos no está sincronizada con el primer servidor.
      • Este problema no ocurre si tu base de datos está desplegada en un servicio proveedor, ni con el escalamiento vertical.
      • Es posible resolverlo con replicación.
      Daniel Esteban Acero Díaz

      Daniel Esteban Acero Díaz

      student•
      hace 3 años

      Genial, gracias Bro!

      Lucas José Beltrán Pacheco

      Lucas José Beltrán Pacheco

      student•
      hace un año
    Fidel Parabacuto

    Fidel Parabacuto

    student•
    hace 3 años
    • El escalamiento es el proceso de aumentar la capacidad de un sistema para manejar una mayor carga de trabajo. Cuando se habla de servidores, el escalamiento puede referirse a la adición de más hardware o recursos a un servidor o a la distribución de la carga de trabajo entre varios servidores.

    • Hay dos tipos principales de escalamiento: horizontal y vertical. El escalamiento horizontal implica añadir más servidores para distribuir la carga de trabajo entre ellos. Esto se puede hacer de manera transparente para el usuario final, y puede ser una buena opción para sistemas que tienen picos de tráfico impredecibles.

    • El escalamiento vertical, por otro lado, implica añadir más recursos a un servidor existente para aumentar su capacidad. Esto puede incluir cosas como añadir más memoria o procesadores a un servidor o mejorar su conectividad a Internet.

    • El escalamiento vertical puede ser más sencillo de implementar, pero puede ser menos flexible que el escalamiento horizontal y puede llegar a un punto en el que no sea posible añadir más recursos a un servidor.

    • Un Load Balancer (o equilibrador de carga) es un dispositivo o software que se utiliza para distribuir la carga de trabajo entre varios servidores. En el escalamiento horizontal, el Load Balancer juega un papel clave al asegurar que la carga de trabajo se distribuya de manera equitativa entre todos los servidores disponibles, evitando que algunos servidores se saturen mientras que otros tienen capacidad disponible.

    Miguel Angel Reyes Moreno

    Miguel Angel Reyes Moreno

    student•
    hace 3 años

    El escalamiento horizontal está en Platzi en sus reproductores de video, en el icono de la tuerca tenemos 'Server A, Server B, Server C' :D

    MARIA CAMILA OSPINA GRANDA

    MARIA CAMILA OSPINA GRANDA

    student•
    hace 3 años

    No pensé que el mundo del backend fuera tan amplio, ya me estresé

      Jesus Alejandro Gutierrez Guevara

      Jesus Alejandro Gutierrez Guevara

      student•
      hace un año

      jajajjaja, es igual o hasta, MUCHO mas complejo que el frontend

    Daniel García Romero

    Daniel García Romero

    student•
    hace 3 años

    El load Balancer, es otro servidor?

      Joan David Gomezjurado Sánchez

      Joan David Gomezjurado Sánchez

      student•
      hace 3 años

      No, este sirve es para balancear la URL con relacion al servidor

      Fidel Parabacuto

      Fidel Parabacuto

      student•
      hace 3 años

      El Load Balancer puede ser un hardware especializado o un software que se ejecuta en una máquina independiente. Dependiendo del tamaño y la complejidad del sistema, puede ser necesario utilizar varias máquinas para implementar el Load Balancer y asegurar un rendimiento óptimo.

    Nicolás Trejos

    Nicolás Trejos

    student•
    hace 3 años

    Escalamiento vertical: Aumentar los recursos del servidor. Escalamiento horizontal: Platzi y sus diferentes servers en el reproductor de video.

    Emanuel Mustapha

    Emanuel Mustapha

    student•
    hace 2 años

    RESUMEN DE CLASE:

    ESCALAMIENTO VERTICAL: El escalamiento vertical es ampliar nuestros recursos, básicamente la CPU, RAM, Disk, para que ocurran saturaciones por muchos usuarios que están en nuestra aplicación, es básicamente aumentar los recursos de la maquina, es muy fácil aumentar nuestros servicios ya que solo es pagarle mas a los que nos están alojando nuestro servidor en este caso el proveedor.

    ESCALAMIENTO HORIZONTAL: Soluciona el problema de disponibilidad, básicamente es tener varias instancias del mismo servidor es decir si se cae nuestro primer servidor por muchos request que pidan van a estar otros servidores sosteniendo todos los request que hagan los clientes pero necesitamos un Load Balancer que basicamente es para repartir toda la información de los request a los dos servidor que todo este pues equilibrado, basicamente distribuye las peticiones.

    Rolando Mamani Salas

    Rolando Mamani Salas

    student•
    hace 2 años

    este curso esta demaciado bueno

    Jhon Freddy Tavera Blandon

    Jhon Freddy Tavera Blandon

    student•
    hace 9 meses

    📌 1. Escalamiento Vertical (Scaling Up)

    ✔ Aumentar la capacidad de un solo servidor.

    ✔ Se logra agregando más CPU, memoria RAM o almacenamiento.

    ✔ Es más sencillo de implementar, pero tiene un límite físico.

    ✅ Ejemplo:

    Pasar de un servidor con 16GB de RAM a uno con 64GB de RAM.

    ⚠️ Problema: Llega un punto donde no se puede mejorar más el hardware.

    📌 2. Escalamiento Horizontal (Scaling Out)

    ✔ Agregar más servidores para distribuir la carga.

    ✔ Mejora la disponibilidad y tolerancia a fallos.

    ✔ Se usa en aplicaciones distribuidas y microservicios.

    ✅ Ejemplo:

    Un sitio web con un servidor no soporta más usuarios, por lo que se agregan más servidores para compartir la carga.

    ⚠️ Desafío: Requiere un balanceador de carga y una buena arquitectura.

    yesenia gil

    yesenia gil

    student•
    hace 3 años

    me gusto la explicacion

    SERGIO ANDRES AVILA ALVAREZ

    SERGIO ANDRES AVILA ALVAREZ

    student•
    hace 5 días

    también hay plataformas que tiene autoescalamiento...

    David Rangel

    David Rangel

    student•
    hace 6 días
    •
    editado

    Escalamiento

    Tipos de escalamiento:

    1. Vertical (aumenta recursos propios, es fácil, problemas: downgrade complejo y mala disponibilidad).
    2. Horizontal (menos costoso, bueno para disponibilidad, pero configuración más compleja y las bases de datos si viven de forma independiente en cada servidor).
    Erick Marcial Machacado Rizo

    Erick Marcial Machacado Rizo

    student•
    hace 2 meses

    El escalamiento para un Backend Developer se refiere a diseñar y construir sistemas capaces de manejar un aumento de usuarios o de carga de trabajo, manteniendo el rendimiento y la disponibilidad. Implica hacer que la aplicación o la infraestructura sean más grandes (escalamiento vertical) o añadir más recursos (escalamiento horizontal).

    Cristian Alexander Puentes Rozo

    Cristian Alexander Puentes Rozo

    student•
    hace 3 meses

    Escalamiento Vertical (Scale Up)

    Consiste en aumentar los recursos de un solo servidor para mejorar su capacidad.

    • ¿Cómo se hace?
      • Añadiendo más CPU, RAM o almacenamiento al servidor existente.
    • Ventajas:
      • Arquitectura más simple.
      • Menor latencia (todo ocurre en una sola máquina).
      • Fácil de implementar en entornos tradicionales.
    • Desventajas:
      • Tiene un límite físico (no puedes escalar indefinidamente).
      • Un solo punto de fallo.
      • Costoso si se requiere hardware de alto rendimiento.
    • Ejemplo: Migrar de un servidor con 8 GB de RAM a uno con 64 GB para soportar más usuarios simultáneos.

    Escalamiento Horizontal (Scale Out)

    Implica agregar más servidores o nodos para distribuir la carga de trabajo.

    • ¿Cómo se hace?
      • Añadiendo instancias de aplicación, bases de datos o servicios en paralelo.
      • Usando técnicas como sharding, load balancing y replicación.
    • Ventajas:
      • Escalabilidad casi ilimitada.
      • Alta disponibilidad y tolerancia a fallos.
      • Ideal para arquitecturas distribuidas y en la nube.
    • Desventajas:
      • Mayor complejidad en sincronización y balanceo de carga.
      • Requiere diseño más avanzado (microservicios, contenedores, etc.).
    • Ejemplo: Tener 10 servidores que manejan peticiones en paralelo mediante un balanceador de carga.
    Alvaro O.

    Alvaro O.

    student•
    hace 3 meses

    Un load balancer, o balanceador de carga, es un dispositivo o software que distribuye el tráfico de red entre múltiples servidores. Su objetivo es optimizar el rendimiento y la disponibilidad de las aplicaciones, evitando que un solo servidor se sobrecargue. Esto también mejora la resiliencia, ya que si un servidor falla, el load balancer redirige automáticamente el tráfico a otros servidores disponibles, asegurando que los usuarios tengan acceso continuo al servicio. Es esencial en arquitecturas escalables y en la gestión de cargas pesadas en el backend.

    Jose Luis Huaygua Callanti

    Jose Luis Huaygua Callanti

    student•
    hace 3 años

    Que funcionalidad tiene el servidor load Balancer.?

      Pedro Muñoz Becerra

      Pedro Muñoz Becerra

      student•
      hace 2 años

      Es el encargado de dirigir la data a los distintos servidores, este sabe el que tiene menos carga y dirige el tráfico hacia él y así sucesivamente. Aquí la doc de google

    Joan David Gomezjurado Sánchez

    Joan David Gomezjurado Sánchez

    student•
    hace 3 años

    Si se me caen todos los servers, que se puede hacer?

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads