Source
ArchDays 2024
The report “Architecture in T-Bank: yesterday, today, tomorrow” is a transcript of the speech at the conference.
The history of the development of architectural approaches at T-Bank over 18 years: from a start-up using boxed solutions to a technology company with 46 million clients and its own development platform.
The evolution of architecture in T-Bank
Based on the report by Alexander Polomodov at ArchDays 2024
Related book
Continuous Architecture in Practice
6 principles of continuous architecture: product approach, NFR, deferred decisions
What is architecture?
Before diving into history, it is important to understand what we mean by architecture. There are many definitions on this subject from SEI (Software Engineering Institute), IEEE, RUP and other sources. There are 7 key views:
Organization of the system, elements and their interfaces
Hiding the implementation, focusing on interactions
Elements, relationships and properties for thinking about a system
Governance: policies, models, standards
Fundamental solutions, dear to the future
Reusable Construction Approaches
Coordination of decisions with stakeholders
"To paraphrase George Box: all definitions are wrong, but some are useful."
Philosophy
A Philosophy of Software Design
Discussion of John Osterhout's book on the Code of Leadership podcast.
Key Metaphor
❌ Construction metaphor
It is rare when, having built half of a skyscraper, customers decide to pivot and build the next half horizontally. But in IT this is not the case.
✓ Plant metaphor
We are gradually creating a large rice field: we are slowly completing it and, as in software architecture, we do not know what is hiding at the bottom.
Four phases of development
Phases of T-Bank architecture development
2006–2014
COTS
Startup phase: rapid entry to market over boxed solutions
1. COTS (2006–2014)
When Tinkoff was a startup, solutions were built on top of standard boxes. This approach is optimal for quickly entering the market:
Benefits of COTS
- +Reduced start-up costs
- +Fast deployment
- +Proven reliability
- +Vendor technical support
- +Regular updates
TDD — Technologist Driven Development
Technologists (a mixture of business analysts and projects) were responsible for creating products on top of boxed systems. Not to be confused with Test-Driven Development!
2. Own software (2014–2019)
The company grew rapidly, and some boxes began to cost as much as an airplane wing. Geopolitical changes in 2014 heightened awareness of the downsides of COTS:
Disadvantages of COTS
- −Limited customization - does not meet business needs
- −Long-term costs — user/core licenses grow with business
- −Vendor lock-in — dependence on the vendor’s plans
- −Safety - popular solutions - targets for attacks
- −Complexities of integrations — a lot of middleware code
Developing software yourself turned out to be much more difficult than doing integrations. Some systems were born to replace boxes, but were themselves replaced by even newer solutions while the original box continued to live.
Spirit
Spirit Platform
Official page of the internal development platform.
Foundation
Containerization
Platform environments are often built around containers and their orchestration.
3. Platform Engineering (2020–2022)
By 2020, it became clear that creating your own systems was fun, but not cost effective. Each team built its own infrastructure—the company did not save on scale.
Growth of development teams
Infrastructure engineers
Heterogeneous landscape
Spirit Platform Principles
- Repeatability and transparency of the code lifecycle
- Code base management and quality assessment at all stages
- Transition to internal source in the company
- Result oriented
4. Megaprojects and Governance (2022–2025)
The geopolitical changes of 2022 have accelerated the movement towards IDP. Two major directions have been launched:
🔥 Project “Prometheus”
Import substitution: moving away from Oracle and other technological stop words. Generating huge technical debt that needed to be cleared away.
📈 Program “100M”
Scaling for growth: x2 clients, more products per client, daily use of ecosystem services.
Solution
- Actively campaigning for the move to platform XaaS solutions
- Expanding platform capabilities to meet scaling requirements
- Evolutionary change of systems (not revolutionary restructuring)
Staff+
Fundamentals of Software Architecture
Read more about the role of an architect and soft skills.
Who does architecture?
Who does architecture?
Development process management
Design + code
Designing and writing code at the minimum required level
Foundation
Virtualization and VM
Infrastructure and data centers rely on virtualization and hypervisors.
Where is T-Bank heading?
Now the only way is to invest in your own technology:
Infrastructure
Own data centers, IDP and XaaS services
Decentralization
Upgrading design skills from SDE
Mature approach
A common sense approach to reuse
