Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА ВЫСОКОУРОВНЕВОЙ АРХИТЕКТУРЫ ЦИФРОВОЙ ПЛАТФОРМЫ "CODEHEDGEHOG"

Работа №189182

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы54
Год сдачи2021
Стоимость4540 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
24
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
Глоссарий 5
Введение 6
1 Выявление и анализ требований 8
1.1 Высокоуровневая архитектура предыдущей системы 8
1.2 Требования к платформе 10
2 Практики DevOps 12
2.1 Архитектурно значимые практики 13
2.1.1 Docker 14
2.1.2 Kubernetes 15
2.2 Практики эксплуатации 17
2.2.1 Gitlab 18
2.2.2 ELK 18
2.2.3 Prometheus 19
2.2.4 Grafana 21
3 Архитектура платформы 22
3.1 Протоколы взаимодействия 22
3.2 Client WebApp 23
3.3 TestNode 25
3.4 MasterNode 27
3.5 TestBank 29
3.6 CheckerBuilder 30
4 Развертывание системы 32
4.1 Сборка компонентов системы 33
4.2 Описание инфраструктуры как код 35
4.3 Доставка приложения 36
5 Результаты 41
Заключение 49
Список используемой литературы 50
ПРИЛОЖЕНИЕ А. ИСХОДНЫЙ КОД 52


В связи с последними событиями, происходящими в мире, все сильнее усиливается влияние тренда доступности и качества дистанционного образования. Традиционно во многих учебных заведениях прием задач по дисциплинам, связанным с алгоритмическим программированием, происходит в формате очной сдачи исходного кода решения задачи преподавателю с последующим ручным тестированием данного кода все тем же преподавателем.
Частичная автоматизация и цифровизация процесса проверки работ учащихся потенциально позволит добиться следующих результатов:
• уменьшение загруженности профессорско-преподавательского состава путем автоматизации части его работы;
• предоставление возможности удаленной работы как для студентов, так и для профессорско-преподавательского состава;
• предоставление профессорско-преподавательскому составу возможности использования при проверке дополнительных метрик качества кода (точное процессорное время работы программы, объем используемой оперативной памяти и т. д.).
В Томском государственном университете уже действовала система с функционалом автоматической проверки работ в процессе обучения алгоритмическому программированию, но она имела множество недостатков как в технической реализации, так и с точки зрения бизнес-процессов [2]. В связи с этим было принято решение о создании новой платформы. Специфика разработки цифровых платформ, основанных на трансформации взаимодействия различных участников одного (основного) бизнес- процесса, заключается в решении двух связанных между собой задач. С одной стороны, необходимо реализовать устойчивое и безотказное функционирование набора бизнес- транзакций, входящих в основанной бизнес-процесс. С другой, необходимо обеспечить набор связанных между собой сервисов, обеспечивающих пользовательское окружение основного бизнес-процесса. Представленная работа, посвящена решению первой из перечисленных выше задач. Таким образом,
Целью данной работы является разработка отказоустойчивой высокоуровневой архитектуры цифровой платформы, способствующей цифровой трансформации процесса обучения студентов основам алгоритмического.
Для реализации данной цели были выделены следующие задачи:
1) проанализировать архитектуру предыдущей версии системы;
2) спроектировать высокоуровневую архитектуру платформы с учетом опыта предыдущей версии;
3) реализовать масштабируемую отказоустойчивую архитектуру платформы;
4) внедрить механизмы по автоматизации процессов сборки и развертывания компонентов платформы;
5) проанализировать полученные результаты.
Решению данных задач и посвящена данная выпускная квалификационная

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В рамках данной работы были решены поставленные задачи:
• платформа была спроектирована, реализована и введена в эксплуатацию на базе Томского государственного университета в рамках проекта «Цифровой университет» и деятельности научно-образовательного центра «Высшая IT-Школа» (HITs), а также на базе Тюменского государственного университета и деятельности института «Школа перспективных исследований» (SAS);
• реализованы механизмы, обеспечивающие автоматическую сборку и доставку приложений, а также элементы для синхронизации состояний различных сред окружения.
Таким образом, цель - разработка отказоустойчивой высокоуровневой архитектуры цифровой платформы, способствующей цифровой трансформации процесса обучения студентов основам алгоритмического - достигнута.
Разработанное решение позволяет дополнять функционал платформы, что и планируется осуществить в будущем.
На момент написания ВКР, представленная платформа доступна по адресу https://code.hits. university/.


