Defining Software Architecture, Expectations of an Architect,
Make Architecture Decisions, Continually Analyze Architecture,
Keep Current with Latest Trends, Ensure compliance with Decisions,
Diverse Exposure and Experience, Have Business Domain Knowledge,
Possess Interpersonal skills, Engineering Practices, Operations and
Devops, Process and Data.
Architecture Thinking (1 Month)
Architecture versus Design, Technical Breadth, Analyzing Tradeoffs,
Understanding Business Drivers, Balancing Architecture and Hands-on
Coding, Modularity, Measuring Modularity, Cohesion, Coupling,
Abstractness, Instability, Distance from the Main Sequence,
Consequence, Unifying Coupling, Connascence Metrics.
From Modules to Components, Architecture Characteristics Definition
and Identification, Operational Characteristics, Structural
Characteristics, Cross-Cutting Architecture Characteristics, Trade-
Offs and Least Worst Architecture, Extracting Architectural Characteristics
from Domain Concerns and Requirements, Explicit and Implicit Characteristics,
Measuring Architecture Characteristics, Operational, Structural and
Process Measures, Governance and Fitness Functions, Scope of Architecture
Characteristics, Coupling and Connascence, Architectural Quanta and
Granularity, Component based thinking, Component Scope, Architect Role,
Architecture Partitioning, Developer Role, Component Identification Flow,
Identifying initial components, Assign Requirements to components,
Analyze Roles and Responsibilities, Analyze Architecture Characteristics,
Restructure components, Component Granularity, Component Design,
Discovering Components, Architecture Quantum Redux, Choosing Between Monolithic
Versus Distributed Architecture.
Architecture Styles (1 Month)
Fundamental patterns, Big Ball of Mud, Unitary Architecture, Client/Server,
Monolithic vs Distributed Architecture, Reliability, Latency, Bandwidth,
Security, Topology, Transport Cost, Homogeneous Networks, Layered Architectural
Style, Topology, Layers of Isolation, Adding Layers, Pipleline Architecture
Style, Pipes, Filters, Microkernel Architecture Style, Registry, Contracts,
Service Based Architectural Style, Service Design and Granularity, Database
Partitioning, Event Driven Architecture Style, Broker Topology, Mediator Topology,
Asynchronous Capabilities, Error Handling, Preventing Data Loss, Broadcast
Capabilities, Request-Reply, Choosing Between Request-Based and Event Based,
Hybrid Event-Driven Architectures, Space Based Architecture Style, Processing
Unit, Virtualized Middleware, Data Pumps, Data Writers, Data Readers, Data
Collisions, Cloud Versus Online Implementations, Replication Versus Distributed
Caching, Near-Cache Considerations, Orchestration-Driven Service-Oriented
Architecture, Business Services, Enterprise Services, Application Services,
Infrastructure Services, Orachestration Engine, Message Flow, Reuse and Coupling,
Microservice Architecture, History, Bounded Context, Data Isolation, API Layer,
Operatonal Reuse, Frontends, Communication, Choreography and Orchestraton,
Transactions and Saga, Choosing Appropriate Architecture Style, Shifting
Fashion in Architecture, Decision Criteria,