\documentclass{article} \input{settings/common-preamble} \input{settings/bmstu-preamble} \input{settings/fancy-listings-preamble} \author{Мещеринова Ксения Владимировна} \title{Телематика} \date{2023-02-08} \begin{document} \sloppy \fontsize{14}{18}\selectfont \maketitle \tableofcontents \newpage \section{Введение} DevOps -- стратегия разработки ПО, призванная устранить разрыв между разработчиками, и другими командами. Методология автомтизации технологических процессов сборки, настройки и развёртывания программного обеспечения. Методология предполагает активное взаимодействие специалистов по разработке со специалистами по информационно-технологическому обсулуживанию и взаимную интеграцию их технологических процессов друг в друга, для обеспечения высокого качества программного продукта. Методологии разработки - waterfall (последовательный переход от одного этапа к другому), agile (scrum, lean) -- гибкая методология, система идей. Ключевой принцип - разработка через короткие итерации. Водопадная модель разработки (Waterfall-разработка): Системные и программные требования: закрепляются в PRD (product requirements documents, документ требований к продукту). Анализ: воплощается в моделях, схемах и бизнес-правилах. Дизайн: разрабатывается внутренняя архитектура ПО, способы реализации требований; си внешний вид ПО, ной его внутренняя структурная логи . Кодинг: непосредственно пишется код программы, идёт интеграция ПО. 'Нетолько интерф - Тестирование: баг-тестеры (т продукт, занося в трекеры сведения о дефектах кода програм функционала. В случае ошибок и наличия времени финансов происходит исправление багов. Операции: продукт эдаптируется под разные операционные системы, регулярно обновляется для исправления обнаруженных пользователями бэгов и добавления функционала. В рамках стадии также осуществляется техническая поддержка клиентов: Обычно ИТ-команда это разработчики(Dev), тестировщики(QA), группа эксплуатации(Ops). Толчком к появлению девопс стало появление микросервисов. цели - надёжность, скорость выхода на рынок. девопс предлагает представителям ранее разрозненных подразделений координировать свои действия. Культура: совместная работа и согласованность, изменения в сфере участия и ответственности, сокращение циклов выпуска (не количество, а сами циклы), непрерывное обучение. методики \begin{itemize} \item непрерывная доставка (CI/CD) \item управление версиями (git) \item гибкая разработка (DevOps) \item инфраструктура как код (IaC) \item управление конфигурацией \item непрерывный мониторинг \end{itemize} \begin{figure}[H] \centering \includegraphics[width=12cm]{04-telematics-devops.png} \end{figure} (инструменты как таблица менделеева) Внедрение облачных технологий в корне изменило способы создания развёртывания и эксплуатации приложений. Затраты, скорость, глобальный масштаб, производительность, эффективность, надёжность, безопасность. Три способа развёртывания облачных служб: \begin{itemize} \item Публичное облако -- всё принадлежит облачному поставщику. \item частное облако -- ресурсы только одной компании, локаный ЦОД (иногда аутсорс ЦОД) \item гибридное облако \end{itemize} модели обслуживания: \begin{itemize} \item IaaS -- infrastructure (серверы, виртуальные машины, итд с оплатой по мере использования); \item PaaS -- platform (среда по управлению, доставке, итд, упрощает разработчикам настройку связок); \item Saas -- software (предоставление уже разработанного ПО как услуги); \end{itemize} В девопс облаке, с помощью девопс возможно: \begin{itemize} \item создание собственных облачных приложений \item тестирование и сборка приложений \item хранение, резервное копирование, восстановление данных \item анализ данных \item доставка ПО по запросу \end{itemize} DevOps-инженер -- высококвалифицированный специалист, который отвечает за автоматизацию всех этапов создания приложений и обеспечивает взаимодействие программистов и системных администраторов. Прорабатывает сборку, доставку и тестирование. Build-инженер, Release-инженер, Automation-инженер Необходимые знания: \begin{itemize} \item Основы программирования (базовый уровень, несколько языков) \item освоиться в принципах работы ОС \item понимать облачные и гибридные решения \item разбираться в системах оркестрации \item освоить принципы работы микросервисов \item понимать принципы работы с системами конфигурации \end{itemize} Используемые инструменты -- Jenkins, Docker, Kubernetes, Git, Приложения для управления инфраструктурой (Terraform), платформенные и облачные сервисы, утилиты мониторинга и оповещений. \end{document}