Yota Devices: как облака в моделях IaaS и SaaS помогают разработчику YotaPhone

Yota Devices: как облака в моделях IaaS и SaaS помогают разработчику YotaPhone

О компании

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

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

Офисы Yota Devices

Рисунок 1. Офисы Yota Devices

Офисы Yota Devices расположены в Европе, Азии, США и на Ближнем Востоке. Штаб-квартира находится в Москве. В компании работают ведущие разработчики элементной базы и программного обеспечения из России, Финляндии и Китая.

Владимир Саган, ИТ-менеджер Yota Devices

«У нас географически распределенная компания, процентов 20–30 клиентов ИТ — удаленные сотрудники, работающие из дома (home office users). Но даже те коллеги, которые присутствуют в офисе, должны быть высокомобильными, так как в условиях стартапа часто приходится работать по ненормированному графику, особенно когда речь идет о серьезных проектах. В таких случаях коллеги забирают ноутбуки и работают удаленно».

Владимир Саган, ИТ-менеджер Yota Devices

Для чего потребовалось IaaS-, SaaS-облако

Для чего потребовалось IaaS-, SaaS-облако

Причины, по которым Yota Devices использует облако «ИТ-ГРАД»:

  • Требования к отказоустойчивости. Для Yota Devices особенно важна работа сервисов с указанными характеристиками, которую сегодня обеспечивает выбранный хостинг-провайдер.
  • Доступность сервисов 24 часа в сутки. Поскольку клиенты Yota Devices находятся в разных часовых поясах, важно, чтобы доступность сервисов была круглосуточной.
  • Быстрое решение технических вопросов и возможность запуска сервисов в короткие сроки.

Yota Devices активно использует облачные решения. Для сервисов, которые компания Yota Devices разрабатывала самостоятельно или при помощи сторонних подрядчиков, «ИТ-ГРАД» предоставляет инфраструктуру в модели IaaS. По модели SaaS Yota Devices получает сервисы, разработанные совместно специалистами Yota Devices и «ИТ-ГРАД».

Особенности облачных сервисов Yota Devices

По словам ИТ-менеджера Yota Devices Владимира Сагана, в «ИТ-ГРАД» располагаются сервисы, требующие высокого уровня доступности и отказоустойчивости. Это сервисы постпродажного обслуживания продуктов и технологичные сервисы, например FOTA (Firmware Over The Air) — сервер обновления мобильных устройств через Интернет.

Облачная инфраструктура Yota Devices

Рисунок 2. Облачная инфраструктура Yota Devices

# FOTA-сервер: получение прошивок по воздуху

На заре распространения мобильных телефонов установка обновлений, прошивок и патчей выполнялась в авторизованных производителем сервисных центрах. В зависимости от политики компании, одни это делали платно, другие бесплатно. С развитием технологий, особенно когда Интернет стал доступен практически в каждом доме и мобильном устройстве, производители модемов, телефонов и прочей техники, пришли к идее обновления своих продуктов «по воздуху». Однако пропускная способность в мобильных сетях первого и второго поколения не позволяла закачивать прошивки, поскольку они были достаточно тяжелыми, да и трафик сам по себе был весьма дорогой. В мобильных сетях последнего поколения эта проблема решена, и теперь обновления доставляются до клиентов через специализированный сервис, который работает из облака и позволяет устройствам самостоятельно, без вмешательства пользователя, соединяться с сервисом и закачивать прошивки.

Как работает FOTA-сервер Yota Devices? Если вкратце, то так: разработчики выгружают существующие обновления на сервер, формируют группы распространения ПО по географическому и функциональному принципу и сервер оповещает мобильные устройства пользователей о доступности новой версии прошивки или патча.

«Когда мы только приступали к разработке собственного сервиса обновлений, наши ресурсы были сильно ограничены — сервис разворачивали в спешке, практически на коленке. Мы развернули необходимые решения, организовали публикацию в Интернете, внесли изменения в базовый протокол телефонов, и первые устройства Yota Devices уже получали обновления с сервера в облаке «ИТ-ГРАД». Позже разработали более продвинутую версию сервиса, поскольку в процессе эксплуатации первой версии появилось большое количество функциональных требований. Так что сегодня мы используем уже второе поколение FOTA-сервера, который, в дополнение к базовым функциям обновления устройств, может собирать статистику по использованию прошивок, отслеживать их популярность, помогая нам формировать более гибкую стратегию разработки ПО и обновлений».

Владимир Саган, ИТ-менеджер Yota Devices

# Error-сервер как средство сбора технической информации и ошибок

Помимо сервера обновлений, в облаке «ИТ-ГРАД» находится Error-сервер.

Сервер ошибок (Error server) представляет собой облачное хранилище журналов ошибок устройств. При возникновении проблемы телефон соединяется с хранилищем и отправляет копию журнала ошибок, содержащую только техническую информацию о произошедшем. Журналы анализируются, и полученная информация позволяет на раннем этапе выявлять баги, тем самым постоянно улучшая стабильность работы устройств.

О сложностях на пути в облако

О сложностях на пути в облако

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

Одной из трудностей совместной работы можно назвать сложность определения зоны ответственности поставщиков при возникновении системных инцидентов. Архитектура облачных ИТ-сервисов компании Yota Devices состоит из множества компонентов, и довольно часто возникали ситуации, при которых не было очевидно, какая сторона отвечает за возникшую ошибку в сервисе: «ИТ-ГРАД», внутренние разработчики Yota Devices или один из других поставщиков ИТ-услуг.

«Приходилось налаживать взаимодействие между командами и заниматься микроменеджментом. Иногда приходилось убеждать копнуть глубже и выполнить больше, чем подразумевалось изначальными договоренностями. В некоторых случаях инженеры «ИТ-ГРАД» и разработчики Yota Devices выполняли задачи, лежащие в зоне ответственности друг друга.

Что касается сервисов, предоставляемых по модели SaaS, то к ним относится сервер обновлений прошивок и сервер журналирования ошибок. При проектировании первого поколения этих сервисов инженерам «ИТ-ГРАД» пришлось глубоко погружаться в проект, заниматься разработкой и «деплоить» сервисы по модели SaaS. По сути, мы передали набор высокоуровневых требований, а инженеры «ИТ-ГРАД» помогли нам разработать законченное решение. Здесь периодически возникали проблемы, связанные со сбором и передачей требований инженерам «ИТ-ГРАД»: требования к сервисам не всегда можно было сформулировать четко, вследствие чего многое приходилось переделывать буквально «на лету». Но, несмотря ни на что, сервисы удалось успешно запустить в производство, и сегодня мы довольны стабильностью работы и качеством предоставляемых услуг».

Владимир Саган, ИТ-менеджер Yota Devices

Yota Devices — разработчик и производитель LTE-оборудования, выступает потребителем облачных решений, предлагаемых в модели IaaS и SaaS. Пройдя непростой путь от разработки сервисов двух поколений до их реализации в облаке, компания добилась поставленных целей. Стабильная работа облачных сервисов, круглосуточная доступность и отказоустойчивость обеспечивают бесперебойное обслуживание пользователей Yota Devices, что лишний раз доказывает важность и востребованность облачных технологий.

* Источник материала Компьютерра