Переосмысление DevOps: что это такое?

С тех пор, как начинаете работать с различными веб-приложениями, термин DevOps будет привлекать все больше и больше внимание.

Важно понять, что такое DevOps на самом деле. DevOps — чрезвычайно популярное модное слово, и вы найдете множество его определений в Интернете. Но, основываясь на нашем собственном опыте, мы пришли к следующему окончательному определению и мыслям. Это попытка пересмотреть существующие нормы DevOps и переосмыслить их в форме новой модели, которую мы предлагаем здесь.

 

Что такое DevOps?

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

 

Как этого добиться?

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

 

Жизненный цикл разработки приложений (ADLC)

Жизненный цикл разработки приложений — это фундаментальная мотивация разработки любого приложения. Если процесс разработки не будет тщательно и постоянно отслеживаться, вы не можете быть абсолютно уверены в его безупречном развитии. Приложение всегда будет находиться в ADLC, пока оно не будет готово к производству.

ADLC — это важный принцип разработки программного обеспечения, который состоит из шести основных этапов. Разработка приложения включает следующие этапы:

  1. Концептуальный план: формирование основной идеи приложения.
  2. Программирование: это когда приложение создается и разрабатывается.
  3. Документация: отличное приложение бесполезно без тщательной (удобочитаемой) документации.
  4. Тестирование для обеспечения качества: проверка работоспособности, пригодности и безопасности конечного продукта.
  5. Отладка: исправлены ошибки, о которых сообщалось во время тестирования.
  6. Релиз в разработке: Выпущена первая версия приложения.

Этот цикл будет существовать до тех пор, пока не будет доступен стабильный выпуск. Как только программное обеспечение выпущено в виде готовой к производству стабильной версии, оно больше не подпадает под ADLC. В конечном итоге он подпадает под жизненный цикл разработки системы (SDLC).

 

Жизненный цикл разработки системы (SDLC)

Часть нашего DevOps-сообщества может сказать, что ADLC и SDLC — одно и то же. Но в реальном сценарии ADLC и SDLC совершенно разные.

Жизненный цикл разработки системы — это фундаментальная мотивация как разработки, так и эксплуатации приложения. Он предполагает непрерывное развитие приложения после его первого стабильного выпуска и обеспечивает его непрерывную работоспособность.

  1. Концептуальный план: пересмотр основной идеи приложения.
  2. Программирование:  это когда приложение дорабатывается.
  3. Документация: постоянное обновление документации, удобочитаемой человеком.
  4. Проверка качества новых выпусков: проверка работоспособности, удобства использования и безопасности нового конечного продукта.
  5. Отладка: исправлены ошибки, о которых сообщалось во время тестирования.
  6. Выпуск для разработки: для нового приложения (в зависимости от версии или самого приложения) выпуск для разработки превращается в свой первый стабильный выпуск на этом этапе.
  7. Стабильный выпуск: последняя стабильная версия выпускается как продукт с исправлениями, связанными с ошибками / безопасностью, а также новыми функциями.
  8. Развертывание: стабильный продукт развертывается на сервере (ах).
  9. Обслуживание и мониторинг: постоянный и периодический мониторинг серверов и приложений, которые на них работают.

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

Приложение, у которого еще нет стабильной версии, не может считаться завершенным. Как только приложение полностью построено, ADLC превращается в SDLC. Почему?

  • ADLC чисто модель Development
  • SDLC является как Development и Operations

 

Теперь вы поняли нашу мысль? В ADLC приложение не готово к производству, поэтому оно все еще находится в стадии разработки barebone. Поэтому мы не можем называть это DevOps. Только когда выходит первый стабильный выпуск, он превращается в SDLC, который называется DevOps, потому что готовое к производству приложение впоследствии станет непрерывно работающим.

Как видно из двух сокращений и диаграммы выше, приложение сильно отличается от всей системы. Приложение — это всего лишь часть полного системного процесса. Это то, что отличает SDLC от ADLC. Итак, ADLC на самом деле является подмножеством SDLC.

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

 

Представляем новый треугольник DevOps

Переосмысление DevOps: что это такое?

 

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

Такой процесс поворота постоянно меняется в соответствии с требованиями развертываемого приложения. Эта постоянно меняющаяся модель в реальном мире — это процесс DevOps.

Расположение SDLC внутри треугольника всегда будет варьироваться от приложения к приложению. Поворотное местоположение на самом деле зависит от характера развертываемого приложения, при разработке которого уделяется пристальное внимание:

  • Функциональность: основная функция приложения. Например, возможность отправлять сообщения через Rocket.Chat.
  • Юзабилити: простота использования приложения. Например, насколько удобно отправлять сообщения через Rocket.Chat.
  • Безопасность: степень безопасности приложения. Например, исправление ошибки, устраняющее уязвимость Rocket.Chat, подобную этой.

 

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

Но как на самом деле?

 

Смирение на рабочем месте: максимальная точность в поворотах

В конце концов, разработчики, пользователи и тестировщики — все люди. Будь то локальная или виртуальная, культура DevOps и рабочие места должны принять простую идею сострадания. Рабочее место, где проявляют доброту к коллегам, обязательно повысит производительность как ADLC, так и SDLC!

Речь идет не только о веб-приложениях, но и о людях. Именно они постоянно их создают, развертывают и поддерживают. В этом суть сообщества, и именно поэтому DevOps — это тоже культура. Культура DevOps охватывает управление не только веб-приложением, но и людьми, которые делают его реальностью.



2021-04-25T09:21:54
Программирование