1. Подходы к определению и типизации цифровых платформ | АНО «Цифровая экономика». - [М.], 2018. - URL: https://files.data-economy.ru/digital platforms project.pdf (дата обращения: 21.05.21).
2. Артамонов И. В. Бизнес-транзакции: характеристики и отличительные особенности // Научный журнал «Бизнес-информатика». 2012. №2(20). С. 29-34.
3. Drupal - Open Source CMS | Drupal.org. [Б. м.]. - URL: https://www.drupal.org/ (дата обращения: 21.05.21)
4. Система ejudge - EJudgeWiki. [Б. м.]. - URL:
https://ejudge.ru/wiki/index.php/Система ejudge (дата обращения: 21.05.21).
5. DevOps: A Software Architect's Perspective (SEI Series in Software Engineering) 1st Edition / Len Bass, Ingo Weber, Liming Zhu : Addison-Wesley Professional, 2015. - 352 p.
6. Википедия: 1) DevOps - Википедия. [Б. м.]. - URL:
https://ru.wikipedia.org/wiki/DevOps (дата обращения: 27.01.21). 2) Docker - Википедия. [Б. м.]. - URL: https://ru.wikipedia.org/wiki/
Docker (дата обращения: 27.01.21).
7. What is DevOps? | Atlassian. [Б. м.]. - URL: https://www.atlassian.com/devops (дата обращения: 27.01.21)
8. Что такое DevOps? - Amazon Web Services (AWS). [Б. м.]. -
URL: https://aws.amazon.com/devops/what-is-devops/?nc1=h ls (дата обращения: 21.05.21)
9. Docker Documentation: 1) Docker overview | Docker Documentation. [Б. м.]. -
URL: https://docs.docker.com/get-started/overview/ (дата обращения: 27.01.21) 2) About
storage drivers | Docker Documentation. [Б. м.]. -
URL: https://docs.docker.com/storage/storagedriver/#images-and-layers (дата обращения: 27.01.21). 3) Overview of Docker Compose | Docker Documentation. [Б. м.]. - URL:
https://docs.docker.com/compose/ (дата обращения: 27.01.21).
10. Kubernetes: 1) Kubernetes. [Б. м.]. - URL: https://kubernetes.io/ru/ (дата
обращения: 27.01.21) 2) Компоненты Kubernetes | Kubernetes. [Б. м.]. -
URL: https://kubernetes.io/ru/docs/concepts/overview/components/ (дата обращения: 27.01.21).
11. namespaces(7) - Linux manual page. [Б. м.]. - URL: https://man7.org/linux/man- pages/man7/namespaces.7.html (дата обращения: 21.05.21)
12. Gitlab: 1) DevOps Platform Delivered as a Single Application | GitLab. [Б. м.]. - URL: https://about.gitlab.com/ (дата обращения: 27.01.21). 2) Source Code Management |
GitLab. [Б. м.]. - URL: https://about.gitlab.com/stages-devops-lifecycle/source-code-
management/ (дата обращения: 27.01.21). 3) Features | GitLab. [Б. м.]. - URL: https://about.gitlab.com/features/ (дата обращения: 27.01.21).
13. Elastic: 1) ELK Stack: Elasticsearch, Logstash, Kibana | Elastic. [Б. м.]. -
URL: https://www.elastic.co/what-is/elk-stack (дата обращения: 27.01.21). 2) Kibana Query Language | Kibana Guide [master] | Elastic. [Б. м.]. - URL:
https://www.elastic.co/guide/en/kibana/master/kuery-query.html (дата обращения: 27.01.21).
14. Что такое ELK: применение Elasticsearch, Logstash и Kibana в Big Data. [Б. м.]. - URL: https://www.bigdataschool.ru/blog/what-is-elk.html (дата обращения: 27.01.21).
15. Prometheus - Monitoring system & time series database. [Б. м.]. - URL:
https://prometheus.io/ (дата обращения: 27.01.21).
..22


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