Solution Architecture strategy
Intro¶
The task is to find a way to document the architecture runway, - spikes - enablers.
Important:
- dependencies must be visible, so that an "architecture runway" can be communicated to the teams
Goal: - vizualize, what is missing, to get a spike/speedboat to production - vizualize the state of crucial "horizontal" functions that optimize the "vertical" work of feature development"
"architecture runway"¶
TODO
graph LR
Observability --> step_1_1
step_1_1 --> step_1_2
step_1_2 --> step_1_3
step_1_3 --> step_1_4
Southbound_integrations --> step_2_1
step_2_1 --> step_2_2
step_2_2 --> step_2_3
step_2_3 --> step_2_4
step_2_4 --> step_2_5
Dom_Integration --> step_3_1
step_3_1 --> step_3_2
step_3_2 --> step_3_3
step_3_3 --> step_3_4
step_3_4 --> step_3_5
Identity --> step_4_1
step_4_1 --> step_4_2
step_4_2 --> step_4_3
MobileCredentialsApp --> step_5_1
step_5_1 --> step_5_2
step_5_2 --> step_5_3
step_5_3 --> step_5_4
step_5_4 --> step_5_5
TimeAndAttendanceApp --> step_6_1
step_6_1 --> step_6_2
step_6_2 --> step_6_3
step_6_3 --> step_6_4
New_GUI_Crown --> step_7_1
step_7_1 --> step_7_2
step_7_2 --> step_7_3
click step_1_1 "https://www.google.com" _blank
click step_1_2 "https://www.google.com" _blank
click step_1_3 "https://www.google.com" _blank
click step_1_4 "https://www.google.com" _blank
click step_2_1 "https://www.google.com" _blank
click step_2_2 "https://www.google.com" _blank
click step_2_3 "https://www.google.com" _blank
click step_2_4 "https://www.google.com" _blank
click step_2_5 "https://www.google.com" _blank
click step_3_1 "https://www.google.com" _blank
click step_3_2 "https://www.google.com" _blank
click step_3_3 "https://www.google.com" _blank
click step_3_4 "https://www.google.com" _blank
click step_3_5 "https://www.google.com" _blank
click step_4_1 "https://www.google.com" _blank
click step_4_2 "https://www.google.com" _blank
click step_4_3 "https://www.google.com" _blank
click step_5_1 "https://www.google.com" _blank
click step_5_2 "https://www.google.com" _blank
click step_5_3 "https://www.google.com" _blank
click step_5_4 "https://www.google.com" _blank
click step_5_5 "https://www.google.com" _blank
click step_6_1 "https://www.google.com" _blank
click step_6_2 "https://www.google.com" _blank
click step_6_3 "https://www.google.com" _blank
click step_6_4 "https://www.google.com" _blank
click step_7_1 "https://www.google.com" _blank
click step_7_2 "https://www.google.com" _blank
click step_7_3 "https://www.google.com" _blank
"horizontal" functions¶
These all represent crucial "horizontal" functions that optimize the "vertical" work of feature development, ultimately contributing to a more efficient, reliable, and secure software delivery pipeline.
- DevOps
- Platform Engineering
- Site Reliability Engineering (SRE)
- Enabling Teams
- Developer Experience (DevEx)
- Quality Assurance (QA) / Quality Engineering (QE)
- Security Engineering
- Technical Debt Management / Refactoring
- Internal Tooling / Productivity Engineering
- Infrastructure as Code (IaC) / Cloud Engineering
Products | CI/CD | Monitoring | Automation | Reliability | Scalability | Availability | Containerization | Infra Management | Incident Response | Capacity Planning | Service Orchestration | Infrastructure As Code (IaC) | Service Level Objectives (SLOs) | Continuous Improvements | Performance Optimization | Application Lifecycle Management | Code maintainability | Continuous integration | Database Change Management | Deployment Automation | Empowering teams to choose tools | Loosely Coupled Architecture | Monitoring and Observability | Test Automation | Test Data Management | Trunk-based development | Version control |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product Name | Absent → Manual builds → Partial pipelines → Mature pipelines |
Ad-hoc logs → Basic monitoring → Metrics + dashboards → Full observability |
None → Manual scripts → Partial automation → Full automation |
Unknown → Reactive fixes → Basic SLAs → High reliability engineering |
Fixed capacity → Vertical scaling → Some horizontal scaling → Auto-scaling |
Single instance → Active-passive → Active-active → HA multi-region |
Bare metal → VMs → Partial container adoption → Full containerization |
Manual provisioning → Scripts → Partial config mgmt → Infra as Code |
Ad-hoc → Pager-based → Runbooks → Automated incident mgmt |
Gut-feel → Historical analysis → Predictive → Automated scaling |
Monolith → Partial SOA → Microservices → Service mesh |
None → Scripts → Partial IaC → Full declarative IaC |
None → Informal → Basic SLIs/SLOs → Full SLO adoption |
Rare → Periodic retros → Structured Kaizen → Continuous learning culture |
Ad-hoc tuning → Profiling → Proactive optimization → Self-healing optimization |
Waterfall → Semi-agile → Agile w/ gaps → Full ALM integration |
Spaghetti code → Some refactoring → Coding standards → Highly maintainable |
Absent → Nightly builds → Pull request CI → Full CI pipelines |
Manual scripts → Change windows → DB versioning tools → Full DB DevOps |
Manual → Shell scripts → Partial deployment pipelines → Full deployment automation |
Central IT controlled → Some autonomy → Guardrails → Full self-service with governance |
Monolith → Modular monolith → Microservices → Event-driven architecture |
Logs only → Logs + metrics → Distributed tracing → Full observability stack |
Manual → Unit tests → Integration tests → Full automated test pyramid |
Production copies → Masked data → Synthetic data → Self-service test data |
Feature branches → Long-lived branches → Short-lived branches → Full trunk-based |
No VCS → Centralized VCS → Distributed VCS → GitOps workflows |
Product PWA | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
Product PWT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
Product PWT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |