Быстрый взгляд на проблемы и предложение вариантов решения как для небольших и начинающих команд, так и для крупных компаний
Развиваем инфраструктуру, чтобы она отвечала потребностям бизнеса, повышала автономность и скорость работы команд, снижала издержки на эксплуатацию
Чтобы внедрить DevOps практики в вашей компании, не обязательно сразу нанимать новый отдел под эту задачу или отправлять на обучение существующих специалистов. Доверьте внедрение DevOps практик нашей опытной команде.
Проверяем, как построено
взаимодействие между
разработчиками и администраторами.
Проектируем технологии,
чтобы его наладить.
Наша команда усиливает ваши
компетенции и сфокусирована
на достижении ваших возможностей
Проводим курсы и мастер-классы
по методологии DevOps.
Разработали 20 курсов
для корпоративного обучения.
Изучаем и внедряем новые
технологии поставки и создания
программного обеспечения.
"Экспресс 42" начала работу в 2012 году. Мы увидели, что появляется новый тип компаний — технологические компании и эти компании по-другому производят программное обеспечение. Такой подход к производству программного обеспечения назывался и называется DevOps.
Миссия нашей компании — искать, находить, создавать и отдавать нашим клиентам практики производства программных продуктов. Инженерные практики, выработанные в нашей компании, позволят поставлять бизнес-ценность клиентам без задержек.
- аудит микросервисной архитектуры и подготовка рекомендаций
- консалтинг по постановке практики “Инфраструктура как код”
- внедрение CI/CD для микросервисной архитектуры
- аудит команд и консалтинг по построению Software Factory
- аудит ИТ процессов
- создание MVP процесса поставки в продуктовых командах
- аудит ИТ процессов и подготовка рекомендаций
- технический аудит DevOps практик и инструментов
- проектирование и внедрение MVP платформы для контейнеризируемых приложений
- создание MVP платформы
В рамках проекта автоматизирована настройка тестовых окружений, выкатки приложения и запуска smoke тестов в облаке AWS. Приложение написано на .NET. Используется стек Windows и MS SQL. Для части инфраструктурных сервисов использовались различные Opensource решения, в том числе Linux.
Реализованный функционал долго доставляется до клиента, и поставка выполняется частично в ручном режиме.
Много ошибок в продукте выявляется на очень поздних этапах, клиенты находят их первыми.
У разработчиков нет возможности проверить функционал в среде, похожей на продуктовую.
Разработчики не знакомы с продуктовой средой, не несут ответственность за новый функционал в промышленной среде и не могут их сопровождать.
Способ доставки кода сложен и непрозрачен.
Получение в облаке AWS преднастроенного окружения на базе машин на Windows и Linux, со всеми компонентами приложения нужных версий и инфраструктурными сервисами. Окружение доступно для автоматического и ручного тестирования и для демонстрации функционала.
Автоматизированный процесс развертывания приложения на тестовое окружение, на основе системы управления конфигурацией Chef. Разработчики самостоятельно могут дописывать конфигурацию развертывания под свои нужды.
Автоматизированный процесс создания ресурсов в облаке, настройку окружений, среднего слоя и инфраструктурных сервисов на основе Terraform и Chef.
Автоматизированный процесс обновления шаблонов виртуальных машин на основе Packer.
Настройка систем мониторинга и логирования и их интеграция с тестовыми окружениями на основе Prometheus, Grafana и Graylog.
Команда разработки получает с нуля готовое к использованию тестовое окружение с нужной версией приложения в облаке AWS, учитывая прогон Smoke тестов, за 30-40 минут полностью в автоматическом режиме по кнопке или встраивая в собственные сборочные пайплайны.
При необходимости возможно выкатить новую версию приложения на уже существующее окружение за 5-10 минут + время сборки и тестирования приложения.
Увеличилось количество тестируемых релизов приложения. За счет возможности создать окружение, разработчиком больше не приходится конкурировать за тестовые окружения.
Значительно уменьшилось количество ошибок при тестировании как следствие сокращения количества ошибок в настройке окружений, инфраструктурных сервисов и настройке самого приложения.
Написанные пайплайны и конфигурация в дальнейшем использовалась для продуктовых окружений, что также сократило затраты на эксплуатацию.
В рамках сотрудничества было выполнено несколько проектов по постановке DevOps практик и внедрению автоматизации процессов сборки, контроля качества и эксплуатации для продуктовых команд банка. Продуктовые команды использовали разный стек технологий для своих продуктов: Linux и Windows, Java и .NET. В качестве СУБД использовались OracleDB, DB2, PostgreSQL.
Множество ручных операций в процессе сборки отвлекают команды от развития продукта и способствуют снижению качества продукта. Ручные операции в процессах эксплуатации вносят соответствующие риски.
Инфраструктурный набор технологий у продуктовых команд не синхронизирован, и каждая команда самостоятельно занимается поиском и разработкой решений для автоматизации и поддержки процессов разработки, тестирования и эксплуатации.
Недостаточное количество окружений разработки и тестирования затрудняет параллельную разработку функционала, состояние тестовых окружений не синхронизировано между собой и с продуктивным окружением, что снижает эффективность тестирования.
Автоматизированный процесс сборки, тестирования и развертывания компонентов продукта на произвольное окружение без простоя в обслуживании. Разработка сама описывает как собирать, конфигурировать и развертывать их приложения.
Автоматизация создания окружений (тестовых и продуктивных) и автоматизация внесения изменений в конфигурации окружений и систем, работающих на них. У каждой продуктовой команды появился свой инфраструктурный репозиторий с Ansible-сценариями, внося изменения в который команда управляет своими окружениями, запускаемыми на внутреннем облаке VMWare при помощи API vRealize.
Контроль качества приложений встроен в автоматизированный процесс поставки и позволяет получить обратную связь о работоспособности изменений в течение нескольких минут.
Сокращение с недели до часа сроков на создание и настройку нового окружения с нуля до полной готовности, включая установку свежей версии приложения.
Сокращение трудозатрат на подготовку и выпуск релиза за счет автоматизации процессов позволило командам сфокусироваться на решении бизнес-задач.
Унификация окружений разработки и тестирования с продуктивным окружением снизило количество инцидентов, возникающих из-за различий в состоянии окружений.
Возможность автоматически получить выделенное окружение под разработку и отладку функционала помогла внедрению практики работы с feature-окружениями, где каждое изменения в продукте разрабатывается и тестируется изолированно. Это способствовало росту качества и уменьшению очереди задач на тестирование.
Применение целевого стека технологий позволило улучшить коммуникацию между техническими специалистами как в одной команде, так и между командами.
В рамках проекта была произведена миграция тестовых и продуктовых окружений на платформу Openshift. Также реализована постановка Devops практик, выполнена автоматизация развертывания, конфигурации инфраструктуры, процессов сборки, контроля качества и эксплуатации приложения. Приложение разделено на модули, использовался стек: Java, Spring Framework, JavaScript/TypeScript, Angular, Tomcat, Docker, Linux. Для хранения данных использовался PostgreSQL.
Для настройки тестовых и продуктовых окружений используются разные инструменты, часть операций выполняется вручную. Из-за этого при переносе изменений между окружениями возникают ошибки.
Не все изменения окружений происходят прозрачно для команд разработки.
Существующая инфраструктура задокументирована не полностью.
Отсутствие метрик процесса поставки и работы продукта затрудняет работу с использованием продуктового подхода.
Подготовить на базе существующей инсталляции Openshift платформу для разработки цифровых продуктов. Платформа предоставляет разработчику и тестировщику изолированные окружения с необходимой для работы приложения экосистемой, такие как базы данных, сервисы мониторинга и централизованного логирования идентичные с продуктивной инсталляцией.
Мигрировать приложение и процесс разработки на новую платформу Openshift.
Автоматизировать, применяя практики Инфраструктура как код и Непрерывная поставка, настройку тестовых и продуктовых окружений, выкатку и настройку приложения, применение миграций.
Команда разработки может в автоматическом режиме получить новое тестовое окружение с необходимой версией приложения на платформе Openshift за 15-30 минут.
Уменьшилось количество ошибок при тестировании приложения и эксплуатации окружений за счет описания конфигурации в виде кода и автоматизации создания окружений.
Процесс выкатки новой версии приложения стал понятным и предсказуемым за счет автоматизации.
Уменьшилось время диагностики ошибок и дефектов приложения за счет получения быстрой обратной связи во время сборки и контроля качества приложения и тесной интеграции тестовых окружений с системами мониторинга и логирования.
Метрики процесса поставки и эксплуатационные метрики приложений учитываются при планировании улучшений в процессах и приоритезации беклога команды.
Команда клиента получила необходимую экспертизу для дальнейшего развития решения в процессе совместной работы. Проведено необходимое обучение сотрудников. Составлен план дальнейшего развития решения.
В рамках проекта было автоматизировано создание окружений в облаках GCP и Яндекс Облаке, совместно с постановкой Devops практик и автоматизацией настройки инфраструктуры и процессов сборки, контроля качества и эксплуатации приложения. Приложение разделено на микросервисы и использовался стек: PHP, .NET, Kubernetes. Для хранения данных использовался MySQL, Postgresql.
Поведение приложения на тестовых стендах отличается от ожидаемого: приложение работает медленно и нестабильно. Различия в состоянии тестовых и продуктивной сред снижали результативность тестирования.
Отсутствие удобного командам стека инструментов для контроля работоспособности компонентов приложения и отладки замедляло процесс разработки и затрудняло отладку проблем в продуктивной среде.
Облачная инфраструктура и кластера Kubernetes настроены и управляются вручную
Для продуктовых команд подготавливается автоматизация, позволяющая развернуть на мощностях нескольких выбранных облачных провайдеров кластер Kubernetes и настроить облачные сервисы под нужды команды разработки. В каждый кластер развертывается экосистема, необходимая для разработки и эксплуатации продукта команды, такая как стек мониторинга и централизованного логирования.
Перестроить процессы разработки команд в соответствии с новым подходом, изменением в моделях ветвления и новой схемой развертывания.
Обучить команды заказчика разработанному решению, внедренным практикам и инструментам, передать решение командам во владение.
Команда разработки может получить полностью развернутое окружение с нуля до боевого состояния, включая развертывание self-hosted Kubernetes, создание и настройку сервисов мониторинга и логирования, в Яндекс Облаке за 30-40 минут.
Команда разработки может получить полностью развернутое окружение с нуля до боевого состояния, включая развертывание managed Kubernetes, создание и настройку сервисов мониторинга и логирования, в GCP за 20 минут.
Поведение приложения на продуктовых средах стало прогнозируемо, уменьшилось количество ошибок и дефектов связанных с ручной настройкой окружений и выкаткой приложений.
Уменьшилось время необходимое на диагностику ошибок и дефектов приложения на тестовых окружений за счет интеграции тестовых окружений с системами логирования и мониторинга и моментальной доступности логов и метрик приложения команде разработчиков.
Команда клиента получила необходимую экспертизу для дальнейшего развития решения. Произвели обучения команды клиента. Совместно с командой клиента составили план развития решения.
АО “Райффайзенбанк” подтверждает, что компания ООО “Экспресс 42” в период с 16 января 2017 по 22 мая 2017 года успешно реализовала проект по внедрению процесса непрерывной поставки ПО для интернет-банка Райффайзен банка RConnect. В рамках проекта были решены следующие задачи:
- Создание тестовых окружений «по кнопке»
- Внедрен процесс управления конфигурацией (Инфраструктура как Код) для уже существующих сред
- Налажен процесс непрерывной интеграции (CI)
- Налажен процесс управления версиями схемы БД
- Налажена выкатка во все среды, включая боевую, «по кнопке».
“Инжэниус Тим” благодарит компанию ООО “Экспресс 42” за проведение аудита процессов и инструментов разработки и тестирования ПО Forecast Now.
В рамках аудита были рассмотрели основные DevOps практики и инструменты, которые помогут решить текущие проблемы в разработке и тестировании ПО ForeCast Now и выполнены следующие задачи:
- Проведен анализ инфраструктуры для тестирования
- Сформирован список DevOps практик для Desktop разработки
- Подготовлены рекомендации по базам данных, мониторингу и логированию
“Бонасорс” благодарит компанию ООО “Экспресс 42” за плодотворную совместную деятельность над проектом по переводу инфраструктуры тестовых окружений компании в облако Amazon Web Services (AWS) и внедрение DevOps практик.
- Проведен анализ текущей инфраструктуры тестовых окружений;
- Спроектирована архитектура тестовых окружений в AWS;
- Реализована система управления тестовыми окружениями в AWS. На проекте использовались следующие инструменты - Linux, Windows, Chef, Terraform, Teamcity, Zabbix, Graylog;
- Внедрена новая система и осуществлена миграция тестовых окружений;
- Проведено обучение по основным DevOps практикам - инфраструктура как код, непрерывная поставка, мониторинг и логирование;
- Подготовлена программа дальнейшего развития проекта.
Ведущий инженер команды аудита и консалтинга. Руководил проектом по разработке платформы CI/CD и подключения к ней команд клиента. В рамках проекта автоматизировали процессы сборки и деплоя, разработали CI/CD процесс для 6 команд. Четыре команды разрабатывали Java + Angular приложения, одна команда разрабатывала на PHP и одна Node.JS приложение.
Проводил обучающие мастер классы по Ansible, Git, CI/CD. Участвовал в разработке и чтении курса DevOps практики и инструменты на платформе Отус. Писал ботов для автоматизации рутинных процессов внутри компании.
Инженер команды инфраструктурной платформы. Участвовал в проектах по построению инфраструктурной платформы на основе Kubernetes и Openshift, подключению к платформе CI/CD, мониторинга, логирования.
Имею опыт в трансформации процессов выпуска ПО в таких организациях как Райффайзенбанк, Х5 Retail Group, ПИК Технологии, в который входит проектирование процессов и инфраструктуры, автоматизация и интеграция технических решений по управлению инфраструктурой с применением современных практики, таких как Инфраструктура как код (IaC), Непрерывная поставка (CI/CD), Observability (Централизованное логирование, Непрерывной мониторинг, Трейсинг), а также обучение сотрудников клиента новым подходам и инструментам.
Принимал участие в проектах по построению инфраструктуры для организации процессов непрерывной интеграции и непрерывной поставки (CI/CD), построению CI/CD для продуктовых команд компаний (за плечами более 10 команд), обеспечение работы сервисов у условиях нескольких ДЦ, организация централизованных систем мониторинга и логирования для продуктовых команд
Увлекаюсь IoT решениями, применяю DevOps практики и инструменты в личных проектах http://github.com/serjs
Принимал участие в разработке и чтении курсов: Docker, базовый курс, Непрервная поставка с Docker, Централизованные системы логирования: Elastic stack, DevOps практики и инструменты
Запишитесь на вебинар
Расскажите о вашем проекте, мы свяжемся с вами
и вместе рассчитаем стоимость в индивидуальном порядке.
Давайте обсудим ваш проект
и разберемся, как мы можем вам помочь
Остались вопросы?
Мы перезвоним и ответим на них!
Спасибо, ваши данные успешно отправлены!
Мы свяжемся с вами как можно скорее