Software architecture and design

courses icon

8 courses

Domain Driven Design

Learn how DDD helps with building corporate systems with complex business logic, and apply DDD strategic tools to first decompose the subject area, and then the system being developed.

  • duration 24 hours

High-Performance Application Design

Since software developers often have to deal with problems of designing high-load systems to support big data processing with preset requirements to the response time and amount of data, this training will be useful not only for architects but also for project managers and senior developers.

  • duration 24 hours

Enterprise Integration

The main focus of training is on asynchronous messaging through queues and integration patterns, and describing the basic elements of solutions built on classic message queues, such as IBM MQ, ActiveMQ, RabbitMQ, and modern tools such as Kafka and Pulsar.

  • duration 24 hours

Cloud Applications Architecture

This course gives an overview on the topic of cloud application design. It covers basic principles of building cloud systems and additionally will discuss the primary building blocks offered by IaaS/PaaS/SaaS vendors (as well as methods and specifics of using them). During practice design sessions, we will build a virtual network, outline the application structure, and make designs to ensure quality attributes

  • duration 25 hours

Analysis Patterns in software development

The main objective of the course is to review the techniques used in designing a conceptual model for an application based on patterns. We also talk about reusing designs created within the framework of an object-oriented analysis.

  • duration 24 hours

Microservice Architecture

This course introduces the key concepts of Microservice Architecture (MSA), discussing its advantages, patterns, and deployment approaches. Students will explore the main MSA challenges, including decomposition, data consistency, performance, and scalability, with hands-on exercises in designing MSA solutions.

  • duration 24 hours

Software Architecture Methodology

This course defines the foundations of software architecture, examines the role of a software architect in developing projects, and implements practices related to the design, documentation, and analysis of software architecture.