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


Проектирование виртуальных серверов на основе технологии контейнеризации и каналов передачи данных

Работа №120922

Тип работы

Магистерская диссертация

Предмет

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

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

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


Введение 4
Глава 1 Описание методов разработки с использованием технологий виртуализации 8
1.1 Описание архитектуры проекта 8
1.2 Микросервисная архитектура 11
1.2.1 Основные компоненты микросервиса 14
1.2.2 Сравнение сервис ориентированной и микросервисной архитектуры 15
1.3 Технология виртуализации 18
1.4 Современные технологии виртуализации 19
1.4.1 Эмуляция оборудования 19
1.4.2 Аппаратная виртуализация 21
1.4.3 Паравиртуализация 23
1.4.4 Виртуализация на уровне операционной системы 26
1.5 Микросервисная архитектура и виртуализация на уровне ОС 30
Глава 2 Проектирование схем взаимодействия элементов платформы с использованием технологии контейнерной виртуализации 36
2.1 Облачная платформа компании Netcracker 37
2.1.1 Разделение приложения на микросервисы 37
2.1.2 Сервисы авторизации и механизм обнаружения служб 42
2.1.3 Сервис кастомизации веб-приложения и сервис кеширования статических данных 45
2.2 Модель взаимодействия микросервисов в облачной платформе, использующей каналы передачи данных компании Netcracker 50
2.2.1 Виды каналов связи для взаимодействия микросервисов между собой 53
2.2.2 IPC на основе запросов и ответов 57
2.2.3 Формат ответов сообщений HTTP запросов 58
2.3 Основные критерии при работе с контейнерами 59
2.3.1 Выбор контейнерного движка 61
2.3.2 Образы и контейнеры 62
Глава 3 Представление авторского решения поставленной в исследовании проблемы 66
3.1 Создание микросервиса Shopping Portal 66
3.2 Создание и запуск контейнера Shopping Portal 69
3.3 Сопровождающие технологии и инструменты для сборки и управления контейнерами 75
3.4 Управление контейнерами в облачной платформе Netcracker 79
3.4.1 Анализ оркестратора контейнеров Openshift 80
3.4.2 Взаимодействие между сервисами в openshift 85
Заключение 89
Список используемой литературы 92
Приложение А Элементы необходимые для разработки системы работающей на микросервисной архитектуре 96
Приложение Б Элементы, относящиеся к облачной платформе компании Netcracker 102
Приложение В Элементы относящиеся к инструментам автоматизации процесса сборки и деплоя контейнеров 104
Приложение Г Элементы платформы, относящиеся к конфигурации оркестратора автоматизированной работы контейнеров 105

