- 1

Arquitectura de Backend: Diseño e Implementación de Sistemas Avanzados
02:42 - 2

Conceptos Fundamentales de Back End en Arquitectura Web
03:25 - 3

Sistemas Monolíticos vs. Distribuidos en Arquitectura Backend
04:31 - 4

Componentes de un Sistema Backend Distribuido
05:22 - 5

Conexión de Componentes Backend mediante APIs
04:11 - 6

Diseño e Implementación de Sistemas Backend Prácticos
02:33
Diseño de Servicios de Lectura Escalables y Stateless
Clase 22 de 25 • Curso Práctico de Arquitectura Backend
Contenido del curso
- 7

Definición de Requerimientos de Negocio para Desarrolladores Backend
08:52 - 8

Creación de Documentos de Diseño de Software
06:06 - 9

Creación de Documentos de Diseño en Markdown para Proyectos de Software
09:52 - 10

Revisión Efectiva de Documentos de Diseño en Equipo
10:27 - 11

Diseño de Arquitectura de Sistemas Distribuidos
15:30 - 12

Diseño de Sistemas: Documentación de Bajo Nivel y Pruebas
15:23 - 13

Planificación de Integración Continua y Rollout de Software
13:56 - 14

Definición y aplicación del concepto "Code Complete" en proyectos software
10:55 - 15

Decisiones en Diseño de Sistemas Basados en Requerimientos del Negocio
03:35
- 16

Desarrollo e Implementación de Sistemas Backend
03:35 - 17

Diseño de Entidades para Reseñas de Cámaras y Productos
08:58 - 18

Diseño e Implementación de Interfaces en C para Productos y Reseñas
18:17 - 19

Desarrollo de Pruebas Unitarias con TDD en C#
17:30 - 20

Implementación de pruebas unitarias con TDD en proyectos de software
25:16 - 21

Desarrollo de un Sistema de Reseñas en Azure
06:46
¿Cómo abordar el diseño de un servicio de lectura?
El reto del diseño de un servicio de lectura es un desafío fascinante y crucial en el mundo de la arquitectura de sistemas back end. Los servicios deben construirse sobre una base sólida que asegure que la información que hemos publicado a través del servicio de escritura se recupere de manera eficiente. Este reto te invita a diseñar un documento de diseño a bajo nivel, detallando cada aspecto de la implementación del servicio de lectura. Es fundamental elaborar este trabajo con esmero, buscando retroalimentación varias veces para mejorar el diseño. ¡Veamos cómo lograrlo!
¿Qué elementos deben incluirse en el diseño de la entidad de reseña?
Para que el servicio de lectura funcione correctamente, es esencial definir con claridad y precisión el diseño de la entidad de reseña (review). Este diseño es el principal entregable y debe satisfacer las necesidades del cliente. Algunos puntos a considerar son:
- Detallar la entidad: Proporcionar una definición clara de qué elementos conforman la reseña.
- Método de extracción de información: Definir cómo se extraerá la información desde la base de datos no relacional.
- Transformación y regreso de los datos: Describir la manera en que los datos serán transformados y devueltos a través de una petición GET.
- Incluir todos los componentes necesarios: Desde bases de datos adicionales hasta servicios cache, serverless o dedicados.
¿Cuáles son las consideraciones clave al diseñar la arquitectura?
La arquitectura debe estar bien pensada para servir de la mejor manera a millones de usuarios. Algunas recomendaciones incluyen:
- Elegir un diseño escalable: Debe ser capaz de manejar millones de lecturas simultáneamente.
- Incluir un servicio stateless: Sugiere que el servicio de lectura no debe guardar estado, permitiendo escalar horizontalmente utilizando máquinas virtuales. Esto implica que ninguna VM debe guardar operaciones de almacenamiento.
- Conectar adecuadamente con la base de datos no relacional: La base de datos es la fuente de información y debe ser eficiente.
¿Cómo determinar el modelo de datos y el payload del JSON?
Definir el modelo de datos es una parte crucial del proceso de diseño. Debe incluir ejemplos claros de cómo se verá el payload de JSON que el API devolverá. Al desarrollar este modelo:
- Proporciona ejemplos JSON: Ayuda al cliente a entender los datos que recibirá.
- Define claramente el API GET: Este diseño mostrará lo que el cliente puede esperar al consumir el API.
¿Qué tecnologías pueden ser utilizadas?
El diseño a bajo nivel debe incluir detalles sobre las tecnologías y proveedores que se utilizarán. Aunque el lenguaje de programación es opcional, es necesario definir:
- Proveedor cloud: Escoger el entorno o servicio cloud que mejor se adapte a las necesidades del proyecto.
- Tecnologías específicas para el sistema: Determinar las herramientas más eficaces para cada parte del servicio.
Para concluir, hay que utilizar todos los recursos a nuestra disposición y aplicar la creatividad y el análisis propio para desarrollar una solución única. Esto enriquecerá tu capacidad de creación y te preparará mejor para enfrentar desafíos futuros en el campo de la arquitectura back end. ¡Adelante con la implementación de este reto!