ТОП-8 курсов «Архитектор ПО» в 2022 году: обучение онлайн. Платные и бесплатные. Рейтинг, сравнение, стоимость.

Стоимость: Рассрочка – 2 900 ₽ / мес
  • Длительность 5 месяцев
  • Готовый toolkit для входа в профессию
  • Обучение на реальных кейсах
  • Онлайн в удобное время.

Кому подойдёт этот курс:

  • Middle- и senior-разработчикам
    Разберётесь в архитектурных стилях и паттернах, научитесь планировать архитектуру будущей системы. Выйдете на новый уровень в разработке ПО, сможете получить повышение и больше зарабатывать.
  • Системным аналитикам уровня Senior
    Изучите основы проектирования архитектуры, начнёте работать с API Gateway и другими паттернами. Сможете сменить профессию и претендовать на должность архитектора ПО в крупной компании.
  • Архитекторам ПО
    Познакомитесь с лучшими практиками построения архитектуры ПО и узнаете лайфхаки от эксперта. Поработаете в команде, изучите опыт коллег, повысите свою эффективность и поймёте, как развиваться в профессии.

Чему вы научитесь:

  1. Планировать архитектуру ПО
    Познакомитесь с монолитным и распределённым стилями архитектуры. Сможете грамотно выбрать стиль в зависимости от задачи.
  2. Декомпозировать систему
    Научитесь выявлять важные характеристики системы и разделять её на компоненты исходя из функциональных и нефункциональных требований к ПО.
  3. Использовать шаблоны и фреймворки
    Познакомитесь с паттернами API Gateway, «Сага» и CQRS. Сможете решать проблемы обнаружения сервисов, управления конфигурациями и хранения событий.
  4. Проектировать API
    Подробно разберёте работу HTTP, познакомитесь с принципами REST и сможете сконструировать API.
  5. Учитывать вопросы безопасности
    Познакомитесь с основными векторами атак на веб-приложения. Научитесь работать с аутентификацией, авторизацией и изучите протокол TLS.
  6. Строить интеграцию между системами
    Узнаете об основных подходах к интеграции систем, разберётесь с интеграционными шаблонами и научитесь их применять.

