
Infrastructure and Architecture of Information Systems
The course provides a comprehensive study of information systems as multi‑layered engineering constructions, with a focus on the relationship between architecture and infrastructure. Learners will acquire the skills to make informed engineering decisions by considering technical, economic, and operational constraints.
The course is of an overview and methodological nature and forms in students a systematic understanding of the relationship between the architecture of software systems and the infrastructure for their implementation.
This course does not aim to provide a detailed understanding of individual infrastructure technologies (cloud platforms, containerization, storage systems, etc.). These technologies are covered at the level of architectural principles and practical applicability, forming the basis for their more in-depth study in subsequent disciplines of the track.
A distinctive feature of the course is the use of large language models (LLM) as a tool for analyzing architectural decisions, identifying engineering trade-offs, and supporting student independent work.
Upon mastering the discipline, the student will have a comprehensive understanding of the architectural structure of modern information systems and the pivotal role infrastructure plays in shaping the architecture of digital systems. They will be familiar with the main types of computing infrastructures, as well as the principles of virtualisation and containerisation and the architectural models of cloud platforms. The student will grasp the fundamentals of scalability and fault tolerance, learn the basics of infrastructure monitoring and observability, and understand the limitations and risks associated with using LLMs in the analysis of engineering solutions.
In practical terms, the student will be equipped to analyse the architecture of an information system from an infrastructure perspective and identify any infrastructural limitations within architectural solutions. They will be able to compare alternative infrastructure approaches and provide well‑reasoned justifications for architectural decisions, leveraging LLMs effectively to support architectural analysis and explore alternative solutions.
In the course, large language models (LLMs) serve as versatile engineering assistants integrated into all learning stages. They help students clarify complex terms and concepts, ensuring a solid foundational understanding of the material. LLMs also play a key role in reviewing architectural descriptions — they check these documents for completeness and highlight any gaps that need to be addressed.
Beyond verification tasks, the models actively contribute to the creative and analytical process: they generate alternative design solutions and relevant counterexamples, prompting students to consider a wider range of possibilities and refine their thinking. When students present engineering arguments, LLMs assist in verifying their logic and coherence, helping to strengthen the overall quality of technical reasoning.
Additionally, LLMs support risk‑management practices by analysing potential vulnerabilities in proposed architectures, allowing students to anticipate and mitigate issues early on. The models are also used to simulate load and scalability scenarios, giving learners insights into how systems might behave under different conditions and helping them make more informed design choices.
Finally, LLMs aid in the development of critical system features — they assist students in designing effective observability frameworks and robust security systems, ensuring that these essential aspects are properly integrated into architectural solutions from the outset. This multifaceted support enables a deeper, more practical engagement with course content and better prepares students for real‑world engineering challenges.
Furthermore, the student will gain proficiency in the methods of architectural analysis for digital systems and develop strong skills in the comparative analysis of infrastructure solutions. They will cultivate a culture of sound engineering argumentation and acquire the ability to use intelligent assistants consciously and effectively — integrating these tools seamlessly into their professional practice to enhance decision‑making and problem‑solving.
OBJECTIVES
Understanding infrastructure as an architectural level of digital systems;
Analysis of the relationship between architectural solutions and the execution environment;
Mastering the principles of scalability and fault tolerance of systems;
Developing the ability to analyze alternative infrastructure solutions;
Developing architectural analysis skills using LLM.
KEY TASKS
Studying the role of computing platforms, networks and storage systems in system architecture;
Mastering the principles of virtualization and containerization as infrastructure mechanisms;
Studying cloud computing architecture;
Analysis of architectural solutions to ensure scalability and fault tolerance;
Study of the principles of monitoring, observability and operation of digital systems;
Development of skills for comparative analysis of infrastructure solutions;
Development of a culture of using LLM in engineering analysis.
Main topics of the course:
1. Information system as an engineering construction. Multi‑layered structure: software architecture, infrastructure platform, operational environment. Boundaries between architecture and infrastructure. Workshop: reconstructing the three‑tier structure of a real digital platform.
2. Architectural constraints and engineering trade‑offs. Interrelation of performance, scalability, reliability, and cost. CAP theorem as an example of an architectural trade‑off. Workshop: justifying architecture selection for different load scenarios.
3. Evolution of computing infrastructure. Development trajectory: mainframes → client‑server → distributed systems → cloud platforms. Analysis of technological transitions: which constraints triggered the paradigm shift?
4. Infrastructure as an architectural level. Impact of infrastructural constraints (computing, network, storage, security) on system architecture. Task: identifying feasible and infeasible requirements with justification.
5. Modern computing platforms and data centres. Data centre architecture: computing cluster, network fabric, storage, power supply. Comparative analysis: own DC vs. colocation vs. cloud (architectural consequences).
6. Virtualisation and containerisation as infrastructural mechanisms. Hypervisor types 1 and 2, resource isolation, overhead. Containerisation: namespaces, cgroups, images. Selecting an isolation mechanism for monolithic and microservice architectures.
7. OS as a management layer: from computing to storage. OS as a computing scheduler and I/O manager. File systems as abstraction over physical storage. Workshop: tracing a file read request across environments (bare metal, VM, container).
8. Architectures of data storage systems. Three models: block, file, object storage. Characteristics: access semantics, scalability, consistency. Workshop: selecting a storage model for different systems (transactional DB, media service, document archive).
9. Cloud computing and service models. Division of responsibility between provider and consumer. Shared Responsibility model. Incident analysis: determining the responsibility boundary and architectural decisions to mitigate risks.
10. Architectures of cloud infrastructures: public, private, hybrid clouds. Architectural and operational differences between models. Multi‑cloud strategies. Vendor lock‑in as an architectural risk.
11. Infrastructure security as an architectural level. Security as an architectural quality. Defence in Depth applied to infrastructure. Security audit: analysing attack surface and proposing structural countermeasures.
12. Access management and identity (IAM). Models: RBAC, ABAC, Zero‑Trust. Impact of IAM architecture on system scalability and manageability. Designing IAM for multi‑component systems with varying trust levels.
13. Scalability and distributed infrastructures. Vertical and horizontal scalability: architectural implications. Stateless vs. stateful: key architectural distinction. Scalability diagnostics: identifying bottlenecks in architecture.
14. Reliability and fault tolerance of infrastructure. SLA, SLO, SLI as engineering tools. Fault tolerance patterns: replication, redundancy, circuit breaker, graceful degradation. Post‑mortem analysis: reconstructing failure chains and proposing structural solutions.
15. Monitoring and observability of infrastructure. Three pillars of observability: metrics, logs, tracing. Monitoring vs. observability: architectural differences. Designing an observability system for diagnosing typical failures.
16. Evolution of infrastructure and development of digital system architectures. Architectural debt as a consequence of past infrastructural decisions. Trends in infrastructure evolution and their architectural implications. Comprehensive case: analysing a real digital system with development history.