Привет, Хабр! Сегодня мы делимся с вами простым и понятным руководством по применению Mobile DevOps на практике.
Помимо бумажного руководства, под катом также можно найти видеозаписи одноименного мастер-класса, в котором рассматриваются все аспекты DevOps применительно к мобильной разработке.
Предоставляю слово автору Вячеславу Черникову.
Mobile DevOps: руководство к действию
Приветствую, читатель.Лето снова пролетело со скоростью кометы, и с наступлением осени пришло время вернуться к 150-процентной производительности.
Еще весной мы с Microsoft подготовили руководство «Mobile DevOps на практике» о том, как максимально автоматизировать процесс разработки мобильных приложений.
Ниже приведен вводный фрагмент полного руководства.
1. О DevOps
1.1 О культуре DevOps
Сам DevOps медленно распространяется по планете, внедряя гибкие методы управления.Однако если присмотреться, DevOps — это прежде всего культура, в которой вся команда, разрабатывающая и поддерживающая ИТ-систему, работает как единое целое.
Именно общение внутри команды является обязательным для построения здорового взаимодействия между бизнесом, программистами, системными администраторами и тестировщиками.
Второй важный элемент любого процесса DevOps — обучение команды.
В идеальном мире команда (начиная с бизнеса) должна научиться лучше удовлетворять потребности конечного пользователя, создавая ценность для клиента.
Но на практике вам также нужно научиться рассчитывать «ценность» и делать из нее разумные выводы.
В любом случае обучение требует обратной связи от реальных пользователей.
Таким соединением становятся системы непрерывного мониторинга работоспособности ИТ-систем и различные системы логирования.
И чтобы этот DevOps существовал не только в головах разработчиков, его необходимо реализовать на практике с помощью инструментов, соответствующих потребностям задачи.
Частью культуры DevOps также является стремление автоматизировать рутинные действия.
Это делает процесс разработки и развития ИТ-систем менее болезненным и более эффективным.
1.2 В чем разница между DevOps и Mobile DevOps
Сам DevOps возник как подход для крупных команд и компаний, работающих над крупными ИТ-системами, состоящими из большого количества модулей, часто написанных на разных языках программирования и предназначенных для разных сред выполнения.Однако по мере того, как этот термин и подход стали популярными, DevOps стали применять различные команды, решающие широкий круг задач.
Чаще всего DevOps ассоциируется с крупными цифровыми продуктами, разработкой и сопровождением которых занимаются десятки, сотни, а иногда и тысячи специалистов.
Многие команды уже разработали собственные практики и инструменты для поддержки процесса DevOps — системы автоматических сборок, тестирования, развертывания и мониторинга.
Обычно это все создается на собственной инфраструктуре, но активно развиваются и облачные инструменты CI/CD.
Рисунок 1. Разница между Mobile DevOps и Enterprise DevOps
Все это мало связано с разработкой мобильных приложений.
Mobile DevOps — это «уменьшенная» версия обычного DevOps, поскольку мобильные приложения — это прежде всего удобный интерфейс взаимодействия с внешними ИТ-системами.
Меньший масштаб команды и свои специфические проблемы, характерные для мобильных приложений (см.
рисунок 1):
- — различные платформы;
- - различные устройства.
1.3 Общая документация и общий язык
Для того чтобы DevOps работал и было реальное взаимодействие между командами, необходим общий язык и единая рабочая документация, понятная всем участникам.Здесь ни один подход не дает четких указаний, и все системы разные.
Однако именно документация живет вместе с проектом на протяжении всего его жизненного цикла и является инструментом коммуникации и взаимодействия команды.
Рисунок 2. Рабочая документация
Грамотная рабочая документация позволяет упростить и ускорить разработку проекта.
Более подробно этот процесс описан в нашем Руководстве №2».
Технический дизайн мобильных приложений ".
Здесь мы обозначим основные документы (см.
рисунок 2): — список экранов; — карта переходов и состояний; — таблица экранов.
В этих документах важно использовать непрерывное наименование и нумерацию.
Это то, что упрощает и ускоряет процесс общения внутри команды.
Также немаловажным фактором является соответствие «документация-код», что делает общение между бизнесом и разработчиками понятным.
2. Особенности Mobile CI/CD
Итак, с культурой взаимодействия и рабочей документацией мы определились и теперь можем переходить к инструментальной поддержке в виде CI/CD-конвейера.Чем больше операций вы сможете автоматизировать, тем лучше.
2.1 Проблемы мобильной разработки
Мобильная разработка имеет три характерные проблемные области:- Различные операционные системы и их версии.
Приложение должно корректно работать в широком спектре различных операционных систем, каждая из которых имеет свои особенности и ограничения.
- Различные варианты архитектуры процессора.
Аппаратное обеспечение смартфонов и планшетов постоянно совершенствуется, но не следует забывать и о «старичках» пятилетней давности, которые могут оказаться на руках у ваших реальных пользователей.
- Различные разрешения экрана устройства.
Независимо от количества пикселей или соотношения сторон, интерфейс мобильного приложения должен корректно отображаться на всех устройствах.
2.2 Что можно тестировать автоматически
На практике без ручного тестирования на смартфонах или планшетах обойтись невозможно.Однако некоторая часть кода легко покрывается автоматическими тестами на основе Unit Testing (далее просто модульные тесты).
Давайте посмотрим на типичную архитектуру большинства приложений — рисунок 3.
Рисунок 3. Классическая трехуровневая архитектура
Разумнее реализовать полное тестовое покрытие в 2-х направлениях:
- модульные тесты (функциональные, интеграционные) для уровня доступа к данным или хранилищ.
- Тесты пользовательского интерфейса (функциональные, регрессионные) для уровней бизнес-логики и пользовательского интерфейса.
На этапе автоматизированного модульного тестирования конвейера CI/CD будет полезно охватить следующие механизмы уровня DAL:
- Методы доступа к серверному API;
- методы доступа к данным (Репозитории);
- работоспособность приложения на реальных устройствах с требуемыми характеристиками;
- возможность реализации ключевых бизнес-сценариев.
Удобство, плавность анимации и другие пользовательские характеристики сложно оставить на автотесты; их лучше оставить живым тестерам и бета-пользователям.
Конец вводного фрагмента.
Полезные материалы
Книга Mobile DevOps на практике
Полная цифровая версия бумажного руководства «Мобильный DevOps на практике» .
Видеоматериалы мастер-класса «Мобильный DevOps на практике» (4 части по 3,5 часа)
Часть 1
Часть 2
Часть 3
Часть 4
DevOps-саммит
Если вы хотите обсудить Mobile DevOps вживую или задать вопросы, буду рад видеть вас на Microsoft DevOps Summit 13 сентября в Москве ( Регистрация ) или на DevOps Days 14-15 сентября в Казани ( подробнее ).
Как всегда буду рад вашим отзывам и вопросам в комментариях! Оставайтесь на связи!
об авторе
Вячеслав Черников – руководитель отдела развития компании Бинвелл , Microsoft MVP и сертифицированный разработчик Xamarin. Ранее был чемпионом Nokia и сертифицированным специалистом по Qt, в настоящее время специалист по платформам Xamarin и Azure. Он пришел в мобильную сферу в 2005 году и занимается разработкой мобильных приложений с 2008 года: начинал с Symbian, Maemo, Meego, Windows Mobile, затем перешел на iOS, Android и Windows Phone. Вы также можете прочитать статьи Вячеслава в блог на Medium .
Теги: #microsoft #Разработка мобильных приложений #ИТ-инфраструктура #Системное администрирование #DevOps #мобильная разработка #мобильная DevOps #binwell
-
Firefox Будет Портирован На Qt
19 Oct, 24 -
Почему Oracle Хочет Купить Sun (Объяснение)
19 Oct, 24 -
Быстро Создать Временный Проект
19 Oct, 24