Содержание курса

Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.
17 тематических модулей, 80 онлайн-уроков

  1. Основы архитектуры ПО
    Узнаете, что такое архитектура ПО и что должен уметь грамотный специалист. Разберётесь в важных аспектах архитектуры ПО и поймёте, как включить архитектурное мышление.
  2. Архитектурные стили
    Познакомитесь с фундаментальными стилями и шаблонами. Научитесь выбирать между монолитной и распределённой архитектурой в зависимости от бизнес-потребностей.
  3. Распределённая архитектура
    Изучите особенности распределённой архитектуры и познакомитесь с Service-Based Architecture, Space-Based Architecture, EDA и микросервисной архитектурой. Поймёте, как выстроить разработку микросервисов, и научитесь выбирать подходящий шаблон построения распределённой архитектуры в зависимости от задачи.
  4. Функциональная декомпозиция
    Научитесь выделять операции над системой и сервисы, которые участвуют в архитектуре, — и сможете их связывать. Узнаете, как декомпозировать задачи по бизнес-возможностям и доменной области. Поймёте, как определить верхнеуровневый API.
  5. Нефункциональные требования
    Научитесь выявлять нефункциональные требования к проекту и на их основе разделять систему на компоненты.
  6. Монолит и его рефакторинг
    Познакомитесь с классификацией интеграции приложений и разберётесь в фундаментальных проблемах интеграции между компонентами. Изучите подходы к интеграции в распредёленной архитектуре и научитесь проектировать системы с учётом особенностей каждого подхода.
  7. Проектирование API
    Подробно разберётесь в протоколе HTTP и познакомитесь с архитектурным стилем REST. Изучите стандарт OpenAPI и сможете проектировать API с его помощью.
  8. API Gateway
    Узнаете, какие проблемы решает паттерн API Gateway и какие у него функции: маршрутизация, балансировка, кеширование и другие. Сможете использовать возможности паттерна при проектировании систем.
  9. Security
    Познакомитесь с открытым проектом обеспечения безопасности веб-приложений OWASP, научитесь работать с аутентификацией, SSL и TLS. Сможете учитывать вопросы безопасности при проектировании веб-приложений.
  10. Рефакторинг монолита
    Узнаете, с какими трудностями столкнётесь при рефакторинге и как их преодолеть. Научитесь выделять части системы для переноса в микросервисы и познакомитесь с подходами к интеграции сервисов и монолита.
  11. Управление транзакциями. «Сага»
    Изучите транзакции в микросервесной архитектуре и познакомитесь с паттерном «Сага». Научитесь проектировать этот паттерн для разных задач по управлению транзакциями.
  12. EDA: Event-source и CQRS
    Познакомитесь с архитектурным стилем EDA, его плюсами и минусами. Узнаете, что такое события и инверсия зависимостей. Поймёте, как и когда применять подходы из Event Sourcing и паттерна CQRS.
  13. Service Discovery & Configuration
    Узнаете, как решить проблемы обнаружения сервисов и централизованного управления конфигурациями, на примере фреймворка Spring.
  14. Observability
    Изучите проблемы отладки системы в распределённой архитектуре и узнаете, что такое Observability и Monitoring. Познакомитесь с тремя столпами Observability — Logs, Metrics и Tracing. Узнаете, как наделить систему свойством наблюдаемости, научитесь собирать метрики, встраивать трассировку и аудировать действия пользователей.
  15. Инфраструктура и среда исполнения
    Разберётесь в инфраструктурных решениях для запуска приложений, познакомитесь с инструментами для контейнеризации и оркестрации. Сможете подобрать среду исполнения исходя из бизнес-задачи.
  16. Cloud Native Application
    Поймёте, какими свойствами должно обладать cloud-native-приложение. Получите чек-лист соответствия приложения стандартам cloud-native.
  17. Soft skills и развитие карьеры
    Научитесь эффектно презентовать архитектурные решения и работать в команде. Получите чек-лист с основными задачами архитектора и список ресурсов для саморазвития. Поймёте, как построить успешную карьеру архитектора ПО.
  18. Дипломный проект. Архитектура программного обеспечения
    Вы получите бриф на разработку архитектуры будущего ПО. Определите подходящий архитектурный стиль, подберёте инструменты для разработки и пропишете готовую архитектуру приложения.

Диплом Skillbox
Подтвердит, что вы прошли курс, и станет дополнительным аргументом при устройстве на работу.

Программа создана специально для back-end разработчиков, Team Lead и администраторов, готовых освоить Best Practice по разработке архитектуры программного обеспечения и сложных распределенных и отказоустойчивых систем.

Особенности программы

В процессе обучения мы рассмотрим множество нетривиальных проблем проектирования backend-приложений и их дальнейшего сопровождения. Изучим не только паттерны проектирования новых сервисов, но и освоим подходы к работе с legacy-сервисами. Научимся решать проблемы с согласованностью изменений (например, порядок применения транзакций) или с оркестрацией сервисов, что будет полезно тем, кто работает в сфере распределенных / децентрализованных систем.
Как разработчик, научитесь базовым навыкам работы с Kubernetes.

После обучения
Выпускники на профессиональном уровне смогут планировать архитектуру и создавать масштабируемые, fault-tolerant приложения, решая нетривиальные задачи в рамках распределенных и децентрализованных систем и используя в проектах классические паттерны проектирования (шардирование, репликация, и т.д.).

Программа обучения

Модуль 1. ИНФРАСТРУКТУРНЫЕ ПАТТЕРНЫ

  • Тема 1. Плюсы и минусы микросервисной архитектуры
  • Тема 2. Основы работы с Docker
  • Тема 3. Инфраструктурные паттерны
  • Тема 4. Основы работы с Kubernetes (часть 1)
  • Тема 5. Основы работы с Kubernetes (часть 2)
  • Тема 6. Основы работы с Kubernetes (часть 3)
  • Тема 7. Kubernetes. QA
  • Тема 8. Мониторинг и алертинг
  • Тема Prometheus. Grafana
  • Тема Service mesh на примере Istio
  • Тема 11. Авторизация и аутентификация в микросервисной архитектуре
  • Тема 12. Backend for frontends. Apigateway

