
Cloud-native Information Systems Architecture
The primary goal of the course is to develop students’ ability to analyse architectural limitations of distributed systems, design cloud application architectures, justify decisions with respect to scalability and fault tolerance requirements, and evaluate trade‑offs between complexity, performance, and system reliability.
The course provides a systematic understanding of the architectural principles for building modern distributed digital systems designed to operate within a cloud infrastructure. Rather than focusing on individual tools or technologies, the discipline presents cloud‑native architecture as a comprehensive paradigm for designing information systems. Within this paradigm, the infrastructure is viewed as a dynamic execution environment, applications are structured as distributed service systems, and architectural decisions are made with a strong emphasis on scalability, fault tolerance, observability, and continuous delivery of changes.
The course is based on several key concepts. First, architecture is viewed as the system level of a digital platform — a multi‑layered structure that includes the application services layer, the data management level, the execution environment level, and the observability and operations contour. Second, architectural solutions are understood as a space of compromises: design involves balancing factors such as scalability, stability, performance, and ease of maintenance under real‑world constraints — network delays, partial failures, data consistency requirements, load variability, and maintenance complexity.
A central element of the learning process is a comprehensive architectural project carried out over the course of a semester. As part of the project, students select a subject area for a digital service, design its architecture, justify the adopted architectural decisions, experimentally verify key hypotheses, and conduct an architectural audit of the final solution. This project serves as the main tool for integrating theoretical knowledge with practical skills.
Large Language Models (LLMs) play a significant role in the educational process and are used in three modes. As a reference tool, an LLM helps explain terms and principles of distributed systems and cloud architectures. As an intelligent assistant, the model assists in analysing requirements, generating alternative solutions, identifying risks, and formulating arguments. In the role of an architectural opponent, the LLM performs critical analysis, identifies weaknesses, and suggests alternatives. At the same time, a mandatory part of independent work is the critical verification of LLM recommendations, since models may sometimes propose standard templates without requirement analysis, ignore infrastructure limitations, or provide a superficial assessment of trade‑offs.
Upon completing the course, students will have acquired a solid understanding of the architectural principles of cloud systems and the limitations of distributed computing environments. They will be familiar with the main architectural styles and patterns, service interaction mechanisms, data consistency models, observability principles, and key architectural risks. Students will learn to analyse architecture requirements, decompose systems into service components, design interaction and data storage architectures, select appropriate patterns for scalability and fault tolerance, and conduct architectural audits. In addition, they will master architectural analysis methods, cloud architecture design practices, skills in reasoned decision‑making, comparative analysis of alternatives, and a culture of engineering reflection — including the critical evaluation of LLM assistant outputs.
OBJECTIVES
Understanding the architectural limitations of distributed systems;
Mastering the principles of cloud-native architecture;
Analysis of architectural patterns of service interaction;
Studying the architecture of storage and data consistency;
Mastering architectural mechanisms of sustainability and scalability;
Developing the ability to design system architecture taking into account operational requirements;
Development of skills in engineering argumentation of architectural solutions;
Formation of a culture of conscious use of LLM in architectural analysis.
KEY TASKS
Formation of a systemic understanding of the architecture of distributed information systems;
Studying the principles of cloud-native architecture;
Mastering methods of decomposing complex systems into service components;
Study of service interaction models (synchronous and asynchronous);
Mastering the principles of data management in distributed systems;
Study of data consistency mechanisms and distributed transactions;
Mastering architectural patterns of sustainability;
Studying the principles of scaling service systems;
Mastering the principles of observability and diagnostics of distributed systems;
Development of skills in architectural analysis and audit of information systems;
Development of skills for experimental verification of architectural solutions;
Development of a culture of critical use of LLM in architectural design.
Main topics of the course:
1. Introduction to cloud information system architecture. Explores the evolution from monolithic to distributed and cloud‑based systems, highlighting the role of cloud infrastructure in overcoming the limitations of distributed systems and enabling scalable services.
2. Cloud‑native architecture principles. Covers key principles such as scalability, elasticity, stateless approach, immutable infrastructure, and the 12‑Factor App concept, with a focus on how these shape modern cloud‑native systems.
3. Decomposition of information systems. Introduces Domain‑Driven Design and bounded contexts to define service boundaries, teaching students how to break down complex systems into manageable and well‑defined services.
4. Synchronous service interactions. Focuses on REST and gRPC protocols and API contracts, showing how to design reliable and efficient synchronous communication between services.
5. Asynchronous architecture. Explains event‑driven systems and publish‑subscribe patterns, demonstrating how message brokers enable loose coupling and improve system responsiveness and resilience.
6. API Gateway and Service Discovery. Covers the architecture of the integration layer, including API gateways and service discovery mechanisms that streamline communication and management in distributed environments.
7. Architecture of data storage. Discusses database‑per‑service and polyglot persistence strategies, helping students choose appropriate data storage solutions that align with microservice principles.
8. Data consistency in distributed systems. Examines distributed transactions and eventual consistency models, with a focus on the Saga pattern as a way to maintain data integrity across loosely coupled services.
9. Limitations of distributed systems. Analyses architectural risks such as latency and partial failures, and explains the CAP theorem to help students understand fundamental trade‑offs in system design.
10. Fault‑tolerance patterns. Introduces patterns like retry, circuit breaker, and bulkhead to prevent cascading failures, teaching how to build resilient systems that can gracefully handle service disruptions.
11. Scalability architecture. Covers horizontal scaling, load balancing, and caching techniques, showing how to design systems that can efficiently handle growing workloads.
12. Observability in cloud systems. Focuses on logging, metrics, and distributed tracing, providing tools and methods to monitor and understand system behaviour in real time.
13. Change delivery architecture. Explores CI/CD pipelines and deployment strategies such as blue‑green and canary, teaching how to deliver updates reliably and with minimal downtime.
14. Platform engineering. Introduces internal developer platforms and multi‑tenant architectures, showing how platform design can improve developer productivity and resource efficiency in cloud environments.
15. Methods of architectural audit. Teaches how to perform engineering audits of information systems, identify risks, and prepare comprehensive architectural reports to ensure solutions meet quality and performance standards.