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


Моделирование процесса развертывания микросервисных приложений с использованием облачной инфраструктуры

Работа №120650

Тип работы

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

Предмет

сетевое и системное администрирование

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

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


Аннотация 2
Введение 5
Глава 1 Характеристика объекта автоматизации 8
1.1 Описание объекта автоматизации 8
1.2 Анализ возможных проектных решений 12
1.3 Техническое задание на разработку 16
Глава 2 Проектирование архитектуры облачной инфраструктуры для развертывания микросервисных приложений 21
2.1 Проектирование схемы инструментария для автоматической установки облачного окружения 21
2.2 Проектирование уровня бизнес-логики 30
2.3 Проектирование уровня доступа к данным 31
2.4 Проектирование слоя интеграции 33
Глава 3 Разработка архитектуры облачной инфраструктуры для развертывания микросервисных приложений 36
3.1 Развертывание элементов инфраструктуры 36
3.2. Настройка и администрирование облачного окружения 37
3.3 Тестирование разработанного решения 41
Заключение 44
Список используемой литературы 45
Приложение А Playbook установки Jenkins 47
Приложение Б Работа OpenShift 48
Приложение В Клиент-серверная архитектура 49

В настоящее время рынок облачных решений растет очень быстро, становится сложно предсказать темп его роста. Аналитические компании фиксируют ежегодно одни и те же тенденции развития: рост расходов на облачные вычисления, развитие рынка сервисов, дата-центров и увеличение трафика в облачных системах. В 2020 году был зафиксирован рост рынка публичных облаков на 11% по сравнению с 2019, что составляет около 270 миллиардов долларов.
Облачные технологии используются в различных сферах, например:
• в банковской сфере для вычислений, необходимых для построения различных отчетов в режиме реального времени;
• в расчетных организациях для автоматизированных систем расчета или биллинга;
• в телекоммуникационных компаниях для обеспечения возможности передачи сигнала;
• в поисковых системах для предсказания запросов пользователей.
Заказчиком данной работы выступил ООО «НетКрэкер» - компания, специализирующаяся на создании, внедрении и сопровождении систем эксплуатационной поддержки (OSS) для операторов связи, крупных предприятий и государственных учреждений. Компания преимущественно работает с зарубежными клиентами, от клиентов часто поступают задания по внедрению и сопровождению серверов, предоставляющих облачные технологии для вычислений. Процесс развертывания сервера включает:
• настройку виртуального окружения;
• установку операционной системы;
• настройку серверного подключения;
• настройку взаимодействия с базой или базами данных;
• настройку связующего программного обеспечения и промежуточных обработчиков;
• установку и настройку пользовательских приложений.
Таким образом, процесс первоначальной настройки сервера является трудоемкой задачей, которую можно упростить с помощью автоматически выполняемых скриптов. Скрипт-сценарий, описывающий последовательность команд, которые необходимо выполнить для достижения той или иной задачи. В нашем случае - развертывание сервера.
Как видим, работа, связанная с облачными технологиями, является актуальной в силу повсеместного их использования и роста количества задач от реальных клиентов компании «НетКрэкер».
Цель данной работы - разработка проекта моделирования процесса развертывания микросервисных приложений с использованием облачной инфраструктуры. Для достижения поставленной цели необходимо выполнить следующие задачи:
• проанализировать инструменты, решающие задачу развертывания клиентских приложений на сервере;
• разработать схему автоматизации развертывания облачного окружения;
• определить компоненты, использующие автоматизацию развертывания клиентских приложений в микросервисной архитектуре;
• определить средства выполнения пользовательских сценариев;
• разработать схемы взаимодействия с операционной системой и развернутыми автоматически приложениями для дальнейшего тестирования корректности установки;
• протестировать корректность развертывания с помощью схем взаимодействия.
В первой главе будет рассмотрен процесс развертывания сервера для облачных вычислений в ручном режиме, в рамках данной бакалаврской работы будет рассмотрен вариант автоматизации первоначальной настройки окружения. Затем будет проведен анализ на преимущества и недостатки методов монолитной и микросервисной архитектуры. Далее будет описано техническое задание для проекта моделирование процесса развертывания микросервисных приложений с использованием облачной инфраструктуры, также будет приведено описание используемых технологий в разработке согласно техническому заданию.
Во второй главе будет описано проектирование схемы инструментария, а также составляющие инструментария, взаимодействие микросервисов с базой данных. Затем в данном параграфе будет описан уровень проектирования доступа к данным. Далее будет описан слой интеграции.
В третьей главе будет выполнена базовая настройка виртуальной машины для работы с облачными технологиями. Затем будет выполнена установка Jenkins, будет создан hosts файл с описание переменных окружения. Далее будет проведена установка и настройка микросервисного приложения. Затем будут проведены предварительные и опытно - промышленные испытания.
В процессе выполнения выпускной квалификационной работы продемонстрировано обладание такими компетенциями, как готовность использовать навыки проектирования, реализации и анализа эффективности программного обеспечения для решения задач в различных предметных областях, готовность к созданию сценариев и автоматизации их.

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

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

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


Микросервисная архитектура - благодаря своим преимуществам находит все больше применений. В любом проекте есть возможности разбить задачи на модули и обеспечить независимость исполнения микросервисов.
Если проект требует возможности масштабирования, то продуманная микросервисная архитектура станет лучшим решением для построения кластера серверов.
Способность быстро организовать настроенное окружение для установки клиентского программного обеспечения влияет на разработку микросервисных приложений. Автоматизируя процесс настройки пользовательского окружения, уменьшается вероятность ошибки, связанная с человеческим фактором. При использовании технологии непрерывной интеграции микросервисное приложение способно проходить автоматическое тестирование, а при использовании технологии непрерывной доставки весь цикл обновления микросервисного приложения и его окружения будет автоматизирован. Данные обновлений поступают на сервер из инструментов контроля версий.
В заключении отметим система, созданная для автоматизации подготовки облачной инфраструктуры для развертывания микросервисных приложений, способна подготавливать клиентские машины для объединения их в кластер или задач, поставленных клиентами заказчика.
Практическая значимость бакалаврской работы состоит в автоматизации процессов развертывания облачного окружения и установки пользовательских приложений, имеющих микросервисную архитектуру.
Таким образом можно прийти к выводу, что для автоматизации эффективного развертывания приложений с микросервисной архитектурой необходимо использование файлов конфигурации, что позволит устранить необходимость в ручном вмешательстве, то есть минимизирует количество возможных ошибок.


1. Арти З. Homo Futurus. Облачный Мир: эволюция сознания и технологий. М. : Издательство АСТ, 2019. 380 с.
2. Арундел Д. Kubernetes для DevOps. Развертывание, запуск и масштабирование в облаке. П. : Питер, 2019. 384 с.
3. Докука О. Практика реактивного программирования в Spring 5. Э. : Черно-белое, 2018. 510 с.
4. Клашанов Ф. К. Вычислительные системы и сети, облачные технологии. М. : НИУ МГСУ, 2020. 40 с.
5. Максимов К. В. Эффективность использования облачных вычислений: методы и модели оценки. М. : Синергия, 2016. 113 с.
6. Маркелов А. OpenStack. Практическое знакомство с облачной операционной системой. М. : ДМК Пресс, 2017. 270 с.
7. Хасс Р. Паттерны Kubernetes. Шаблоны разработки собственных облачных приложений. П. : Питер, 2019. 320 с.
8. Хохштейн Л. Запускаем Ansible. М. : ДМК Пресс, 2018. 384 с.
9. Bahga A. Cloud Computing Solutions Architect: A Hands-On Approach: A Competency-based Textbook for Universities and a Guide for AWS Cloud Certification and Beyond. В. : VPT, 2019. 826 с.
10. Duncan C. E. Winn. Cloud Foundry: The Definitive Guide: Develop, Deploy, and Scale 1st Edition, Kindle Edition. С. : O'Reilly Media, 2017. 478 с.
11. Gilbert J. Cloud Native Development Patterns and Best Practices: Practical architectural patterns for building modern, distributed cloud-native systems. Б. : Packt Publishing, 2018. 316 с.
12. Hoff T. Explain the Cloud Like I'm 10. LG. : Possibility Outpost Inc, 2018. 239 с.
13. Jackson K. OpenStack Cloud Computing Cookbook: Over 100 practical recipes to help you build and operate OpenStack cloud computing, storage, networking, and automation. Б. : Packt Publishing, 2018. 398 с.
14. Kim G. The Phoenix Project. П. : IT Revolution Press, 2018. 432 с.
15. Kleppmann M. Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems Paperback. С. : O'Reilly Media, 2017. 616 с.
...


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



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


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