Модуль 2. КОММУНИКАЦИОННЫЕ ПАТТЕРНЫ

  • Тема 13. Асинхронный и синхронный API
  • Тема 14. Event Driven Architecture
  • Тема 15. Распределенные очереди сообщений на примере Kafka
  • Тема 16. Паттерны поддержания консистентности данных (Stream processing)
  • Тема 17. GraphQL. gRPC
  • Тема 18. RESTful
  • Тема 19. Идемпотетность и коммутативность API в HTTP и очередях
  • Тема 20. Тестирование микросервисов (часть 1)
  • Тема 21. Тестирование микросервисов (часть 2)

Модуль 3. РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ

  • Тема 22. DDD и модульные монолиты. Часть 1
  • Тема 23. DDD и модульные монолиты. Часть 2
  • Тема 24. Паттерны декомпозиции микросервисов
  • Тема 25. От монолита к микросервису

Модуль 4. ДЕЦЕНТРАЛИЗОВАННЫЕ СИСТЕМЫ

  • Тема 26. Введение в распределенные системы
  • Тема 27. Распределенные транзакции
  • Тема 28. Паттерны кэширования и основные принципы
  • Тема 29. Шардирование
  • Тема 30. CP cистемы
  • Тема 31. AP системы

Модуль 5. АРХИТЕКТОР

  • Тема 32. Роль архитектора
  • Тема 33. Стоимость архитектуры. Артефакты архитектуры

Модуль 6. ИТОГОВЫЙ ПРОЕКТ

  • Тема 34. Консультация по проектам и домашним заданиям
  • Тема 35. Защита проектных работ.

Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Это отдельная работа, на выполнение которой отводится последний месяц обучения.

После обучения вы:

  1. получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)
  2. сможете планировать архитектуру и создавать масштабируемые, fault-tolerant приложения
  3. получите сертификат об окончании курса
  4. научитесь решать нетривиальные задачи, в рамках распределенных и децентрализованных систем
  5. получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения).
Стоимость: 99 600 ₽ или рассрочка до 36 месяцев – от 2 764 ₽ / мес

Курс для опытных специалистов:

  • Middle-разработчикам, чтобы заниматься архитектурой систем
  • Начинающим архитекторам систем, чтобы учиться на чужих ошибках
  • Практикующим архитекторам, чтобы систематизировать знания.

Программа обучения:

Вы начнёте с основ и получите знания, необходимые для проектирования информационных систем.
В программе пять модулей, в каждом — практические задания, тесты и онлайн-вебинары.
74 часа образовательного контента, 120 часов практики, 2 вебинара в неделю

I модуль. Введение в разработку ПО. Парадигмы программирования
Расскажем о современных парадигмах программирования, их взаимосвязи, достоинствах и недостатках.

  • Введение в понятие архитектуры и проектирование ПО
  • Введение в программирование. Принципы структурного программирования.
  • Принципы объектно-ориентированного программирования
  • Идеи функционального подхода
  • Идеи логического программирования
  • Декларативное программирование
  • Две практические встречи

II модуль. Базовые принципы проектирования. Объектно-ориентированное проектирование ПО
Расскажем об ООП и паттернах объектно-ориентированного проектирования. Вы узнаете, как строить чистые архитектуры, проектировать библиотеки и собирать ПО для бизнес-задач.

  • Принципы SOLID
  • Объектно-ориентированные паттерны: порождающие
  • Объектно-ориентированные паттерны: структурные
  • Объектно-ориентированные паттерны: поведенческие
  • Компоненты. Принципы связности и сочетаемости компонентов
  • Архитектура. Горизонтальные уровни и вертикальные срезы
  • Чистая архитектура. Принципы построения. Best Practiсes
  • Практическая встреча

