Новости

18 октября 2021 Новости

Почему мы инвестируем в DevOps?

DevOps объединяет в себе команду, технологии, процессы и методы взаимодействия. Это объединение создано, чтобы осуществлять непрерывную доставку ценностей пользователям.

DevOps

Главные принципы DevOps

Для нас DevOps – это масштабирование Agile-методологии на весь процесс разработки, внедрения и сопровождения ПО. Можно выделить 5 основных принципов (CALMS) его реализации с целью увеличения частоты релизов и повышения ответственности команды за продукт:

  • Культура (Culture) – кросс-функциональное сотрудничество разнопрофильных специалистов и команд за счет единого информационного пространства проектного контента, открытых каналов коммуникации и постоянного общения всех участников;

  • Автоматизация (Automatization) – использование инструментов непрерывной поставки с прогоном каждой правки кода через серию автоматизированных тестов, часто использующих облачную инфраструктуру, и последующую упаковку успешных сборок с дальнейшим перемещением на рабочий сервер с помощью автоматизированных развертываний и управления инфраструктурой как кодом через конфигурации саморазвертываемых сред;

  • Бережливость (Lean) – устранение действий с низкой полезностью и ускорение процессов, непрерывное совершенствование через регулярный ретроспективный анализ, раздельное тестирование различных инструментов, принятие поражений, возможности быстрого обнаружения проблем и их незамедлительного решения;

  • Измерения (Measurement) производительности, например, продолжительность работы пользователей с продуктом, частота появления в логах сообщений о критических ошибках – необходимы ясные и четкие критерии оценки работы, показатели эффективности процессов;

  • Обмен (Sharing) – совместная ответственность и разделение успехов, выпуск и обеспечение работы приложения осуществляются теми же людьми, что выполняли его сборку, т.е. разработчики (Developers) и операторы (Operators) взаимодействуют на каждом этапе жизненного цикла приложения.

DevOps Infinity Wheel

В Data Management 365 много лет последовательно мы внедряем продвинутые практики преемственности от идеи до разработки, тестирования и дальнейшей эксплуатации функционала на нашей платформе. Проконтролировать сами процессы не так сложно, и для этого существует не только отработанная методология, но и набор отличных инструментов. Но к сожалению,  сам по себе контроль жизненного цикла разработки недостаточен для того, чтобы процесс доставки функционала работал чётко и высококачественно. Как же нам удаётся еженедельно выпускать протестированные и валидированные обновления в системе и одновременно обслуживать более 400 индивидуальных инсталляций нашей платформы?

Годы опыта, мощные инструменты, постоянное тестирование различных подходов и мега-команда Data Management 365. Вот секрет нашей высочайшей эффективности.

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

1. Операционная система

Мы работаем с Windows 2019 – используем последнюю стабильную версию от Microsoft, именно с помощью этого сервера гарантируем  нашим клиентам максимальную безопасность и самую высокую доступность данных. Основные технологии операционной системы, которые мы используем для DevOps: репликация, кластеризация и виртуализация.

2. Управление задачами

Связка Atlassian Confluence + Jira. Это наша любимая система. Любая идея, которую мы потенциально можем реализовать, любой запрос от клиента, жалоба или предложение, нами детально обрабатываются и планируются к реализации именно на этом этапе. Система позволяет нам не только планировать нагрузку всей команды, но и следить за каждым шагом на этапе реализации и доставки функционала конечному пользователю.

3. Языки программирования

Для реализации стратегии по DevOps наши инженеры используют Python и Powershell.

4. Система контроля версий

Без подобной системы DevOps был бы неполным. Мы используем Microsoft TFS, а также Git.

5. Системы оркестрации

Вообще мы используем Docker, но как раз сейчас думаем о переходе в Kubernetes.

6. Система управления конфигурациями – Chef

7. Развертывание и интеграция – Jenkins

8. Базы данных – MongoDB

DevOps – не просто методология. Это набор практик, которые размывают границы между всеми участниками процесса разработки программного обеспечения, что делает данный процесс максимально прозрачным и гибким!

Благодаря описанному выше подходу, мы можем позволить себе разрабатывать и поставлять продукт с минимальными финансовыми издержками – это значит, что мы можем предоставить своим клиентам:

  1. Прозрачную и фиксированную цену использования MainEDC на весь период клинического исследования;
  2. Развертывание и валидацию системы за 2 дня;
  3. Концептуально низкую цену на платформу, по сравнению с аналогичными решениями.

DevOps – это 6 инженеров, 11 инструментов, 4 года работы и сотни совещаний и мозговых штурмов! И мы продолжаем активно работать и изучать новые методологии, пробовать новые подходы для того, чтобы каждый четверг утром вы получали свою обновленную версию MainEDC™, которая всегда немножечко лучше, чем была вчера :) 

PS. И не забывайте смотреть каждую неделю Release Notes в системе! 

image (1).png