Arquitectura Software Avanzada: Más Allá de los Patrones

所在平台: Udemy

课程主页: https://www.udemy.com/course/arquitectura-software-avanzada-mas-alla-de-los-patrones/

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:高级软件架构:超越模式 课程概述:设计系统架构是一项非常复杂的任务。没有完美的解决方案,在某些上下文中有效的方法可能在另一些地方却适得其反。了解软件架构的理论与基本概念固然重要,但如果不了解每个决策所涉及的权衡,则不足以掌握全貌。本课程不仅限于架构模式,我们将探索实际问题,在这些问题上并非总存在良好实践的共识,分析可用的不同选项,并评估它们在不同情境下的优缺点。 在课程中,我们将讨论以下内容: 1. **软件架构中的模块化与分解**:何时及如何将系统划分为组件或服务,数据分离、服务粒度及架构负担的影响。同时,探讨CAP定理以及多种数据库的比较,包括关系型、键值、文档、列式、图形、时间序列、NewSQL及云原生数据库。 2. **服务的集成、数据管理与协调**:服务间的数据所有权和访问,最终一致性和合同设计。管理分布式工作流,包括服务的编排和编舞,以及研究不同的事务Saga。 3. **架构的演变与迁移**:何时迁移架构及如何在最小化风险的情况下进行迁移,包括阐述如Strangler Fig、Expand & Contract、Branch by Abstraction及Reverse Proxy Migration等模式,并通过示例和权衡进行说明。 4. **生产系统的维护**:分析数据管理、设计有效的日志、监控、关键指标、警报、错误管理及自动恢复。 5. **更多模式与反模式**:讨论幂等性、不变性、位置独立性、内容寻址存储以及一系列关于可用性、可靠性、安全性和性能的模式与反模式。 该课程旨在帮助希望提升系统架构能力、技术判断力并学习在复杂系统中做出实际决策的架构师和开发者。如果你希望不再机械性地应用模式,而是深入理解如何设计可扩展、可靠和易维护的系统,那么这个课程适合你。 注意:本课程并不侧重于代码,尽管在必要时会提供示例,但我们将主要集中于高层次的设计和架构,这些概念适用于任何技术或语言。

课程评论(0条)

课程详情

Diseñar la arquitectura de un sistema es una tarea muy difícil. No existen soluciones perfectas, lo que funciona bien en un contexto puede ser un desastre en otro. Conocer la teoría y los conceptos básicos de arquitectura de software es importante, pero no es suficiente si no entiendes los compromisos que implica cada decisión.Este curso no se limita a patrones de arquitectura. Exploraremos problemas reales, donde no siempre hay un consenso en las buenas prácticas, analizaremos las distintas opciones disponibles y evaluaremos sus ventajas y desventajas en distintos contextos.A lo largo del curso abordaremos:Modularidad y Descomposición en Arquitectura de Software: Cuándo y cómo dividir un sistema en componentes o servicios. Separación de datos, granularidad de servicios, y el impacto del quantum de arquitectura. Veremos también el teorema CAP y una comparativa de bases de datos: relacionales, clave-valor, documentales, columnares, grafos, series temporales, NewSQL y cloud-native.Integración, Gestión de Datos y Coordinación de Servicios: Propiedad y acceso a datos entre servicios, consistencia eventual y diseño de contratos. Veremos cómo gestionar workflows distribuidos tratando la orquestación y la coreografía de servicios y estudiaremos las distintas sagas transaccionales.Evolución y Migración de Arquitecturas: Cuándo migrar una arquitectura y cómo hacerlo minimizando el riesgo. Patrones como Strangler Fig, Expand & Contract, Branch by Abstraction o Reverse Proxy Migration, explicados con ejemplos y trade-offs.Mantenimiento de Sistemas en Producción: Gestión de datos analíticos, diseño de logs útiles, monitorización, métricas clave, alertas, gestión de errores y recuperación automática.Más Patrones y Antipatrones: Hablaremos de idempotencia, inmutabilidad, location independence, content addressed storage y de una serie de patrones y antipatrones de disponibilidad, fiabilidad, seguridad y rendimiento.Este curso está pensado para arquitectos y desarrolladores que quieran mejorar en arquitectura de sistemas, su criterio técnico y aprender a tomar decisiones con impacto real en sistemas complejos. Si quieres dejar de aplicar patrones de forma mecánica y empezar a entender realmente cómo diseñar sistemas escalables, fiables y mantenibles, este curso es para ti.Nota: Este no es un curso centrado en código. Aunque veremos ejemplos cuando aporten valor, aquí nos centramos en diseño y arquitectura de alto nivel, aplicable a cualquier tecnología o lenguaje.

课程标签

0人关注该课程

主题相关的课程