III модуль. Проектирование прикладных приложений
Вы научитесь проектировать приложения с базами данных и пользовательским интерфейсом, а также организовывать передачу и обработку данных.

  • Хранение данных. Выбор способа организации хранения данных под задачу.
  • Паттерны проектирования приложений с базой данных (Repository)
  • Передача данных. Способы организации передачи данных между приложениями и их частями
  • Представление данных. Паттерны проектирования приложений с пользовательским интерфейсом
  • MVC (на примере классических MPA приложений)
  • MVP/MVVM (на примере десктопных и мобильных приложений)
  • Архитектуры SPA-приложений
  • Обработка данных. Принципы построения систем обработки данных

IV модуль. Проектирование сервис-ориентированных архитектур (SOA) и их производных
Получите навыки проектирования систем на основе сервис-ориентированной (SOA) и микросервисной архитектуры.

  • Понятие сервис-ориентированной архитектуры
  • Понятие микросервисной архитектуры
  • Способы организации взаимодействия сервисов. Протоколы. Шина.
  • Надежность, отказоустойчивость и безопасность систем
  • Горизонтальное масштабирование. Базовые подходы
  • Распределённые системы обработки информации
  • Распределённые хранилища данных
  • Вопросы идентификации, аутентификации и авторизации

V модуль. Развертывание, сопровождение, поддержка (CI/CD)
Узнаете, как управлять, развертывать, сопровождать и поддерживать информационные системы.

  • CI/CD
  • Контейнеризация (Docker)
  • Оркестрация контейнеров
  • Логирование (ELK)
  • Мониторинг (Zabbix, Prometheus, Grafana)
  • Service Discovery, конфигурирование
  • Настройка веб-серверов (NGINX)
  • Защита информации в информационных системах.

Вы получите удостоверение о повышении квалификации.

Стоимость: нет информации

Актуальность программы заключается в необходимости формирования новых знаний, умений и навыков в области программного обеспечения.

Цель реализации программы – формирование профессиональных компетенций у слушателя, необходимых для создания стабильной программной системы.

Категория слушателей по программе:
Лица, имеющие высшее или среднее профессиональное образование.

После прохождения программы слушатель должен:    

  • Обладать способностью применять современные методы анализа, обработки и представления информации;
  • Обладать способностью осуществлять научный поиск и разработку новых перспективных подходов и методов к решению профессиональных задач;
  • Обладать способностью применять на практике умения и навыки в организации исследовательских и проектных работ;
  • Обладать способностью профессионально работать с исследовательским и испытательным оборудованием.

слушатель должен знать:   

  • Законодательную базу, которая регулирует деятельность данной профессиональной сферы;
  • Существующие подходы к архитектурному обзору;
  • Отличия различных архитектурных планов;
  • Принципы построения архитектурной документации.

слушатель должен уметь: 

  • Обосновывать принятие того или иного архитектурного решения;
  • Доносить архитектурное решение до всех вовлеченных лиц;
  • Писать архитектурную документацию;
  • Рисовать архитектурные планы;
  • Проводить архитектурный обзор;
  • Разбирать конкретные примеры с точки зрения применимости технологий.

А также после прохождения программы профессиональной переподготовки слушатель должен владеть: 

  • Владеть навыками soft skills, которые необходимы для архитектурного программного обеспечения;
  • Владеть навыками работы с испытательным и исследовательским оборудованием, а также приборами в архитектурной области.

Учебный план:

  1. Архитектура программных систем. Унифицированный процесс разработки
  2. Унифицированный язык моделирование UML. Диаграммы UML
  3. Диаграммы классов UML
  4. Архитектурный анализ системы
  5. Пакеты в UML. Рабочий поток проектирования
  6. Документирование проекта архитектуры программной системы
  7. Шаблоны проектирования GRASP
  8. Реализация и развертывание ИС
  9. Архитектурные стили сетевых и распределенных программных систем
  10. Проектирование защищенных ИС
  11. Итоговая аттестация.
Стоимость: бесплатно

В проекте Capstone вы задокументируете приложение для Android на основе Java с помощью диаграмм UML и проанализируете архитектуру приложения, используя метод анализа компромисса архитектуры (ATAM).

