Distributed Logging
- request context id
- context id hierarchy
- context id extraction
- context id consistency
- custom logging api wrapper
Reducing Staging Iterations
- Devops = Devils
- Parallel development helps to deliver any projects before the deadlines.
Classifying Architecture Patterns
- component based
- Layered Architecture
- Microkernel Architecture
- Event-Driven Architecture
- Pipeline Architecture
- Modular Monolith
- Space-Based Architecture
- service based
- Service-Based Architecture
- Microservices Architecture
Analyzing Architecture
Structural Decay
- architecture decisions
- design principles
- scalability
- availability
- reliability
Components
- subsystem
- layer
- service
- event processor
Macro Techniques
- static coupling
- temporl coupling
- ordering
- component size
- afferent coupling
- efferent coupling
Microservices
- code dependencies between services
- shared libraries
- too much inter-service communication
- too many orchestration requests
- too many aggregation requests
- database coupling
Code Metrics
- cyclomatic complexity
- provider a numeric value represent the complexity of a function or method
- number of classes per package
- number of lines of source code(baced on a context)
- average complexity
- depth of inheritance tree
- weighted methods/class
- efferent coupling count
- afferent coupling count
CQRS and Microservices
Command Query Responsibility Segregraion
- query
- command
Refactoring
Business Justification
- business metrics
- reduced overall cost
- better time-to-market
- better user satisfaction
Migration vs. Adaptation
The Challenges of Architecture Teams
witch’s brew anti-pattern
Architecture Tradeoffs
- create an architecture presentation
- validate architecture and esrablish trade-offs
- identify and mitigate risk
- get stakeholder buy-in
The Fallacies of Distributed Computing
- The network is reliable
- Latency is zero
- Bandwidth is infinite
- The network is secure
- Topology doesn’t change
- There is one administrator
- Transport cost is zero
- The network is homogeneous
Integration Styles
File Transfer
- FTP/SFTP
- HDFS
- SCP
- SMP
- CIFS
Shared Database
- SQL
- ODBC
- JDBC
- OLE-DB
- RDA
Remote Procedure Call
- REST
- SOAP
- RMI
- CORBA
- WebSockets
- CGI
Messaging
- JMS
- MSMQ
- AMQP
- SNS
- SQS
- STOMP
- SMPP
- MQTT
Orchestration
- with central conductor
- like api gateway?
Choreography
- no central conductor guiding or directing
Lean Modeling Concepts
- business workflow model
- enterprise systems model
- enterprise information model
- technology infrastructure model
- business automation model
Architectural Abstraction
messaging | adapter | REST | message bus | |
---|---|---|---|---|
local transparency | √ | √ | ? | √ |
name transparency | √ | √ | √ | √ |
implementation transparency | √ | √ | √ | √ |
access decoupling | x | √ | x | √ |
constract decoupling | x | √ | x | √ |
Agile Architecture Review Boards
- determine standards
- approve solutions
- approve variances
- provider guidance
- provide recommendations
- shorter, more frequent meetings
- discussion, decision
- make sure right people present
- not long time