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


РАЗРАБОТКА ИНФРАСТРУКТУРЫ И СЕРВЕРНОГО ПРИЛОЖЕНИЯ ДЛЯ ПРОЕКТА «МОНИТОРИНГ 1Т-КОНФЕРЕНЦИЙ»

Работа №100183

Тип работы

Дипломные работы, ВКР

Предмет

информационные системы

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

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


РЕФЕРАТ 4
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 6
ВВЕДЕНИЕ 8
1 ОПИСАНИЕ ИНФРАСТРУКТУРНЫХ КОМПОНЕНТОВ И
СЕРВЕРНОЙ ЧАСТИ ПРИЛОЖЕНИЯ ДЛЯ ПРОЕКТА «МОНИТОРИНГ 1Т-КОНФЕРЕНЦИЙ» 11
2 ВЫБОР СРЕДСТВ РАЗРАБОТКИ 12
2.1 Выбор оркестратора контейнеров 13
2.2 Выбор платформы для хранения постоянных данных 14
2.3 Выбор реляционной системы управления базами данных 15
2.4 Выбор языка программирования и фреймворка для серверного
приложения 17
3 ТЕХНИЧЕСКОЕ ЗАДАНИЕ 20
4 ПРОЕКТИРОВАНИЕ И НАСТРОЙКА ИНФРАСТРУКТУРЫ 23
5 РАЗРАБОТКА СЕРВЕРНОГО ПРИЛОЖЕНИЯ 32
6 ТЕСТИРОВАНИЕ И ВНЕДРЕНИЕ ПРИЛОЖЕНИЯ 37
ЗАКЛЮЧЕНИЕ 46
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 48
ПРИЛОЖЕНИЕ А 51
ПРИЛОЖЕНИЕ Б 56
ПРИЛОЖЕНИЕ В 59
ПРИЛОЖЕНИЕ Г 62
ПРИЛОЖЕНИЕ Д 64
ПРИЛОЖЕНИЕ Е 69 


На текущий момент рынок профессиональной подготовки 1Т-кадров преимущественно представлен в виде онлайн-курсов и конференций. Онлайн- курсы, в основном, являются выбором начинающих разработчиков и позволяют заложить фундамент для дальнейшего обучения, тогда как конференции являются источником углубленных знаний для состоявшихся профессионалов.
В последние несколько лет классические поездки конференции стали вытесняться онлайн-трансляциями, в виду удобства для желающих послушать доклады, не выезжая в другой город.
При желании просмотреть доклады с прошедших конференций пользователям приходится искать необходимую информацию (запись лекции, материалы) на сайтах конференций и мероприятий. Однако это не всегда удается, так как организаторы конференций могут размещать видео не на сайтах, а на YouTube каналах. В таком случае пользователям приходится искать видео в сети Интернет самостоятельно. Это легко сделать, если пользователь знает название доклада и спикера, но появляются проблемы, когда интерес пользователя предоставляет определенное направление без привязки к конкретной конференции.
В данной работе описывается построение инфраструктурных компонентов и серверного приложения бизнес-логики для проекта «Мониторинг 1Т-конференций» в соответствии с современными тенденциями и подходами.
Проект «Мониторинг 1Т конференций» предназначен для сотрудников и работодателей компаний для поиска материалов конференций, а также для пользователей в сфере 1Т, которые следят за выступлениями и докладами коллег. В рамках проекта реализуется сервис, в котором будут храниться видео с распределением по конференциям и системой тегов для быстрого поиска необходимого контента.
Данная работа является актуальной, поскольку сообществу сервис агрегирования материалов конференций для упрощения доступа и поиска профессиональных знаний необходим, а продукта, который это делает в должном объеме, нет.
В качестве основного подхода разработки используется DevOps[1].
В современном мире разработки развитие подхода DevOps привело к новым требованиям к инфраструктуре и построению приложений.
Один из современных подходов в разработке информационных систем предполагает использование систем контейнеризации приложений для создания изолированного окружения.
Первым плюсом данного подхода является независимость окружения каждого приложения от установленных на исполняющей контейнеры ЭВМ программ, что обеспечивает прозрачность и предсказуемость работы приложения и защищает от пересечения зависимостей разных версий.
Вторым плюсом является наличие механизмов управления и отслеживания жизненного цикла контейнеров. Современные системы управления контейнерами (Docker Swarm [2], OpenShift [3], Kubernetes [4], Nomad [5]) позволяют контролировать состояние приложения внутри контейнера через настраиваемый механизм проверок и перезапускать нерабочие контейнеры.
Третьим плюсом является декларативная система конфигурирования развертывания приложения. При развертывании требуется указать новую конфигурацию, и оркестратор приведет систему к нужному состоянию, что позволяет избежать ошибок при императивном написании команд.
Немаловажным плюсом является возможность запускать оркестратора контейнеров на нескольких ЭВМ, соединенных общей сетью. Использование оркестратора в режиме нескольких узлов обеспечивает бесперебойную работу контейнеров и их перемещение на свободные узлы в случае отказа одного из них.
Целью ВКР является проектирование и настройка инфраструктуры, создание приложения бизнес-логики для проекта «Мониторинг 1Т- конференций».
Для достижения поставленной цели необходимо решить следующие задачи:
• выбор оптимальных средств разработки с учетом планируемого функционала и потребностей системы;
• создание архитектуры инфраструктуры и проведение настройки;
• создание приложения бизнес-логики;
• тестирование и проверка интеграции компонентов.
Методы исследования включают в себя:
• анализ, сравнение, систематизацию и обобщение данных о существующих и разработанных инфраструктурных компонентах;
• апробация современных подходов при построении архитектуры инфраструктуры.
Теоретической основой исследования стали:
• современные концепции и технологии построения инфраструктуры;
• документация к инфраструктурным компонентам.

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

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

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