После завершения этого курса вы сможете:

  • Сравнение и сопоставление компонентов, соединений, протоколов, топологий, ограничений, компромиссов и вариаций различных типов архитектурных стилей, используемых при проектировании
  • Опишите свойства многоуровневых и n-уровневых архитектур.
  • Создайте UML-схемы ip-пакетов, компонентов и развертывания, чтобы выразить архитектурную структуру системы.
  • Объясните поведение системы с помощью диаграмм активности UML.
  • Документируйте систему с несколькими приложениями с многоуровневой архитектурой.

Программа курса:

  1. Диаграммы архитектуры UML
    В этом модуле вы узнаете об архитектуре программного обеспечения. Вы узнаете, почему важна архитектура, какие перспективы необходимо учитывать и как передавать архитектуру с помощью UML.
  2. Архитектурные стили
    Программное обеспечение поставляется во всех формах и размерах. Выбранная вами архитектура повлияет на каждую часть вашего программного обеспечения, от его безопасности и эффективности до модульности и ремонтопригодности. В этом модуле мы рассмотрим различные архитектуры, которые вы должны выбрать, чтобы сформировать свое программное обеспечение.
  3. Архитектура на практике
    Архитектура является наиболее фундаментальным аспектом программного обеспечения. Вы узнаете, как команды разработчиков описывают архитектуры, планируют успешные архитектуры на основе атрибутов качества и оценивают полученную архитектуру. Вы также узнаете, как архитектура связана с организационной структурой и даже планированием продукта!
  4. Главный вызов
    Теперь, в заключительном модуле курса, вы оцените предлагаемую архитектуру для расширения функциональности примера базы кода Android.
Стоимость: 52 000 ₽ – 54 000 ₽

Целевая аудитория:

  • Специалисты, отвечающие за проектирование и разработку модели данных
  • Архитекторы баз данных.

В курсе разбираются наиболее важные аспекты построения корпоративных хранилищ данных, разъясняются основные понятия и принципы построения современных хранилищ, в том числе на базе принципов и технологий Big Data. Даются основанные на практическом опыте рекомендации и лучшие практики по сопровождению и развитию хранилищ на протяжении их жизненного цикла в структуре предприятия.

Успешное окончание курса позволит специалистам:

  • понимать базовые задачи Data Governance;
  • разбираться с основными положениями теории построения корпоративных хранилищ данных с учетом современных принципов и технологий Big Data;
  • определять особенности процессов построения, внедрения и эксплуатации озер данных;
  • обеспечивать качество данных и эффективной эксплуатации корпоративных репозиториев.

Расписание:

  1. Архитектура данных как часть реализации стратегии Data Centric на уровне предприятия. Роль и задачи архитектора данных. Data Governance.
  • Data Driven подход. Успехи. Проблемы. Эволюция. Внедрение Data Lake: что может пойти не так?
  • Application Centric vs Data Centric. Когда, внедряя Big Data мы приближаемся к Data Centric, а когда отдаляемся?
  • Какие проблемы мы не можем решить на уровне Data Lake/DWH. Задачи Data Governance.
  • Корпоративная модель данных (EDM) как часть Data Governance
  • Архитектор данных. Роли и задачи.
  • Стандартизация работы с данными предприятия.
  • Внедрение практик культуры работы с данными. Задачи. Процессы. Сложности
  1. Основные подходы к проектированию моделей данных ключевых компонентов Big Data-решений.
  • Обобщенная схема архитектур -решений. Требования к компонентам и моделям данных.
  • Понятие модели данных. Виды моделей данных. Их назначение и особенности.
  • Реляционная модель данных. Нормализация и денормализация.
  • Классическая концептуальная модель “сущность-связь” и ее расширения.
  • Нотации и инструменты моделирования данных. Концептуальная, логическая и физическая модели данных.
  • Ключевое отличие к построению моделей данных аналитических систем – работа со временем. Поддержка истории изменений.
  • BEAM (Business Event Activity Modeling) – подход к проектированию моделей для аналитических задач
  • Design-паттерны проектирования моделей данных
  • Моделирования ядра. Подход Data Vault. Его преимущества и ограничения. Развитие подхода.
  1. Основные подходы к проектированию моделей данных ключевых компонентов Big Data-решений. Метаданные. Эффективная загрузка данных.
  • Итеративное развитие модели данных ядра
  • Моделирование аналитических витрин. Подход Р. Кимбалла и его развитие.
  • Отраслевые примеры моделей данных.
  • Виды метаданных для аналитических систем.
  • Эффективное обновление данных. Управление загрузкой.
