DevOps работает с нами около десяти лет, и все больше и больше ИТ-компаний принимают его. Мне интересно, как это выглядит в вашей компании - есть ли у вас какие-либо ключевые показатели эффективности DevOps и как вы измеряете их?
Я большой поклонник непрерывного совершенствования, и в последние 3 года я решил "привести DevOps" в компанию с ~ 100-150 инженерами, где я работал. Были некоторые успехи и некоторые неудачи - вот как мы учимся.
Я действительно многому научился, но я хотел бы особо выделить один урок, который я выучил: Вы должны как-то измерить то, что делаете иначе как вы узнаете, что вы движетесь в правильном направлении? Вы также нуждаетесь в хороших аргументах, чтобы убедить людей из разных групп, таких как:
- инженеры - это было страшно легко, так как всем нам, инженерам, нравится играть с игрушками / инструментами: )
- менеджмент - здесь вам нужны реальные цифры и вы должны показать, какая компания будет от них
- клиент - здесь, конечно, вы должны сначала понять, что является наиболее важным для ваших клиентов. Всегда есть много способов достижения той же цели, но, как и в любом бизнесе, вам нужны цифры и результаты
улучшений, которые я смог измерить:
- Как быстро мы можем доставить новое программное обеспечение: от месяцев до 1-2 недель
- Как быстро мы можем доставить HotFix: от дней до часов
- количество проблем, возникающих при каждом развертывании на заказчиках
- настройка всей среды разработки для новичков (от 2-3 недель до одного дня)
- настройка среды разработки для инженеров, которым приходилось переключаться с одного проекта на другой (с целого на 1-2h)
- меньшее количество ошибок, поступающих от клиента (обнаружение многих из них во время конвейера CI / CD)
- экономия времени на действиях по тестированию (группа тестирования больше не тестирует "сломанное" программное обеспечение) )
Улучшения, которые я не знаю, как измерить:
- , делающие вашу компанию более привлекательной для потенциальных новых сотрудников
- как измерить принесение нового инструмента: SonarQube или переход от одного инструмента к другому SVN -> GIT '
- делая все более прозрачным: вы можете легко подключить ошибку, версию программного обеспечения, функцию, исходный код, тестирование, сборку, ...
- построить awerness в команде разработчиков о другой части (Ops, Security, ...), поскольку она интегрирована в CI / CD pipe
- улучшает документирование, но также и знания в области перенаправления (устранение бункеров знаний, поэтому в компании нет «волшебника», который не может покинуть компанию, потому что он знает больше, чем другие)
Какие инструменты вы используете? Я начал использовать стек ELK, где я мог пересылать журналы из нашей цепочки инструментов DevOps. После этого я смог создать несколько инструментальных панелей с помощью Kibana
Резюме / вопросы
- Какой KPI вы измеряете в DevOps
- Как вы измеряете это, вы используете какие-либо конкретные c инструменты?