
Madrid, Испания
ПРОДОЛЖИТЕЛЬНОСТЬ
2 Years
ЯЗЫКИ
Испанский
ТЕМП
На постоянной основе
КРАЙНИЙ СРОК ПОДАЧИ ЗАЯВОК
Запросить срок подачи заявки
САМАЯ РАННЯЯ ДАТА НАЧАЛА
Запросите самую раннюю дату начала работы
ПЛАТА ЗА ОБУЧЕНИЕ
EUR 3 550
ФОРМАТ ОБУЧЕНИЯ
Дистанционное обучение
Введение
В настоящее время становятся популярными облачные вычисления или облачные вычисления. Эта вычислительная парадигма предлагает организациям платформу для публикации приложений в Интернете. Благодаря его сервисам эти приложения могут быть более масштабируемыми, отказоустойчивыми и могут обновляться чаще и с меньшим количеством ошибок. Однако, чтобы воспользоваться преимуществами новых платформ, необходимо, чтобы приложения были разработаны и реализованы по ряду шаблонов и с использованием определенных технологий. Эти приложения, разработанные специально для этих новых платформ, называются облачными собственными приложениями, что можно перевести как облачные собственные приложения.
цели
Целью магистратуры является представление и применение методов, инструментов, платформ и передового опыта, которые позволяют разрабатывать и развертывать интернет-приложения, использующие преимущества новых тенденций, предлагаемых облачными вычислениями. В отличие от других степеней магистра в этом секторе, цель состоит в том, чтобы охватить полный жизненный цикл разработки и обслуживания приложений: методологии разработки, качество программного обеспечения, технологии реализации интернет-приложений, платформы облачных вычислений, а также контроль цикла интеграции и развертывания. По этой причине магистерская программа разделена на четыре модуля, которые охватывают все эти аспекты:
- Модуль I. Качество программного обеспечения: дизайн, архитектура, тестирование и XP.
- Модуль II: Веб-сервисы: технологии, протоколы, тесты и архитектуры.
- Модуль III: Облачные приложения
- Модуль IV: DevOps, интеграция и непрерывное развертывание
Прием
Учебный план
Модуль I. Качество программного обеспечения: дизайн, архитектура, тестирование и опыт.
- Дизайн и качество программного обеспечения
- Закономерности, знания и сложность
- Программное обеспечение, дисциплины и эволюция
- Проектирование, модульное проектирование и объектно-ориентированное проектирование
- Шаблоны и архитектура программного обеспечения
- Шаблоны проектирования
- Творческие, структурные и поведенческие модели
- Архитектура программного обеспечения
- Архитектурный стиль Мв*
- Гибкие архитектурные стили: шестиугольный, луковичный, чистый
- Тестирование программного обеспечения
- Методика тестирования
- Дизайн теста: черный ящик против белого ящика
- Модульные тесты
- Двойные результаты в тестах
- Экстремальное программирование
- Рефакторинг
- Разработка через тестирование
- Экстремальное программирование (Xp)
- Scrum
- Единый процесс разработки (Pud)
Модуль II – Веб-сервисы: технологии, протоколы, тесты и архитектуры
Продолжительность: 10 недель
Учебный план:
- Технологии и протоколы веб-сервисов
- Введение в технологии веб-сервисов
- Веб-приложения
- Спокойный Апис
- Базы данных
- Строительство и развертывание
- Реактивное программирование
- Протоколы: Rest, Grpc, Graphql и очереди
- Информационная безопасность
- Управление идентификацией
- Уязвимости в веб-сервисах
- Архитектура и шаблоны веб-сервисов
- Введение
- Узоры
- Шестиугольная и чистая архитектура
- Тестирование веб-сервисов
- Введение
- Тестирование с помощью Spring и тестовых контейнеров
- Остальные тесты API
- Контрактное тестирование, ориентированное на потребителя
- Приемочные испытания
- Нагрузочные тесты
- Тестирование интерфейса в веб-приложениях
- Персистентность и анализ данных
- Реляционная устойчивость
- Многомодельные базы данных
- Эволюция базы данных
- Нереляционное постоянство
- Введение в науку о данных
Модуль III. Облачные приложения
Продолжительность: 12 недель
Учебный план:
- Облачные вычисления
- Введение
- Amazon Web Services
- Облачные сервисы
- Платформа как услуга
- Облачные приложения
- Бессерверный
- операции
- Безопасность и конфиденциальность в облаке
- Контейнеры и оркестраторы
- Докер-контейнеры
- Докер Составление
- Докер Безопасность
- Кубернетес
- Безопасность в Кубернетесе
- Приложения Kubernetes с Helm
- Инструменты разработки с Kubernetes
- Масштабируемость и отказоустойчивость
- Microservices
- Введение в микросервисы
- Архитектуры: Ddd, Cqrs и источник событий.
- Шаблоны микросервисов
- Связь между службами
- Сага Транзакции
- Внешний API
- От монолита к микросервисам
Модуль IV. DevOps, интеграция и непрерывное развертывание
Продолжительность: 6 недель
Учебный план:
- Репозитории и модели разработки
- Жизненный цикл программного обеспечения
- Контроль версий Git
- Модели разработки: Gitflow и Tbd
- Разработка с Monorepo
- Непрерывная интеграция и доставка
- Введение
- Ci Services: Github Actions и Jenkins
- Статический анализ кода
- Управление артефактами
- Непрерывное развертывание
- Введение
- Параллельные изменения
- Постепенное развертывание: сине-зеленый и канарский
- Инструменты непрерывного развертывания
- Тесты в производстве
Заключительный магистерский проект
После изучения всех предметов вам нужно написать магистерскую диссертацию (Tfm). В этой работе полученные знания применяются и развиваются. Это не маленький «игрушечный» проект, а скорее идеальный повод углубиться в интересующую студента тему. Учителя предлагают ряд тем, но ученики также могут предлагать проекты, которые их мотивируют. Например, та технология, которую у вас никогда не будет времени глубоко изучить, реализовать конкретную архитектуру, которую вы задумали для чего-то, что вы делаете на работе, сравнить различные альтернативы и т. д. Выпускные магистерские проекты могут выполняться индивидуально или в Группы студентов, что позволяет им идти дальше в достижении своих целей.
Результат программы
Общие навыки:
- CG1: Способность задумывать, писать, организовывать, планировать и развивать проекты в области компьютерной инженерии, целью которых является концепция, разработка или эксплуатация компьютерных систем, услуг и приложений.
- CG2: Способность определять, оценивать и выбирать аппаратные и программные платформы для разработки и выполнения компьютерных систем, услуг и приложений в соответствии с приобретенными знаниями.
- CG3: Способность задумывать и разрабатывать централизованные или распределенные компьютерные системы или архитектуры, интегрирующие аппаратное обеспечение, программное обеспечение и сети, в соответствии с приобретенными знаниями.
- CG4: Способность решать проблемы, проявляя инициативу, принятие решений, самостоятельность и творческий подход. Способность уметь общаться и передавать знания, навыки и умения в области разработки и внедрения программных приложений.
- CG5: Знания для проведения измерений, расчетов, оценок, оценок, экспертных заключений, исследований, отчетов, планирования задач и других подобных компьютерных работ в соответствии с полученными знаниями.
- CG6: Учащиеся должны иметь возможность собирать и интерпретировать соответствующие данные для вынесения суждений, включающих размышления о соответствующих проблемах социального, технического, научного или этического характера.
Специфические навыки:
- CE1: Способность применять методологии разработки программного обеспечения. Особенно экстремальное программирование с его ценностями, принципами и передовым опытом.
- CE2: Способность следовать рекомендациям чистого кода (чистого кода) и хорошего объектно-ориентированного проектирования для создания качественного кода.
- CE3: Способность разрабатывать и реализовывать тесты программного обеспечения для руководства разработкой программного обеспечения и обеспечения его качества.
- CE4: Возможность улучшить качество кода, чтобы его можно было расширять.
- CE5: Способность эффективно использовать библиотеки и фреймворки (фреймворки) для разработки интернет-приложений.
- CE6: Способность разрабатывать и реализовывать протоколы связи для интернет-приложений.
- CE7: Возможность выбрать наиболее подходящий архитектурный стиль для реализации интернет-приложений, которые легко обслуживать и легко тестировать в автоматическом режиме.
- CE8: Способность проектировать, внедрять и выполнять функциональные и нефункциональные тесты интернет-приложений.
- CE9: Возможность включения наиболее подходящих механизмов аутентификации и авторизации пользователей в интернет-приложения.
- CE10: Способность использовать передовой опыт, чтобы избежать уязвимостей и смягчить их последствия в случае их эксплуатации.
- CE12: Способность моделировать данные приложений и их отношения, используя как реляционные, так и нереляционные технологии баз данных.
- CE13: Возможность выбора наиболее подходящих технологий сохранения данных в зависимости от потребностей приложения.
- CE14: Способность знать, как ведет себя распределенная, масштабируемая и отказоустойчивая постоянная система.
- CE15: Способность разрабатывать процессы обновления для производственных приложений, которые требуют изменений в структуре данных, не влияя при этом на предоставление услуги.
- CE16: Способность знать основные технологии, используемые в области науки о данных, и какие услуги они предлагают для реализации приложений.
- CE17: Способность оценивать и выбирать наиболее подходящих услуг поставщика облачных вычислений для интернет-приложения, исходя из его потребностей.
- CE18: Способность использовать инфраструктурные технологии в качестве кода для управления компьютерными системами и знать их преимущества по сравнению с традиционными моделями.
- CE19: Возможность использовать контейнеры для упаковки и распространения интернет-приложений.
- CE20: Способность эффективно использовать систему оркестрации контейнеров для развертывания и управления интернет-приложениями на основе контейнеров.
- CE21: Возможность постепенного обновления приложения в оркестраторе контейнеров без прекращения обслуживания.
- CE22: Способность разрабатывать и внедрять приложения с использованием услуг, предоставляемых облачными провайдерами, таких как электронная почта, базы данных, хранилище файлов и т. д.
- CE23: Способность проектировать, внедрять и использовать системы наблюдения для управления приложениями в производстве.
- CE24: Способность разрабатывать и внедрять масштабируемые и отказоустойчивые приложения с использованием служб репликации и балансировки нагрузки, предоставляемых облачными провайдерами и оркестраторами контейнеров.
- CE25: Способность эффективно применять архитектуру на основе микросервисов для реализации интернет-приложения.
- CE26: Способность проектировать и реализовывать приложение, используя функциональные платформы как услугу, и определять, когда они подходят по сравнению с другими альтернативами.
- CE27: Способность знать набор практик DevOps для автоматизации процессов между командами разработки и эксплуатации.
- CE28: Способность знать и выбирать различные существующие альтернативы для реализации системы непрерывной интеграции и развертывания.
- CE29: Возможность определять задачи в системах непрерывной интеграции и развертывания для автоматизации жизненного цикла исходного кода с момента его добавления в репозиторий кода до его публикации в рабочей среде.
- CE30: Возможность управлять артефактами, полученными из исходного кода, на протяжении всего его жизненного цикла и различных типов зрелости (релиз, бета-версия, моментальный снимок и т. д.).
- CE31: Способность эффективно использовать доступные инструменты и технологии для обновления производственного приложения без сбоев обслуживания и ошибок.