Во время выполнения ВКР были осуществлены следующие мероприятия:
1) описаны в общем инфраструктурные компоненты для размещения и функционирования сервиса и функционал серверного приложения;
2) осуществлен выбор технологий для оркестратора контейнеров, системы хранения постоянных данных, системы управления реляционными базами данных, языка программирования и фреймворка для разработки API;
3) создано техническое задание, описывающие инструменты для конфигурации виртуальных машин, требования к инфраструктуре и ее компонентам, процессы развертывания и хранения реквизитов доступа, экспортирование сервисов наружу инфраструктуры, требования к HTTP API для серверного приложения и приложению администратора;
4) спроектирована и настроена инфраструктура на базе оркестратора контейнеров Kubernetes, Rook Ceph, Ingress. Созданы Ansible роли для конфигурации виртуальных машин с Gitlab Runner и Kubernetes. Развернута виртуальная машина в режиме master/worker с инсталляцией Kubernetes на базе microk8s. Сконфигурирован Gitlab Runner для выполнения процессов сборки и развертывания приложения. Развернут Rook Ceph в режиме предоставления 83-совместимого API и блочного хранилища данных. В Kubernetes развернуты инсталляции PostgreSQL, RabbitMQ, использующие блочные хранилища данных Rook Ceph;
5) в соответствии с техническим заданием разработано серверное приложение на языке Python с использованием фреймворка Django, предоставляющее HTTP API для клиентского приложения и интерфейс администратора на базе django-admin; Написаны файлы конфигурации Kubernetes типов Deployment и Service для развертывания приложения внутри инфраструктуры. Создана конфигурация Gitlab CI/CD для выполнения этапов сборки приложения и развертывания контейнеров внутри Kubernetes. Написан Dockefile для упаковки приложения;
6) проведено тестирование компонентов приложения и инфраструктуры и их интеграции.
В результате разработанный сервис удовлетворяет поставленным целям и требованиям из технического задания и будет развиваться в будущем.
1) Будущими мероприятиями для развития будут являться:
2) внедрение системы платных подписок и покупки
видеоматериалов конференций;
3) создание механизма ленты событий по будущим
конференциям;
4) покупка домена для размещения приложения;
5) создание механизма обсуждения конференции и ее материалов.



