Acerca del Workshop Architecture: The Hard Parts


Los arquitectos de software no tienen decisiones limpias y fáciles: todo es un terrible compromiso. La arquitectura tiene muchos problemas difíciles, que esta clase agnóstica de plataforma destaca investigando lo que hace que la arquitectura sea tan difícil. Esta clase práctica de arquitectura agnóstica de plataforma va más allá de los fundamentos de la arquitectura de software y se centra en los problemas realmente difíciles. Esta clase se centra principalmente en los aspectos de las arquitecturas distribuidas y en las áreas que rodean a la modularidad frente a la granularidad, los desafíos de las arquitecturas basadas en eventos (incluidos los difíciles problemas de gestión de errores), los patrones de arquitectura distribuida y cómo desacoplar los servicios para lograr una granularidad adecuada. La arquitectura está llena de partes duras; asistiendo a este taller se pueden obtener los conocimientos y las técnicas para hacerla un poco más suave.

Esta clase se divide en 2 partes principales:

Parte 1: Sacar las cosas (Modularidad y bloques de construcción)

Parte 2: Cómo recomponerlas (patrones y compensaciones)

La parte 1, «Desmontando las cosas», se centra en la forma de descomponer los sistemas e identificar los niveles de modularidad. Sin embargo, una vez que se han desmontado los sistemas, ¿cómo se pueden volver a unir? La segunda parte de este artículo se centra en esto: las técnicas de orquestación, flujos de trabajo y transacciones, manteniendo las partes desacopladas entre sí.

Lenguaje del curso: El curso se realizará enteramente en Inglés.

Architecture: The Hard Parts Workshop Temáticas


Secciones del Workshop:

Parte 1: Pulling Things Apart (Modularity and Building Blocks)

Architectural Modularity

  • Modularity vs. Granularity
  • Drivers for Modularity

Components as Architecture Building Blocks

  • Component Definition
  • Coupling Types
  • Connascence
  • Connascence Properties
  • Abstractness vs. Instability (Main Sequence)
  • Component Cohesion
  • Modern Connascence

Architecture Quantum

  • What is an Architectural Quantum?
  • Why are Quanta so Important to Architecture?
  • Examples of Architecture Quantum

Architecture Kata Exercises #1 – Breaking Apart The System

Modularity vs. Granularity

  • Determining The Right Level of Granularity
  • Service Granularity Drivers
  • Service Granularity Factors

Architecture Kata Exercises #2 – Identifying Services

Breaking Apart Data

  • Drivers For Separating Data
  • Factors Impacting Data Separation

Architecture Kata Exercises #3 – Data Ownership and Bounded Contexts

Analytical Reporting Challenges

  • Issues with Data Warehouses
  • Issues with Data Lakes

Parte 2: Putting Them Back Together (Patterns and Tradeoffs)

Synchronous vs. Asynchronous Communication

  • Quantum Separation
  • Messaging For East-West Communication
  • Leveraging Queues For Back Pressure
  • Leveraging Publish-Subscribe For Extensibility

Contract Management

  • Consumer-Driven Contracts
  • Value-Driven Contracts
  • GraphQL
  • Schemas

Data Access and Data Sharing Strategies

  • Interservice Communication
  • Data Replication
  • Replicated Caching
  • Data Domains

Architecture Kata Exercises #4 – Data Access Techniques

Orchestration and Workflow

  • Differences Between Orchestration and Choreography
  • Choreography Examples
  • Orchestration Examples
  • Workflow Patterns and Sagas

Architecture Kata Exercises #5 – Orchestration and Workflow

Data Mesh

  • Defining a Data Mesh
  • Data Mesh Concepts

Class Summary: Final Words of Advice

Fecha de inicio, duración y horario del curso


Fecha de inicio: 22 y 23 de marzo de 2021

Duración: Este taller consta de 8 horas.

Profesores


Zhamak Dehghani

Zhamak Dehghani trabaja con ThoughtWorks como consultor principal, centrándose en la arquitectura de sistemas distribuidos y la estrategia de plataformas digitales en la empresa. Es miembro del Consejo Asesor de Tecnología de ThoughtWorks y contribuye a la creación del Radar Tecnológico de ThoughtWorks. Zhamak ha trabajado como ingeniera y arquitecta de software durante 20 años en las áreas de comunicaciones informáticas distribuidas, así como en tecnologías de dispositivos integrados y ha contribuido a múltiples patentes sobre dispositivos móviles de detección integrados.

Neal Ford

Neal Ford es arquitecto de software en ThoughtWorks. Es un experto reconocido internacionalmente en desarrollo y entrega de software, especialmente en la intersección de las técnicas de ingeniería ágil y la arquitectura de software. Neal es autor de artículos en revistas y de numerosos libros, entre ellos «Fundamentals of Software Architecture», «Building Evolutionary Architectures: Support Constant Change», «Functional Thinking: Paradigm Over Syntax», «The Productive Programmer (Theory in Practice (O’Reilly)» y muchos otros, docenas de presentaciones en video, y ha hablado en cientos de conferencias de desarrolladores en todo el mundo, una de ellas es O’Reilly Software Architecture Conference. Sus temas incluyen la arquitectura de software, la entrega continua, la programación funcional, las innovaciones de software de vanguardia, e incluye un libro y un vídeo centrados en el negocio para mejorar las presentaciones técnicas. Su principal enfoque de consultoría es el diseño y la construcción de aplicaciones empresariales a gran escala.

Mark Richards

Mark Richards es un experimentado arquitecto de software centrado en la arquitectura, el diseño y la implementación de arquitecturas de microservicios, arquitecturas orientadas a servicios y sistemas distribuidos. También es autor de numerosos libros y vídeos técnicos.

Precio y forma de pago


¡Sólo hay 5 entradas disponibles!

Por favor, ponte en contacto con nosotros si estás interesado

Apúntate

¿Estás interesado en este curso? Ponte en contacto con nosotros.