Диплом: Автоматизация доставки программного обеспечения при помощи DevOps практик и инструментов в облаке AWS в компании ООО "Команда Лабс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
1
Содержание
Введение ....................................................................................................... 3
I Аналитическая часть ......................................................................... 7
1.1 Технико-экономическая характеристика предметной области и
предприятия. Анализ деятельности «КАК ЕСТЬ» ................................................ 7
1.1.1 Характеристика предприятия и его деятельности................... 7
1.1.2 Организационная структура управления предприятием ...... 11
1.1.3 Программная и техническая архитектура ИС предприятия . 13
1.2 Характеристика комплекса задач, задачи и обоснование
необходимости автоматизации ........................................................................... 27
1.2.1 Выбор комплекса задач автоматизации и характеристика
существующих бизнес процессов ......................................................................... 27
1.2.2 Определение места проектируемой задачи в комплексе задач
и ее описание 32
1.2.3 Обоснование необходимости использования вычислительной
техники для решения задачи ................................................................................. 33
1.2.4 Анализ системы обеспечения информационной безопасности
и защиты информации ........................................................................................... 37
1.3 Анализ существующих разработок и выбор стратегии
автоматизации «КАК ДОЛЖНО БЫТЬ»............................................................. 40
1.3.1 Анализ существующих разработок для автоматизации задачи
40
1.3.2 Выбор и обоснование стратегии автоматизации задачи ....... 41
1.3.3 Выбор и обоснование способа приобретения ИС для
автоматизации задачи ............................................................................................ 43
1.4 Обоснование проектных решений ................................................. 43
1.4.1 Обоснование проектных решений по информационному
обеспечению 43
1.4.2 Обоснование проектных решений по программному
обеспечению 44
1.4.3 Обоснование проектных решений по техническому
обеспечению 49
II Проектная часть ............................................................................... 52
2.1 Разработка проекта автоматизации .......................................... 52
2.1.1 Этапы жизненного цикла проекта автоматизации ................ 52
2.1.2 Ожидаемые риски на этапах жизненного цикла и их описание
54
2.1.3 Организационно-правовые и программно-аппаратные
средства обеспечения информационной безопасности и защиты информации . 60
2.2 Информационное обеспечение задачи ........................................... 70
2.2.1 Информационная модель и её описание ................................ 70
2.2.2 Характеристика нормативно-справочной, входной и
оперативной информации ...................................................................................... 80
2
2.2.3 Характеристика результатной информации .......................... 81
2.3 Программное обеспечение задачи .................................................. 82
2.3.1 Общие положения (дерево функций и сценарий диалога) ... 82
2.3.2 Характеристика базы данных ................................................. 84
2.3.3 Структурная схема пакета (дерево вызова программных
модулей) 85
2.3.4 Описание программных модулей ........................................... 88
2.4 Контрольный пример реализации проекта и его описание .......... 90
III Обоснование экономической эффективности проекта ............... 97
3.1 Выбор и обоснование методики расчёта экономической
эффективности ..................................................................................................... 97
3.2 Расчёт показателей экономической эффективности проекта 100
Заключение .............................................................................................. 104
Список использованной литературы .................................................. 106
Приложения ............................................................................................ 109
3
Введение
Актуальность исследования. Самая актуальная задача для бизнеса в
существующих реалиях это умение гибко реагировать на изменения и быстро
доставлять эти изменения на производственную среду. Требования бизнеса
могут меняться очень часто, поэтому в компании Aquiva Labs при разработке
используется гибкие методологии Agile [1] и Scrum [2], которая подразумевает
изменение в функционале или исправление ошибок в коде мелкими итерациями
двухнедельными спринтами. Компания Aquiva Labs разрабатывает решения
для разных видов бизнеса, мне удалось поработать в проекте HAPI, который
связан с госпитальным бизнесом.
При ручной сборке, тестировании и доставке ПО в окружения
совершается большое количество человеческих ошибок, а также такие процессы
занимают весьма длительное время. Полный цикл от постановки задачи до
попадания сервисов в производственную среду может занимать от 3 до 8 недель
при ручном разворачивании инфраструктуры и сервисов. Разворачивание
инфраструктуры достаточно рутинный и сложный процесс без понимания того,
какие слайд-эффекты могут проявиться после предыдущих внесений изменений
в её параметры. Это приводит к тому, что система может быть неидемпотентной.
Один из основных показателей для сферы цифровых продуктов является
Time to market — в коммерции время выхода релиза продукта на рынок — это
отрезок времени, который требуется от задуманного продукта до его продажи в
продажу. ТТМ важен в отраслях, где продукты быстро устаревают.
Гибкие методологии разработки породили широкое распространение
практик и инструментов для управления инфраструктурой, которые
предполагает методология DevOps активное взаимодействие специалистов по
разработке со специалистами по информационно-технологическому
обслуживанию, и взаимная интеграция рабочих процессов друг в друга для
обеспечения качества продукта.
4
Также необходимость соответствия различным требованиям стандартам
безопасности, в частности PCI DSS и ГОСТ ISO/IEC 27001, необходимо внедрять
в процессы развёртывания системы DevSecOps практики и методологию,
которая подразумевает под собой автоматизацию сканирования на уязвимости
кода, подключаемых модулей и зависимостей, операционных систем и других
частей платформы во время сборки, доставки и эксплуатации продукта.
Основной целью проекта является ускорение движения программного
обеспечения по конвейеру доставки от разработчиков к производственной среде,
то есть выпуска релизов с помощью DevOps практик и инструментов, таких, как
управление конфигурацией, мониторинг, логирование, инфраструктуры как код,
непрерывная интеграция.
Нам необходимо уменьшить это время для того, чтобы можно было
быстрее реагировать на изменения, происходящие со стороны заказчиков, а
также избавиться от рутинного ручного труда.
Мои основные задачи были связаны с тем, чтобы свести к минимуму
время выкладки цифрового продукта — программного обеспечения на серверы,
которыми пользуются клиенты. Таким образом, необходимо автоматизировать
промежуточные этапы доставки кода, которые включают в себя:
Организовать автоматизацию сборки кода и зависимостей.
Автоматизировать создание артефактов и доставку в окружения.
Разворачивать инфраструктуру, исходя из заданных параметров,
заданных декларативно. Избавиться от слайд-эффектов после предыдущих
изменений инфраструктуры.
Автоматизировать тестирование
Развернуть и подключить инструменты для наблюдаемости всех
компонентов платформы (сбора метрик и событий в процессе доставки и работы
систем).
Автоматизировать доставку артефактов в выбранное окружение
Использовать контейнерные платформы для изоляции
микросервисов и микросервисной архитектуры
5
Подготовить платформу для быстрой реакции на изменения бизнеса.
Иметь возможность автоматического масштабирования
Обеспечить отказоустойчивость системы
Научиться быстро разворачивать инфраструктуру в случае утраты
всей системы.
Иметь возможность автоматического разворачивания
инфраструктуры для разных сред: девелоперской, демо, продакшен и иметь
одинаковые параметры для каждой из них во избежание слайд-эффектов.
Автоматизировать тестирование кода и инфраструктуры на
безопасность.
Иметь процессы и инструменты для быстрой обратной связи и
аналитики.
Иметь глубокое понимание процессов внутри рабочей системы.
Внедрить автодокументацию инфраструктуры с помощью подхода
«Инфраструктура как код» [3].
Исключить ручной труд и человеческие ошибки при развёртывании.
Уменьшить время развёртывания продукта.
Внедрить инструменты для идемпотентности системы в целом и на
всех пограничных и сервисных систем.
Ускорить донесения ценности до клиентов
Обеспечить возможность быстрых внесение правок в код и
выкатывания в среды.
Объектом исследования является ООО "КОМАНДА ЛАБС".
Предметом исследования является внедрение инструментов,
позволяющих сократить время от постановки задачи через промежуточные
этапы к доставке клиенту.
Практическая значимость применения DevOps практик и инструментов
состоит в том, чтобы помогать цифровым компаниям быстрее доставлять код до
клиентов.
6
В процессе написания работы я опирался на следующие методы:
Анализ — чтобы разбить признаки DevOps на составляющие.
Синтез — для того, чтобы составить понимание о том, как может
вести себя система в целом.
Индукция — понимать поведение и конечную ценность платформы.
Дедукция — необходимо составить представление, как работают все
составляющие архитектуры.
Наблюдение — это возможность иметь представление обо всех
объектах системы благодаря агрегации метрик и логов.
Сравнение — обратная связь на каждом этапе разработки позволяет
нам понимать, в каких местах происходит признаки улучшения поведения
системы.
Измерение — чтобы понимать количественные улучшения времени
выкатывания программного обеспечения
7
I Аналитическая часть
1.1 Технико-экономическая характеристика предметной области и
предприятия. Анализ деятельности «КАК ЕСТЬ»
1.1.1 Характеристика предприятия и его деятельности
Компания Команда Лабс разрабатывает решения для разных видов
бизнеса, мне удалось поработать в проекте HAPI, который связан с
госпитальным бизнесом. HAPIcloud — платформа, которая предоставляется как
сервис для клиентов (Platform as a Service - PAAS). Потребителями этой
платформы являются госпитальные бизнесы, которым важно собирать
телеметрию и данные из своих гостиниц, и затем иметь возможность
обрабатывать эти данные и проводить аналитику.
HAPI - это новая платформа для потоковой передачи, интеграции и
обогащения данных, предназначенная для решения быстро растущих задач
управления данными в гостиничной индустрии, а также для решения
традиционно высоких затрат на интеграцию и отсутствия согласованности с
поставщиками, что препятствует инновациям и эффективности. Разработанная
инноваторами гостиничных технологий безопасная, масштабируемая облачная
платформа потоковой передачи данных HAPI основана на открытой модели,
использующей ту же проверенную технологию, которая поддерживает
некоторые из крупнейших в мире социальных сетей и бизнес-сервисов, для
которых используется многоуровневое шифрование и аутентификация. и
управление добавляются. Со штаб-квартирой в Орландо, штат Флорида, HAPI
предоставляет услуги по всему миру.
Проект предоставляет решения, при котором клиент из своих систем
управления отелями (PMS) отправляет данные в HAPI, затем данные
консолидируются, парсятся в виде json и кладутся в стриминговую базу данных
Kafka, обрабатываются, унифицируются и складываются в хранилище MongoDB
или отдаются в удобном виде обратно клиенту для анализа и дальнейшей
переработки данных в Систему управления цепочками отелей (CMS) или
обратно в PMS.
8
Главная проблема в том, что в каждом отеле может стоять своя
собственная PMS, в каждой PMS своя интеграция и свой набор данных и правил,
которые разнятся в разных отелях, и мы должны обработать эти данные и
унифицировать, затем передать их в API PMS или CMS клиента. Это могут быть
системы управления:
OXI
HTNG
Asi
WebrezPro
Oracle Opera Reports (Opera PMS)
Autoclerk (HTNG)
Infor HMS
Данный бизнес был организован тремя людьми: Луисом Сегредо,
Лораном Идрак и Николаем Бальба.
ИТ-директор бывшей группы Accor Лоран Идрак в настоящее время
является главным исполнительным директором HAPIcloud.io. До прихода в ИТ-
директора в Accor он занимал должность вице-президента по информационным
технологиям для Accor в Северной Америке в Далласе, штат Техас. Лоран,
гражданин Франции, закончил ведущую французскую бизнес-школу с
небольшим образованием в области информационных технологий. После
непродолжительного опыта работы в качестве ИТ-менеджера по продажам он
начал свою карьеру в Accor в 1983 году, занимая несколько позиций во Франции.
До прихода в отдел корпоративных ИТ он руководил всеми центрами
бронирования по всему миру. в 1996 году.
Луис Сегредо - серийный предприниматель, который занимал должность
исполнительного вице-президента по стратегическим инициативам Amadeus
Hospitality. До этого он был президентом подразделения MTech в Newmarket
International, Inc. до января 2016 года. Сегредо работает в гостиничном бизнесе
через MTech с 1993 года, начиная с представления некоторых первых
приложений Windows для отелей, и испытал проблемы, связанные с миграцией
9
технологий на протяжении многих лет в результате перехода от модели
лицензированных рабочих мест к модели управляемого хостинга. Затем он
служил на различных должностях в Amadeus, поддерживая интеграцию
приобретений. Сегредо обладает более чем 25-летним опытом в сфере
предложения технологий на гостиничном и корпоративном уровнях. Он получил
степень бакалавра в области международных финансов и маркетинга в
Университете Майами.
Data Travel, LLC, компания, занимающаяся гостиничными технологиями,
в которую входят ветераны индустрии гостеприимства, эксперты по интеграции
и специалисты по обработке данных, представила платформу для
преобразования, интеграции и обогащения данных, предназначенную для
решения быстро растущих задач управления данными в гостиничной индустрии.
Эта комплексная новая платформа, получившая соответствующее название
HAPI, объединяет множество данных, которые собираются разрозненными
гостиничными системами, и выступает в качестве центрального узла для этих
потоков данных гостеприимства. «В последние годы сложность данных и систем
на мировом госпитальном рынке значительно выросла», - сказал Луис Сегредо,
президент и генеральный директор Data Travel, LLC, разработчика HAPI.
«Традиционные источники оперативных данных из систем свойств, таких как
PMS, могут быть дополнены огромным объемом данных из множества внешних
источников, таких как системы IoT, социальная активность и общедоступные
точки данных. HAPI является ответом на управление этими несколькими
данными потоков и используя их объединенную мощь для улучшения
взаимодействия с гостями, повышения эффективности и рентабельности». [4]
В компании сейчас насчитывается 23 человека, среди них команда
разработки платформы, которая базируется в России, команда разработки
дополнительных элементов платформы является распределённой по миру. При
такой небольшой команде компании удаётся решать очень сложные задачи по
сбору и обработке данных.
10
Таблица 1
Количественно-стоимостные оценки
Значение
показателя на
определённую
дату либо за
период
Период
5 человек
3 квартал 2018 г
1M$
3 квартал 2018 г
8 человек
4 квартал 2018 г
1.5M$
4 квартал 2018 г
14 человек
1 квартал 2019 г
2.8M$
1 квартал 2019 г
14 человек
2 квартал 2019 г
2.8M$
2 квартал 2019 г
14 человек
3 квартал 2019 г
2.8M$
3 квартал 2019 г
22 человека
4 квартал 2019 г
4.4M$
4 квартал 2019 г
Для расположения инфраструктуры используется сервис Amazon Web
Service. Ежемесячные траты на инфраструктуру составляют около 8000$ в месяц.
Мои основные задачи были связаны с тем, чтобы свести к минимуму
время выкладки цифрового продукта — программного обеспечения на сервера,
которыми пользуются клиенты.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)