1. Статья Amazon Web Services «Что такое DevOps» - URL: https://aws.amazon.com/ru/devops/what-is-devops(Дата обращения 2021-02-02)
2. Документация Docker Swarm - URL: https://docs.docker.com/engine/swarm(Дата обращения 2021-02-03)
3. Документация Openshift - URL:
https://www.openshift.com/learn/what-is-openshift(Дата обращения 2021-02-05)
4. Документация Kubernetes - URL: https://kubernetes.io/docs/home/(Дата обращения 2021-02-06)
5. Документация Nomad - URL: https://www.nomadproject.io/docs/(Дата обращения 2021-02-09)
6. Рейтинг оркестраторов контейнеров G2 - URL:
https://www.g2.com/categories/container- orchestration?tab=highest_rated(Дата обращения 2021-02-10)
7. Обзор Amazon Elastic Container Service - URL:
https://aws.amazon.com/ru/ecs/(Дата обращения 2021-02-13)
8. Обзор Kubernetes - URL: https://kubernetes.io(Дата обращения 2021-02-15)
9. Обзор Mirantis Kubernetes Engine - URL:
https://www.mirantis.com/software/docker/kubernetes/ (Дата
обращения 2021-02-16)
10. Лицензия Apache License 2.0 - URL:
https://www.apache.org/licenses/LICENSE-2.0(Дата обращения 2021-02-18)
11. Документация Kubernetes Custom Resource Definition - URL: https://kubernetes.io/docs/concepts/extend-kubernetes/api- extension/custom-resources/(Дата обращения 2021-02-19)
12. Документация kubeadm - URL:
https://kubernetes.io/docs/setup/production- environment/tools/kubeadm/create-cluster-kubeadm/ (Дата
обращения 2021-02-20)
13. Репозиторий kubespray - URL: https://github.com/kubernetes- sigs/kubespray(Дата обращения 2021-02-20)
14. Документация microk8s - URL: https://microk8s.io(Дата обращения 2021-02-20)
15. Документация Kubernetes StorageClass - URL: https://kubernetes.io/docs/concepts/storage/storage- classes/#provisioner(Дата обращения 2021-02-21)
16. Документация Ceph - URL: https://ceph.io(Дата обращения 2021¬03-04)
17. Документация Rook - URL: https://rook.io(Дата обращения 2021¬03-06)
18. Web-страница организации Cloud Native Computing Foundation - URL: https://www.cncf.io(Дата обращения 2021-03-08)
19. Статья «The Transactional Concept: Virtues and Limitations» - URL: https://jimgray.azurewebsites.net/papers/theTransactionConcept.pdf(Дата обращения 2021-03-15)
20. Рейтинг DB-Engines - URL: https://db-engines.com/en/ranking(Дата обращения 2021-03-20)
21. Индекс TIOBE - URL: https://www.tiobe.com/tiobe-index/(Дата обращения 2021-03-22)
22. Рейтинг PYPL - URL: https://pypl.github.io/PYPL.html(Дата обращения 2021-03-27)
23. Документация Gitlab Runner - URL: https://docs.gitlab.com/runner/(Дата обращения 2021-04-12)
24. Документация Ansible - URL: https://www.ansible.com(Дата обращения 2021-04-15)
25. Документация Helm - URL: https://helm.sh(Дата обращения 2021¬04-20)
26. Документация Kubernetes Secrets - URL:
https://kubernetes.io/docs/concepts/configuration/secret/ (Дата
обращения 2021-04-21)
27. Документация Kubernetes Ingress - URL: https://kubernetes.io/docs/concepts/services-networking/ingress/(Дата обращения 2021-04-24)
28. Документация Kubernetes Service - URL: https://kubernetes.io/docs/concepts/services-networking/service/(Дата обращения 2021-04-25)
29. Документация библиотеки Django-storages - URL: https://django- storages.readthedocs.io/en/latest/(Дата обращения 2021-04-27)


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



Подобные работы


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