В настоящий момент множество компаний, занимающихся разработкой программного обеспечения обращаются к технологии виртуализации для проектирования масштабируемых, отказоустойчивых и полнофункциональных систем, которые также будут более оптимальны для компании с экономической точки зрения и иметь высокую конкурентоспособность в быстро развивающейся бизнес-модели на основе облачных сервисов, как об этом писал Лапидус Л. В [11].
Актуальность и научная значимость настоящего исследования заключается в том, что в наше время, поскольку в связи с эпидемиологической ситуацией возникает высокая потребность вести бизнес в интернете, что приводит к большому притоку пользователей, как на новые системы, так и на старые. В данной работе проводятся исследования различных технологий виртуализации и архитектуры по разработке программного обеспечения, соблюдающая критерии высокого показатели отказоустойчивости системы, производительности и гибкости развёртывания.
Главная проблема состоит в поиске необходимой технологии, способной решить ряд вопросов, возникших в связи с эпидемиологической ситуацией в мире у компаний, занимающихся ведением бизнеса в интернете. Дело в том, что по уже названным причинам, огромное количество пользователей начало производить покупки, или действия в цифровом сегменте, повлёкшие к перегрузке систем. Для решения данной проблемы различные компании начали масштабировать аппаратное обеспечение, что привело к огромным затратам средств, соответственно у большого количества компаний появилось противоречие в плане проектирования своих систем, что привело к вопросу о более эффективном применении технологий, чтобы снизить затраты.
Гипотезой исследования является то, что технология контейнерной виртуализации вместе с применением микросервисной архитектуры позволяет разрабатывать крупные веб-приложения, соответствующие критериям высокой производительности системы, отказоустойчивости и гибкости.
Объектом исследования является технология контейнерной виртуализации как базовая технология для разработки крупных облачных решений, используемая в микросервисной архитектуре.
Предмет исследования в данной работе является облачная платформа компании Netcracker, которая сочетает в себе применение микросервисной архитектуры и технологии контейнерной виртуализации. Данная платформа демонстрирует высокие показатели производительности и отказоустойчивости системы.
Целью исследования в данной работе являются технологии контейнерной виртуализации и возможности микросервисной архитектуры для разработки облачной платформы, в которой будут решены проблемы высокой производительности, гибкости развёртывания и отказоустойчивости.
Для достижения поставленной цели необходимо решить следующие задачи:
• Выполнить статистические задачи оценки существующих и перспективных требований к объекту исследования.
• Привести методологические и теоретические задачи раскрытия предмета исследования.
• Выполнить экспериментальные задачи, подтверждающие достоверность гипотезы, а также предоставить практические примеры выявления эффективности решения.
Для решения поставленных задач диссертации необходимо произвести анализ существующих технологий с указанием в сравнении с аналогами, для описания выбора конкретного инструмента для разработки. После этого необходимо произвести проектирование схем, моделирующих работу программного обеспечения, после чего описать процесс разработки.
Научная новизна исследования состоит в том, что облачная платформа компании Netcracker способна предоставить конечному заказчику не только решение по продаже цифровых продуктов, но гибкое, видоизменяемое веб-приложение, которое может быть в короткий срок подстроено под нужды определённого сектора бизнеса, и в короткий срок выведено в эксплуатацию.
Правильное использование возможностей виртуализации, позволяет создавать и поддерживать крупные и сложные системы, наделённые высокой гибкостью, эффективностью, удобством в сопровождении и большой продуктивностью. В основном под виртуализацией подразумевается запуск нескольких операционных систем на одном компьютере, но при этом вместе с совместным использованием всех аппаратных ресурсов.
Практика разработки облачной платформы на основе технологии контейнерной виртуализации с использованием микросервисной архитектуры должна принести практическую значимость коммерческих организаций, в чьих требованиях присутствует разработка отказоустойчивой и гибкой масштабируемой системы.
На защиту выносятся:
• Исследование технологий виртуализации и способы их применения.
• Диаграммы, относящиеся к разработке облачной платформы, основанной на технологии контейнерной виртуализации и микросервисной архитектуре.
• Часть приложения облачной платформы «Netcracker» разработанное на технологии контейнерной виртуализации.
Как говорил Макс Плаф [28], виртуализация играет очень важную роль в технологии облачных вычислений. Обычно в облачных вычислениях, пользователи обмениваются данными, присутствующими в приложениях, развёрнутых на облаках. «Облако», или облачная вычислительная система, является онлайн-хранилищем, состоящая из большого количества серверов, объединённых в одну общую сеть. Доступ к этому хранилищу осуществляется через специальные сайты или приложения. Но фактически с помощью технологии виртуализации, происходит разделение данной инфраструктуры для достижения гибкости и устойчивости системы.
Тенденции развития облачных технологий и технологий виртуализации активизировали работу по предоставлению программных решений на основе облачных вычислений у компаний, специализирующихся в области предоставления электронных услуг. Одной из таких компаний является компания Netcracker.
Netcracker Technology - дочерняя компания корпорации NEC, специализирующаяся на создании, внедрении и сопровождении систем эксплуатационной поддержки (OSS), систем поддержки бизнеса (BSS), а также SDN/NFV-решений для операторов связи, крупных предприятий и государственных учреждений.
Десятилетия решения компании Netcracker BSS и OSS, которые не являются масштабируемыми и слишком сложными для дальнейшей работы, препятствуют конкурентоспособности. В связи с проблемой существенного риска в масштабных преобразованиях системы, поставщики услуг теперь часто стремятся начать с не большой системы и масштабировать её под свои нужды. Направление облачных технологий должно стать необходимым шагом для обеспечения бизнеса и операций следующего поколения за счет повышения гибкости, безопасности, надежности и масштабируемости. Данное решение носит название облачная платформа Netcracker.

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

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

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


В данной выпускной работе по теме проектирование виртуальных серверов на основе технологии контейнеризации, используя каналы передачи данных компании Netcracker, было разработано продуктовое решение, которое будет обладать высокой скоростью работы, а также, хорошо масштабируется и легко поддаётся изменениям.
Для реализации данного проекта в первую очередь было приведено подробное описание архитектуры проекта, схема взаимодействия сегментов приложения между собой и другие детали проектирования облачной платформы компании Netcracker. Далее во время проведения обзора технологий виртуализации, было пояснено понятие виртуализации, и основные типы виртуализации, существующие на данный момент, а также причины выбора определённого стека технологий для проектирования конкретно облачной платформы компании Netcracker. После этого, были изучены принципы работы программного обеспечения Docker, причины выбора именно этого решения. В конце, были подробно описаны технические детали реализации смоделированной архитектуры, а именно:
• Принципы сетевого взаимодействия контейнеров между собой в облачной платформе, используя каналы передачи данных;
• Описание механизма создания и запуска Docker образа контейнера;
• Краткое описание настройки автоматизированных систем сборки и хранения Docker образов в облачной платформе;
• Обзор принципов управления несколькими контейнерами и использование Openshift для оркестрации и кластеризации в технологии контейнеризации.
Несмотря на то, что облачная платформа компании Netcracker в данный момент функционирует и имеет хорошие производительные показатели, при увеличении количества контейнеров, будет увеличиваться и количество инструментов и нагрузки на оркестратор и кластер в целом. Таким образом, в настоящее время необходимо производить исследование на предмет выявления слабых мест в системе и устранять их, применяя новые подходы для технологии контейнеризации, которые с каждым годом обновляются новыми инструментами и поддержкой от самых разных производителей решений основанной на технологии виртуализации на уровне ОС.
Также важно отметить следованию принципу изолированности микросервисов. Данный подход не только позволит улучшить кодовую базу, но и также поспособствует улучшению отказоустойчивости и масштабированию системы. Данные улучшения достигаются путём принципа изолированности сбоев: микросервисы должны уметь развёртываться и работать самостоятельно. Без этого принципа облачная платформа Netcracker лишится главных критериев - масштабируемости и отказоустойчивости.
В ходе проектирования облачной платформы были выявлены следующие положения:
• Каждый из контейнеров должен являться изолированной и самостоятельной частью системы.
• Технологии используемые в каждом контейнеры могут отличаться в зависимости от поставленных задач для конкретного контейнера. Для взаимодействия должны быть использованы общие стандарты, реализация которых также может отличаться.
• Выбор оркестратора для управления контейнерами является важным элементом проектирования системы при использовании контейнерной виртуализации. Процессы, которые внедряют оркестраторы, помогают производить мониторинг системы, масштабирование и полноценное управление жизненным циклом сервисов.
• При проектировании системы основанной на микросервисной архитектуре, необходимо заранее продумать элемент масштабирования и версионирования сервисов.


1. Андрей Маркелов. Введение в технологии контейнеров и Kubernetes; изд. ДМК Пресс - 2019 - 194 с.
2. Арно Лорэ Проектирование веб-API; изд. ДМК Пресс - 2020 - 440 с.
3. Виникус Ф.П. Шаблоны микросервиса и лучшие практики; изд. ДМК Пресс - 2019 - 212 с.
4. В чем разница между непрерывной интеграцией, непрерывным развертыванием и непрерывной доставкой. [Электронный ресурс] - 2015 - Режим доступа: http://merrigrove.blogspot.com/2015/10/visualizing-docker-containers-and-images.html
5. Грант Шиплей, Грахам Дуплентон. Openshift для разработчиков; ред. ДМК Пресс — 2017 - 182 с.
6. Дэвис Дженнифер, Дэниелс Кэтрин Философия DevOps. Искусство управления IT; изд. Питер, Серия «Бестселлеры O’Reilly» - 2017 - 416 с.
7. Джон Арундел, Джастин Домингус Kubernetes для DevOps: развертывание, запуск и масштабирование в облаке; изд. Питер, Серия «Бест­селлеры O’Reilly - 2020 - 384
8. Илья Корнипаев Требования для программного обеспечения: рекомендации по сбору и документированию; изд. Книга по требованию - 2019 - 118 с.
9. Клеппман Мартин Высоконагруженные приложения. Программирование масштабирование поддержка; изд. Питер, Серия «Бест­селлеры O’Reilly» - 2018 - 740 с.
10. Крис Ричардсон Микросервисы. Паттерны разработки и рефакторинга; изд. Питер - 2019 - 544 с.
11. Лапидус, Л. В. Технологии электронной коммерции и их влияние на формирование новых рынков и трансформацию традиционных бизнес- моделей//Экономика и предпринимательство - 2018 - №6
12. Лиз Райс Безопасность контейнеров. Фундаментальный подход к защите контейнеризированных приложений; изд. Питер, Серия «Бестселлеры O’Reilly» - 2021 - 224 с.
13. Мартин Р. Чистая архитектура. Искусство разработки программного обеспечения; изд. Питер - 2018 - 352 с.
14. Миллан, Сейерс Docker на практике; изд. ДМК-Пресс - 2020 - 516 с.
15. Парминдер Кочер Микросервисы и контейнеры Docker; изд. ДМК-Пресс - 2019 — 240.
...


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




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