Блог

DevOps в SimpleOne

Уже много лет термин DevOps вызывает бурные дискуссии в IT сфере. Мнения по этому поводу разделились – если одна часть специалистов считает DevOps лишь маркетинговым ходом, то вторая убеждена в том, что этот подход совершил революцию в IT. Тем не менее, популярность DevOps с каждым годом растет, но применение подхода не всегда оправдывает ожидания. Это связано в первую очередь с непониманием сути DevOps, его методов и культуры.

Что такое DevOps

DevOps (Development Operations, акроним от англ. development и operations) — методика программной разработки, подразумевающая тесное взаимодействие разработчиков со специалистами сервисных IT-подразделений. В наибольшей степени DevOps необходим командам, которым нужны частые выпуски ПО.

Аспекты DevOps
Аспекты DevOps

DevOps позволяет стандартизировать окружения разработки для быстрого переноса ПО между разными этапами и средами, что значительно ускоряет выпуск новых релизов.

Цикл DevOps
Цикл DevOps

Команды, применяющие DevOps становятся эффективнее и выпускают более совершенное ПО. Почему так происходит?

Преимущества DevOps

  • Ускорение выпуска ПО
    DevOps позволяет автоматизировать сборку ПО почти полностью, что значительно ускоряет весь процесс.
  • Надежность и безопасность
    Инструменты DevOps позволяют не только контролировать качество обновлений приложения и изменений инфраструктуры, но и минимизировать риски при разработке.
  • Масштабирование
    DevOps обеспечивает стабильную разработку и поддержку инфраструктуры при любом масштабе.
  • Оптимизация совместной работы
    DevOps – это командная работа. Культурные принципы DevOps несут такие ценности, как сопричастность и ответственность. Это значительно экономит командное время.

Вся сущность DevOps-подхода строится на пяти принципах – Culture, Automation, Lean, Measurement, Sharing.

Принципы DevOps

  • Culture
    Культура DevOps – это сотрудничество и совместная работа. От культуры в организации зависит то, как будут сформированы все процессы в целом, потому подробнее о культуре DevOps мы расскажем ниже.
  • Automation
    Автоматизация устраняет избыточный ручной труд, заменяя его на быстрые, надежные автоматизированные процессы.
  • Lean IT
    Бережливость в IT подразумевает выявление и устранение потерь (времени и других ресурсов) при разработке и эксплуатации ПО. Для этого весь процесс визуализируется с помощью карты потока создания ценности.
  • Measurement
    В DevOps измерять необходимо вообще всё. При этом действительно важные метрики необходимо контролировать постоянно, а остальные данные – при необходимости.
  • Sharing
    Распространение знаний подчеркивает важность открытых коммуникаций в компании. Принцип борется за использование Канбан и других методов визуализации, для того чтобы каждый мог понять на каком этапе сейчас находится каждая конкретная задача.
Принципы DevOps
Принципы DevOps

Внедрение DevOps предполагает изменение культуры, так как в первую очередь этот подход разрушает барьеры между командами разработчиков и командами специалистов сервисных IT-подразделений.

Культура DevOps

  • Прозрачность и единство
    Одним из главных принципов DevOps является прозрачность при взаимодействии между командами. Команды DevOps совместно планируют работу и обмениваются информацией при ее выполнении.
  • Участие и ответственность
    Команды DevOps несут ответственность за результат на всех этапах разработки. Этот значительно улучшает качество ПО.
  • Сокращение циклов выпуска
    Методика DevOps предполагает внедрение коротких циклов выпуска. Это делает команду более гибкой и позволяет ей легче адаптироваться к потребностям клиентов. Короткие циклы выпуска ПО делают систему более стабильной так как облегчается планирование и управление рисками.
  • Постоянное обучение
    Команды DevOps стремятся к непрерывному повышению профессиональной компетенции, а полученные знания применяют на практике. В DevOps всегда есть куда расти.

Методы DevOps

Быстрее автоматизировать и оптимизировать процессы разработки ПО помогают основные методы DevOps:

  • Непрерывная интеграция
    Непрерывная интеграция – это принцип частой сборки и тестирования ПО для выявления ошибок на ранней стадии разработки. Этот метод помогает существенно сократить время на выпуск новых обновлений.
  • Непрерывная доставка
    Непрерывная доставка – это автоматизация всего процесса релиза ПО. При максимальной автоматизации непрерывной доставки вручную необходимо только запустить процесс. Избавившись от монотонного ручного труда, разработчик становится намного продуктивнее.
  • Инфраструктура как код
    Инфраструктура как код – это практика выделения и управления инфраструктурой методами разработки ПО. Этот метод устранил границы между созданием системы и среды для нее, что значительно облегчило работу разработчиков со средой.
  • Управление конфигурациями
    Управление конфигурациями занимается поддержанием целостности системы на протяжении всего жизненного цикла ПО. Использование кода в управлении конфигурацией позволяет в любой момент времени иметь доступ к актуальной версии конфигурационного элемента.
  • Мониторинг и ведение журналов
    Мониторинг метрик приложения позволяет анализировать то, как обновления воздействуют на пользователей, а также заблаговременно найти источник проблем или незапланированных изменений.

Как работает DevOps в SimpleOne

SimpleOne — разработчик программного обеспечения для автоматизации бизнес-процессов. Продуктовая разработка подразумевает необходимость применения DevOps в своей работе. В SimpleOne есть целое направление DevOps, которое оптимизирует весь цикл разработки программных продуктов. DevOps-инженеры SimpleOne обладают T-shaped skills, что значительно повышает скорость и качество их труда. Культура DevOps проникла в каждый уголок компании, устранив силосную культуру и бункерный менталитет. Тесное взаимодействие, непрерывное улучшение, высокое качество стали основными принципами работы всех направлений SimpleOne.

Сейчас в направлении DevOps работает 4 человека, которые каждый день стараются сделать работу команды SimpleOne лучше.

В своей работе команда использует ряд инструментов, в числе которых:

  • GitLab CI – организация CI/CD;
  • Ansible – развертывание и конфигурация инфраструктуры;
  • Goharbor – хранение артефактов;
  • CentOS 8 – основная ОС;
  • Prometheus, Alertmanager, Grafana – мониторинг;
  • Elasticsearch, Fluent, Kibana – сборка, хранение и визуализация логов.

За год работы команда DevOps-инженеров:

  • упаковала платформу в Docker;
  • построила мониторинг и логирование;
  • развернула ряд инструментов для оптимизации работы команд;
  • построила цикл CI/CD.

В этом году планируется:

  • кластеризация;
  • переход на Kubernetes;
  • углубленная автоматизация процессов;
  • создание динамических инвентарей с интеграцией с ALM-системой на платформе SimpleOne.

Применение DevOps в SimpleOne объединяет усилия отдельных подразделений для создания более качественных и надежных продуктов, упрощает общение, взаимодействие и интеграцию внутри организации. Внедрив DevOps, мы получили возможность лучше реагировать на потребности клиентов, повышать доверие к создаваемому ПО и быстрее достигать бизнес-целей.

Пользуясь настоящим сайтом, вы даете свое согласие на использование файлов cookies