Стоимость: 42 500 ₽ – 51 000 ₽

В данном курсе участники знакомятся с основными понятиями и контекстом архитектуры ПО, с практикой идентификации существенных требований, проектирования, документирования и анализа, которые архитектор ПО может применять в своей работе для проектов с различной предметной областью и технологической базой.

Разбираемые темы:

  1. Введение в курс (2 часа).
  • Контекст;
  • Основные понятия;
  • Обзор дисциплины проектирования и анализа архитектур программных систем;
  • Роль архитектора.
  1. Архитектура в жизненном цикле проекта разработки ПО (2 часа).
  • Применение изученных архитектурных практик в жизненном цикле проектов разработки ПО;
  • Их сочетание с разными проектными методологиями, в т. ч. гибкими (Agile) методологиями разработки;
  • Разновидности роли архитектора, взаимодействие с ролями аналитика и менеджера проекта.
  1. Инициация проекта (3 часа).
  • Взаимосвязь архитектуры с системным окружением (техническим и организационным), заинтересованными сторонами и бизнес-целями;
  • Выявление заинтересованных сторон и бизнес-целей.
  1. Идентификация требований (4 часа).
    Формализация и приоритезация требований к характеристикам качества системы: производительность и масштабируемость, доступность, безопасность, изменчивость и пр.
  2. Проектирование архитектуры (5 часов).
  • Понятие тактики проектирования;
  • Метод проектирования архитектуры от атрибутов качества (Attribute Driven Design, ADD);
  • Процесс принятия решений, паттерны, подходы, стили;
  • Типичные тактики для достижения основных характеристик качества.
  1. Документирование архитектуры (6 часов).
  • Назначение и структура описания архитектуры;
  • Подход «точек зрения» (viewpoints) и архитектурных представлений (views);
  • Детальное рассмотрение нескольких распространённых наборов «точек зрения» (“Kruchten 4+1” и “Rozanski & Woods”);
  • Использование техник моделирования в документировании;
  • Перспективы применённых тактик для достижения требуемых характеристик качества системы;
  • Типовой шаблон описания архитектуры;
  • Использование упрощённого описания на начальных этапах проекта;
  • Применение альтернативных техник описания архитектуры ПО (C4, Сloudfront).
  1. Архитектурный анализ (8 часов).
  • Формальные процессы анализа и оценки архитектуры с вовлечением различных заинтересованных сторон;
  • Выявление принятых компромиссных решений и архитектурных рисков, дальнейшая работа с рисками;
  • Метод оценки ATAM (Architecture Tradeoff Analysis Method);
  • ARID (Active Reviews for Intermediate Designs);
  • CBAM (Cost-Benefit Analysis Method).
  1. Итог тренинга и материалы для самоподготовки.

После окончания курса выдаётся сертификат.

Стоимость: нет информации

Архитектор программного обеспечения – сложная и очень востребованная профессия. Архитектор ПО занимается разработкой (проектированием) сложнейших IT-систем, которые необходимы для решения различных бизнес-задач. Попробовать себя в новой сфере деятельности, станет возможным благодаря прохождению курсов проф. переподготовки.

Учебная программа включает в себя обширный перечень дисциплин. Перечислим основные:

  • Методология IBM;
  • Унифицированный язык, моделирование UML. Диаграммы UML;
  • Архитектурный анализ;
  • Этапы дизайнов и многое другое.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Автор статьи. Ответственный за актуальный контент, текст и редактуру сайта. Эксперт по выбору профессии, курсов и профессий с 2016 года. Делюсь личным практическим опытом.

Оцените автора
Добавить комментарий