107 lines
7.5 KiB
TeX
107 lines
7.5 KiB
TeX
\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}
|