RSS

Комментарии

Трудности с доступами, ограничение хостингов на доработки сайтов, ошибки в структуре и недостаточная функциональность — вот далеко не весь список типичных ошибок, с которыми сталкиваются владельцы бизнеса, когда решают начать продвижение. Многих проблем можно избежать, если заниматься seo-проектированием на начальных стадиях создания сайта.
Некоторые рекомендации по оптимизации затрат на таблицы AWS DynamoDB:
— Правильное определение выделенной ёмкости. Нужно точно оценить требуемую выделенную ёмкость для таблиц DynamoDB. Для этого следует отслеживать шаблоны трафика приложения с помощью метрик Amazon CloudWatch и встроенной панели управления DynamoDB. Затем нужно проанализировать данные и скорректировать выделенную ёмкость на основе наблюдаемых моделей использования.
— Выделенная ёмкость с автоматическим масштабированием. Это экономичный вариант для рабочих нагрузок с более предсказуемой моделью трафика. Настроив политики автоматического масштабирования на основе показателей производительности приложения, DynamoDB сможет автоматически увеличивать или уменьшать выделенную ёмкость по мере необходимости.
— Выделенная ёмкость с временным окном. Если трафик приложения демонстрирует предсказуемые шаблоны или ограничен определёнными периодами времени, можно оптимизировать расходы, используя выделенную ёмкость с временным окном.
— Эффективное использование вторичных индексов. Вторичные индексы позволяют эффективно запрашивать данные в DynamoDB, но каждый индекс требует дополнительных затрат. Перед созданием вторичных индексов нужно тщательно проанализировать шаблоны доступа приложения и создавать только те индексы, которые необходимы для запросов.
— Мониторинг затрат и оповещение. Cost Explorer предоставляет подробные отчёты о затратах и аналитические данные, позволяющие анализировать тенденции затрат, определять факторы затрат и оптимизировать использование DynamoDB.
Для оценки затрат на таблицы AWS DynamoDB можно использовать инструмент «Обозреватель затрат» (Cost Explorer) в консоли управления AWS. Он позволяет просматривать затраты в разбивке по типам, например расходы на чтение, запись, хранение и резервное копирование. Также можно просмотреть эти затраты, суммированные по периодам (месяц или день).
Несмотря на то, что инструменты автоматизации DevOps помогают добиться обещанного этой методологией ускорения доставки продукта, очень важно выбрать их правильно. В свете большого числа представленных на рынке открытых и лицензированных инструментов может быть трудно выбрать наиболее подходящие под ваши бизнес-задачи. Вам потребуется уникальный подход, который поможет определить инструменты, соответствующие конкретным требованиям вашего бизнеса.

Здесь важную роль играет гибкость. Поэтому при выборе инструментов склоняйтесь к тем, которые будут достаточно гибкими для масштабирования в соответствии с вашими требованиями. Избегайте решений, которые привяжут вас к конкретной методологии. Хорошие инструменты автоматизации обеспечат открытую структуру, которая позволит командам DevOps начать с малого, но в конечном итоге дойти до крупных, сложных и межрегиональных облачных деплоев.

Ещё одним фактором при выборе инструментов автоматизации выступает интеграция. Выбирайте такие решения, которые будет легко совместить с другими инструментами вашего стека. Предпочитайте те, которые не привязаны к конкретному приложению, платформе или облаку.
Как выбрать подходящий инструмент автоматизации на ваш взгляд?
В контексте автоматизации существует множество программных инструментов. Как открытые, так и лицензированные продукты поддерживают сквозную автоматизацию конвейера DevOps. И хотя описанные выше практики играют первостепенную роль для достижения целей автоматизации, командам также следует задействовать набор инструментов для дополнительного повышения продуктивности и эффективности. Вот некоторые из лучших решений для автоматизации, которые обрели в экосистеме DevOps широкую популярность.

1. Terraform

Terraform является открытым самоуправляемым IaC-инструментом, который автоматизирует развёртывание, конфигурирование и управление облачной инфраструктурой. С помощью него ваши команды могут легко развёртывать и настраивать её на закрытых и публичных облаках. Для поддержания состояния инфраструктуры этот инструмент использует файлы состояний. Он разрабатывает план выполнения, описывающий этапы достижения нужного состояния, после чего выполняет его, создавая соответствующую инфраструктуру. Таким образом, Terraform позволяет командам DevOps эффективно создавать и изменять её без ручного вмешательства.

2. Ansible

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

3. Git

Git является одним из наиболее популярных инструментов DevOps в индустрии. Это распределённый механизм управления исходным кодом, который позволяет разработчикам поддерживать разные версии ПО и отслеживать прогресс разработки. Он также позволяет при необходимости производить откат к прежним версиям кода. Git можно легко интегрировать в рабочие потоки DevOps, используя такие репозитории, как GitHub, куда команды могут с лёгкостью отправлять готовую работу.

4. Jenkins

Jenkins – это один из лучших инструментов, который позволяет реализовать непрерывную интеграцию и доставку за счёт автоматизации повторяющихся задач в конвейере CI/CD. Это открытый, написанный на Java инструмент, что делает его совместимым с любой операционной системой. Более того, он предлагает тысячи встроенных плагинов, которые помогут интегрировать и автоматизировать все фазы цикла разработки ПО. Благодаря ему, ваши команды DevOps могут автоматически отправлять код в репозиторий, выполнять тестовые кейсы и развёртывать ПО в продакшене.

5. Chef

Chef – это написанный на Ruby инструмент управления конфигурацией, который используется для масштабирования IT-операций. Он гарантирует правильную настройку и работу всех компонентов инфраструктуры, таких как базы данных, балансировщики нагрузки и веб-серверы. Chef представляет инфраструктуру как код, в котором он использует Cookbooks для сохранения рецептов, описывающих настройку конфигурации. В случае возникновения проблем он позволяет командам DevOps подстраивать или воссоздавать инфраструктуру. Это обеспечивает короткие периоды даунтайма и высокую доступность систем, повышая общую продуктивность.

6. Docker

Docker, являясь открытой платформой на базе Linux, представляет наиболее популярный набор инструментов DevOps. За счёт использования контейнеризованных сред команды DevOps получают возможность быстро и эффективно создавать, а также выполнять переносимые, безопасные и распределённые приложения. Эти приложения не зависят от ОС или платформы и могут быть с лёгкостью интегрированы с любым облачным сервисом. Более того, Docker предоставляет возможность гибкого управления образами при помощи закрытого реестра. Он также позволяет создавать собственные образы и подстраивать существующие под ваши потребности.

7. Kubernetes

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

8. Puppet

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

9. TeamCity

TeamCity – это инструмент непрерывной интеграции и развёртывания (CI/CD), который автоматизирует все связанные с этим процессы. Он обеспечивает непрерывное модульное тестирование, анализ качества кода и быструю обратную связь при каждом изменении, что повышает продуктивность командной работы. Этот инструмент легко настраивается и не требует каких-либо плагинов. В нём можно одновременно запускать параллельные сборки на разных платформах и в разных средах.

10. Bamboo

Bamboo представляет собой CI/CD инструмент, который автоматизирует все процессы, начиная со сборки и заканчивая развёртыванием. Он несёт в себе широкую функциональность, в связи с чем не требует большого числа плагинов и экономит время, необходимое на настройку. Помимо этого, Bamboo позволяет командам DevOps параллельно выполнять тесты вашей сборки, а также конфигурировать несколько веток, писать и выполнять скрипты. Вдобавок ко всему, этот инструмент легко интегрируется с платформами управления проектами, такими как Jira и Bitbucket.

11. Nagios

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

12. Splunk

Splunk – это инструмент управления журналами, который позволяет командам DevOps с лёгкостью находить, анализировать и визуализировать генерируемые машинами данные и журналы в реальном времени, получая полезную информацию. С его помощью ваша команда может быстро собирать данные из множества источников. Splunk предоставляет обширную функциональность, такую как фильтрация логов и генерация графов. Его можно легко интегрировать с инструментами управления проектами вроде Jira.

Считаю важным также упомянуть и другие популярные инструменты автоматизации:

— Gradle: автоматизация сборки;
— BitBucket: CI/CD инструмент на базе Git;
— Raygun: мониторинг производительности приложения;
— Selenium: автоматизация тестирования;
— Snort: обеспечение безопасности;
— Gangila: инструмент распределённого мониторинга;
— Buddy: инструмент CI/CD;
— QuerySurge: автоматизированное тестирование;
— Vagrant: инструмент CI/CD;
— Graphite: инструмент мониторинга.
Спасибо за отзыв. Какие лучшие инструменты автоматизации DevOps посоветовали бы?
Концепция DevOps не нова. В IT-индустрии все понимают, что это правильная методология построения ПО. DevOps пленила мир своим обещанием ускоренной доставки высококачественного продукта. Однако, несмотря на это обещание, многие бизнес-проекты не осознают весь потенциал этой методологии. И хотя отчасти это обусловлено культурной инертностью и недостатком навыков, основным препятствием для получения полноценной отдачи от вложений в DevOps остаётся отсутствие автоматизации. Именно за счёт интеграции и автоматизации можно добиться более эффективного потока разработки ПО. Поэтому в текущей статье мы разберём, что подразумевает собой автоматизация DevOps, и как можно начать автоматизировать ваши процессы в рамках данной методологии.

Что такое автоматизация DevOps?

Автоматизация является фундаментальным принципом DevOps. На деле конечной целью применения DevOps выступает полная автоматизация всех повторяющихся задач в цикле разработки ПО, начиная с проектирования и заканчивая развёртыванием с последующим управлением релизами.

Как правило, разработка ПО состоит из множества задач, над которыми трудятся различные команды. Сюда относится анализ кода, модульное тестирование, выполняемые командами разработки; тестирование функциональности, производительности и прочих процессов, реализуемое командами тестировщиков; а также поэтапное развёртывание и управление релизами, за которое отвечают операционные группы. Автоматизация и оптимизация всех этих процессов в DevOps реализуется с помощью различных инструментов и технологий.

В качестве наиболее популярных инструментов здесь можно назвать Puppet, Chef, Ansible и Jenkins, а к распространённым технологиям относится автоматизация IT и инфраструктуры.

Пять основных преимуществ автоматизации DevOps для бизнеса

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

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

1. Повышенная продуктивность

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

2. Высокая стандартизация

Автоматизация DevOps позволяет стандартизировать рабочие потоки, процессы, технологии и метрики. Это, в свою очередь, помогает минимизировать повторы, снизить риски и обеспечить подобающие руководства к реализации задач. Использование стандартизованных практик также даёт возможность автоматизировать и другие ручные процессы, помогая экосистеме DevOps перейти от автоматизации к оркестрации.

3. Повышенная гибкость

За счёт автоматизации DevOps ваши команды получают бо́льшую гибкость в плане охвата и функциональности автоматизированных процессов. Теперь они могут настраивать и оптимизировать их даже после изменения стека технологий.

4. Высокая масштабируемость

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

5. Высокая согласованность

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

Подготовка к автоматизации DevOps

По автоматизации DevOps не существует какого-то конкретного свода правил. В этом направлении постоянно происходят различные изменения. Поэтому перед вами лежит огромная область, где вы можете столкнуться со множеством вопросов вроде: «С чего начать?» или «Какие процессы можно и нужно автоматизировать?»

Прежде чем знакомиться с лучшими практиками автоматизации DevOps, мы разберём некоторые типичные рекомендации, которые помогут понять, что и как следует автоматизировать.

1. Отдавайте предпочтение открытым стандартам

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

2. Используйте динамические переменные

Переиспользование кода помогает значительно сократить объём повторно выполняемой работы, которую требуется проделать сейчас и в дальнейшем. Задействование в скриптах или специализированных инструментах внешних переменных является оптимальным способом применения автоматизации к различным средам без необходимости изменять сам код.

3. Выбирайте гибкий инструментарий

Гибкий набор инструментов помогает адаптироваться к изменяющейся экосистеме DevOps. Сложно найти инструмент, подходящий под все случаи, однако использование таких решений DevOps, которые обеспечивают гибкость в изменении технологий, помогает уменьшить объём повторной работы в случаях перестройки конечных целей или общей смены направления проекта. Выбирайте такой инструмент, который обладает широким спектром партнёрских интеграций, работающих с любым облаком, чтобы у вас была возможность добиться поставленных целей, не будучи ограниченным имеющимся набором инструментов.

4. Используйте ИИ

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

5. Унифицируйте набор инструментов DevOps

Раздробленность инструментария DevOps и различие пайплайнов препятствует отчётливой видимости цикла разработки ПО. Сильная раздробленность усложняет централизованное управление и оптимизацию инструментов автоматизации DevOps в реальном времени. Поэтому крайне важно обеспечить единое видение жизненного цикла DevOps, чтобы оценивать и улучшать доставку, а также развёртывание ПО.

Лучшие практики автоматизации DevOps

Познакомившись с основными рекомендациями по началу автоматизации DevOps, можно перейти к лучшим практикам, которые позволят задействовать весь её потенциал.

1. CI/CD

Непрерывная интеграция, доставка и развёртывание (CI/CD) тесно связаны с DevOps. Методологии DevOps, наряду с конвейером CI/CD, повышают продуктивность разработки. И хотя CI/CD и DevOps отличаются, первая выступает ключевым аспектом автоматизации второй. Автоматизацию можно применить ко всем аспектам CI/CD, включая коммиты кода, его сборку и развёртывание упакованных приложений в тестировочных или продакшен-средах. Это помогает проводить мониторинг, интеграцию и тестирование с целью ускоренного внедрения изменений в приложение с сохранением высокого качества. Более того, автоматизация CI/CD освобождает команду от рутинных задач, позволяя сфокусироваться на освоении нового и привнесении ценности.

2. Контроль версий

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

3. Контроль изменений

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

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

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

4. Управление конфигурацией

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

5. Инфраструктура как код (IaC)

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

6. Непрерывный мониторинг

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

7. Управление логами

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

Коротко весь путь выглядит так:
— Сегментирование ЦА
— Описание сегментов (выдвижение первичных гипотез)
— Интервьюирование

Распределение данных анализа

Всю работу по сегментации целевой аудитории удобно делать в какой-нибудь программе для составления ментальных карт. Я пользуюсь Xmind. Но, если нравится работать с таблицами или структурированными текстами, то же самое можно делать и с Excel, Word или на Google Docs.

Важный момент: маркетинг — не математика. Здесь всё работает исключительно на гипотезах, которые проверяются и отбраковываются. Остаётся только то, что работает. Заранее никак нельзя сказать, что сработает наверняка, но с опытом можно попадать всё точнее.

Важно понимать разницу между целевой аудиторией и её сегментами. Для начала определения.

Целевая аудитория — это аудитория потенциальных потребителей какого-либо товара или услуги.

Сегментирование целевой аудитории — это разделение аудитории на группы, где они объединены по признаку схожих потребностей (запросов).
Интересно и как же правильно?
Всё начинается с исследования потребителей

Это то, с чего ВСЕГДА нужно начинать, и то, что в большинстве случаев делается неправильно.

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

Часто целевая аудитория описывается примерно так: мои клиенты — это мужчины от 25 до 40 лет со средним достатком и выше. Ну или что-то в этом духе. Суть в том, что это вообще никак не назвать целевой аудиторией. Определенно, в этом множестве есть потенциальные клиенты. Если повезёт, то с такими настройками ещё и окупаемость может случиться. Однако, это крайне не эффективная стратегия. Из Владивостока в Москву ведь тоже пешком можно дойти, и это сработает, только стоит ли оно того, когда есть поезда и самолёты?

И ещё раз: если исследование потребителей не сделано, всё остальное не имеет большого значения. Техническая часть, качественный контент, огромные рекламные бюджеты… всё не важно. Ну не продать говяжий бургер в общине воинствующих веганов эко-активистов, их лучше исключить из ЦА :)
Такой помощник больше не является уделом немногих счастливчиков, которые могут позволить себе частных репетиторов или отправиться на отдых в другую страну для общения с носителями языка.

Прежде чем объявить ChatGPT-4 бесспорным чемпионом в области изучения языков, давайте проясним: он не идеален. И хотя, действительно, ИИ иногда может выдать нелепый ответ, а опора на один только ИИ не может обеспечить полный спектр культурного понимания, его преимущества сложно переоценить.
ChatGPT4 меняет представление о том, как мы взаимодействуем с машинами и общаемся друг с другом. Его естественные ответы и способность понимать контекст делают его ценным инструментом для различных отраслей, таких как здравоохранение, маркетинг и образование. Тем не менее, его ограничения, такие как отсутствие эмоционального интеллекта и этические проблемы, требуют решения. ChatGPT4 обладает огромным потенциалом, но мы должны использовать ответственно и обеспечивать соответствие нашим этическим ценностям и принципам.

В целом, ChatGPT4 — это революционная технология, которая способна произвести революцию в том, как мы общаемся и взаимодействуем с машинами. Ее возможности обработки естественного языка и способность понимать контекст делают ее ценным инструментом для различных отраслей, таких как здравоохранение, маркетинг и образование. Однако мы должны знать о его ограничениях и учитывать этические аспекты, чтобы его использование соответствовало нашим ценностям и принципам.
Ожидается, что в 2025 году рынок ИИ (включая системы ADAS и роботизированные автомобили) будет оцениваться в 2,75 миллиарда долларов, и из них 2,5 будут приходиться только на ADAS

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

ИИ прокладывает путь для беспилотного транспорта

«ИИ постепенно вторгается в нашу жизнь, и это особенно актуально в автомобильном мире», — утверждает Йоханн Чуди, аналитик по технологиям, рынку, вычислительной технике и программному обеспечению в компании Yole Développement (сокращенно Yole). «ИИ может стать основным инструментом для создания систем беспилотной езды, хотя многие компании боятся чрезмерного ажиотажа и не опираются на интеллектуальные системы в рамках своих стратегий по созданию систем беспилотной езды».

Компании, уловившие этот аспект технологической битвы, уже вырываются вперед. Влияние COVID-19 пока непонятно, но аналитики из Yole уже сейчас утверждают, что пандемия будет иметь серьезные последствия. Скорее всего, исследования в области беспилотного транспорта будут замедлены в этом и следующем году из-за недостатка денежных средств.

Готовы ли системы ИИ к применению в автомобилестроении? Какие компании участвуют в этой гонке? Какие отношения существуют внутри этой экосистемы? Кто победит в «битве за автономность»? Какие поставщики являются ключевыми и какими технологиями они занимаются? Yole представляет свой взгляд на достижения отрасли ИИ и их применение в автомобилестроении.

Кто выигрывает в «гонке за автономностью»

Давайте взглянем на Tesla, компанию, построившую свой стек технологий беспилотной езды (включающий программное и аппаратное обеспечение) самостоятельно, и являющуюся единоличным правообладателем множества решений. Для Tesla стратегия продвижения небольшими шагами будет выгодной, поскольку она не подразумевает каких-то «побочных исследований», она скорее позволяет интегрировать отдельные проекты в общую систему (именно так компания и работает с электромобилями). Скорее всего, недавний кризис подчеркнет лидерство Tesla на рынке (которое, по некоторым оценкам, длится уже несколько лет). Во второй строке аналитики выделили OEM-производителей, разрабатывающих собственный программный стек на основе аппаратного обеспечения, поставляемого другими игроками на рынке.

Нехватка денежных средств может замедлить работу над некоторыми платформами, хотя разработка некоторых проектов длится несколько лет, и, вероятно, она не будет прервана. Даже в случае возникновения задержек, создание систем беспилотной езды является неотъемлемой частью среднесрочных стратегий OEM-производителей (это касается и Tesla). Что касается выжидающих компаний, которые не ставят автономность во главу угла, то скорее всего их исследовательские программы (если они есть) будут приостановлены до момента урегулирования кризиса. Эти компании отстанут в гонке за автономностью, и им придется полагаться на продукты других компаний, которые будут поставлять полноценные решения/функциональные системы для беспилотной езды.

Основной мотив гонки – союз ИИ и электроники

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

Yole делает акцент на интеграции ускорителей (нейронных движков/нейронных процессоров – все это разные маркетинговые названия одной и той же архитектуры) в системы ADAS. Эти модули, которые начали появляться в процессорах мобильных телефонов, предназначены для обработки алгоритмов глубокого обучения – наиболее известный из этих алгоритмов используется в интеллектуальных системах для распознавания объектов в изображениях. В прошлом году компания Tesla интегрировала эти ускорители и ИИ в свой чип Full Self-Driving (FSD).

Большинство OEM-производителей реализуют это решение к 2021 — 2022 годам, так как в настоящее время эти устройства интегрированы во все существующие (и будут интегрироваться в будущем) чипсеты ADAS от компаний Mobileye, Xilinx, TI, Toshiba, Ambarella и Renesas. Эта тенденция к интеграции все большего количества интеллектуальных систем и, следовательно, нейронных процессоров линейно следует за развитием технологий беспилотной езды. Другие тенденции, такие как централизация, будут постепенно преобразовывать будущее вычислений.

Рынок поделен между едиными платформами и процессорами компьютерного зрения

В своем отчете «Artificial Intelligence Computing for Automotive 2020» Yole делает вывод, что рынок автомобильных интеллектуальных систем поделен между едиными платформами и процессорами для компьютерного зрения.

Пьеррик Буле, аналитик по технологиям и рынку твердотельного освещения в Yole сделал следующее заявление: «Мы предполагаем, что существует два варианта архитектуры платформ. Первый – единый чип-компьютер от Nvidia или система беспилотной езды, взятая с топовых роботизированных автомобилей (т.е. „мозг“ транспортного средства). Второй – множество процессоров компьютерного зрения с интегрированными ускорителями – этой архитектурой уже сейчас пользуются многие OEM-производители».

Между этими двумя технологиями возникнет конкуренция, и именно она определит распределение прибыли на рынке. Компания, занимающаяся маркетинговыми исследованиями и стратегическим консалтингом в своем отчете о новых технологиях и рынке пишет, что «в 2025 году рынок ИИ (включая системы ADAS и роботизированные автомобили) будет оцениваться в 2,75 миллиарда долларов, и из них 2,5 будут приходиться только на ADAS».

Yole сотрудничает с System Plus Consulting, чтобы исследовать все прорывные технологии, связанные с приложениями систем ADAS. Недавно представители System Plus взяли интервью у Джунко Йошиды из EE Times: темой разговора стали инновации в новой Audi A8. Часть этого интервью посвящена достижениям Nvidia.

Ромен Фро, генеральный директор System Plus Consulting, объясняет: "… В состав платформы входят процессоры NVIDIA Tegra K1, используемые для распознавания трафика, обнаружения пешеходов, предотвращения столкновений, обнаружения света и распознавания полос движения. Tegra K1 с восемью слоями печатных плат содержит 192 ядра Cuda – столько же, сколько NVIDIA интегрирует в один модуль SMX в графических процессорах на базе архитектуры Kepler. Эти процессоры представлены на рынке в настоящий момент и обладают поддержкой DirectX 11 и OpenGL 4.4"

«Это только начало, и проблемы, связанные с ИИ и его влиянием на автомобильную промышленность, заметны уже сейчас" — комментирует Йоханн Чуди из Yole. У некоторых компаний есть заметное преимущество, и догнать их будет сложно – особенно без интеграции систем ИИ и технологий, связанных с ними.
У искусственного интеллекта (ИИ), появляется все больше новых решений, таких как интеллектуальная диспетчеризация, предиктивное обслуживание, оптимизация маршрутов и т.д. Эти решения помогают компаниям сократить расход топлива, повысить эффективность использования транспортных средств и минимизировать время простоя. При этом преимущества варьируются от оптимизации рабочего процесса и повышения удовлетворенности клиентов до повышения безопасности водителей и сокращения выбросов углекислого газа в атмосферу.

Повышение эффективности с помощью программного обеспечения для управления автопарком на основе искусственного интеллекта

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

Однако искусственный интеллект может быть внедрен в программное обеспечение для управления автопарком, чтобы расширить его возможности и обеспечить дополнительные преимущества для руководителей автопарков. Благодаря использованию таких технологий, как облачные вычисления, машинное обучение (ML), Интернет вещей (IoT), обработка естественного языка (NLP), аналитика больших данных и робототехника, разработчики программного обеспечения могут повысить эффективность и даже автоматизировать операции для решения стоящих перед этими предприятиями задач. Речь идет о таких проблемах, как:

— Оптимизация автопарка
— — FMS с искусственным интеллектом, способные предоставлять данные и события в режиме реального времени, могут анализировать данные о трафике, погодных условиях и других факторах, оптимизируя маршруты в режиме реального времени, сокращая время в пути, расход топлива и улучшая своевременность доставки.
— — ИИ может принимать соответствующие решения о диспетчеризации на основе данных о наличии транспортных средств, квалификации водителей и других аспектов, сокращая время простоя и повышая эффективность использования парка, т.е. «умная диспетчеризация».
— Техническое обслуживание и ремонт
— — Способность прогнозировать необходимость технического обслуживания на основе анализа данных позволяет предприятиям проводить его заблаговременно, что в свою очередь снижает риск поломок и минимизирует время простоя.
— — Программное обеспечение для управления автопарком на основе искусственного интеллекта также может помочь в составлении расписания и предупреждении о необходимости технического обслуживания на основе данных об износе и использовании техники в режиме реального времени. Это позволяет снизить вероятность поломок и улучшить состояние транспортных средств.
— Соблюдение требований и безопасность
— — Благодаря возможности отслеживать поведение водителей, например, скорость, ускорение, торможение и прохождение поворотов, компании могут решать любые потенциальные проблемы со своими водителями, чтобы снизить вероятность аварий.
— — Кроме того, на основе полученных данных предприятия могут проводить индивидуальное обучение и тренинги.
— — Это также поможет обеспечить соблюдение таких нормативных требований, как Hours of Service (HOS) и Electronic Logging Device (ELD).

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

— Доставка и логистика
— — В отрасли, где водители работают по многу часов, программное обеспечение для управления автопарком на базе искусственного интеллекта может помочь справиться с усталостью водителя и обеспечить соблюдение норм HOS.
— — Предприятия могут использовать этот инструмент для оптимизации маршрутов и расписаний с целью повышения эффективности и снижения затрат. Это особенно важно для предприятий, работающих в городах с интенсивным движением.
— Транспортные и курьерские услуги
— — Компании могут повысить уровень удовлетворенности клиентов и своевременности доставки, используя данные о поведении водителей и состоянии транспортных средств в режиме реального времени.
— — Данные о состоянии транспортных средств позволяют компаниям выявлять потенциальные проблемы до того, как они станут проблемой, и соответствующим образом решать их.
— Строительство и инжиниринг

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

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

Направление бизнеса в нужное русло

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

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

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

Ситуация в iOS-разработке тоже сложнее, чем несколько лет назад, — по данным hh.ru, если с 2022 по 2023 год количество вакансий Android-разработчиков сократилось на 20,5%, то предложений для iOS-разработчиков стало меньше на 29,9%.

Такие проблемы связаны с традиционными ограничениями платформы Apple, и есть основания полагать, что дальше будет лучше.

Во-первых, недавно компания разрешила российским разработчикам принимать платежи вне App Store. Значит, сервисы могут брать оплату за подписки и вне магазина, в котором не работают российские банковские карты.

Во-вторых, Apple анонсировала возможность загружать приложения из сторонних магазинов для пользователей из Евросоюза. Как это будет работать в России и можно ли будет загрузить приложения подсанкционных компаний на iPhone, пока неизвестно, но факт — монополия Apple начинает пошатываться, а разработчики, возможно, уже скоро начнут чувствовать себя свободнее.

Хоть наём и сократился, но рынок точно не исчезнет. Россияне по-прежнему покупают iPhone, а пользователи App Store традиционно платят за приложения, причём в полтора раза больше, чем пользователи Android и Google Play. Доля вакансий iOS-разработчиков сократилась, но в абсолютном количестве их всё ещё много.

— «Всё будто зафиксировалось на местах: меньше вакансий, но меньше и людей в активном поиске. Это может измениться в один момент — если какие-то события повлекут снятие санкций и разрядят геополитическую обстановку, я уверен, количество “айосеров” на рынке значительно увеличится, а многие компании, сократившие разработчиков, снова откроют эти позиции»

3. Нативная разработка по-прежнему будет востребованнее кросс-платформенной

Рост спроса на кросс-платформенные инструменты традиционно называют в числе тенденций каждого последнего года. Данные hh.ru подтверждают, что количество вакансий для Flutter- и React Native-разработчиков действительно увеличилось с начала 2023 года.

— «В стартапах кросс-платформенные решения приживаются, потому что так маленькие компании могут за более короткое время охватить большую долю рынка. Среднепродуктовые компании в 2023-м “щупали” кросс-платформу и оценивали, насколько им подходит, например, Flutter. Равнодушие продемонстрировал бигтех — там слишком большой багаж и долгая история поддержки проверенных продуктов»

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

Кроме того, Flutter — один из вариантов, с которым можно заходить в поле PWA-разработки (создания приложений, выглядящих для пользователя как сохранённые закладки сайтов). Такие сервисы нужны не только вместо тех, что удалили из App Store и Google Play, — их в принципе проще поддерживать из-за единой кодовой базы. Среди удачных примеров можно назвать «Диск» от Сбера или приложение «Тинькофф», которое разработали в PWA-формате ещё до санкций.

Но несмотря на умеренный рост, позиции нативной разработки вряд ли заметно пошатнутся. Эксперты относятся к тренду скептически и считают кросс-платформенные инструменты уместными при решении ограниченного набора задач.

— «В последние пару лет кросс-платформа снова ожила. Во фрилансе сейчас сильно популярен Flutter. Небольшой процент бизнес-логики занимает Kotlin Multiplatform. Но многие эксперты сомневаются: а не повторится ли история с поиском серебряной пули? Ярких доказательств пользы на реальных проектах почти нет — скорее, больше маркетинга. Также усложняет веру в кросс-платформу отказ от неё многих крупных компаний. Наём качественных специалистов чаще идёт туго, сложно найти талантливого универсала. Команды закрываются и переводятся на натив»

Вот несколько причин, по которым нативная разработка будет преобладать над кросс-платформенной:

— большие компании продолжат разрабатывать основные продукты привычным способом,

— на кросс-платформу не перейдут сервисы, которые взаимодействуют с железом смартфона и имеют много «нативного» функционала. Например, приложения, работающие с AR, картами, криптоподписями или сим-картами,

— менеджмент давно существующих компаний консервативен и с трудом перестраивается на новые способы разработки продуктов.

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

— А так я бы советовал новичкам начинать с нативной разработки. Flutter — это всё-таки надстройка над нативом, и я, как и многие в индустрии, считаю, что здорово иметь бэкграунд в iOS или Android. Это закаляет начинающих разработчиков, даёт понимание архитектурных паттернов и так далее. Если знаешь особенности одной из платформ, то будешь писать более качественный код, в том числе и на Flutter»
Для тех, кто присматривается: что такое мобильная разработка и чем она отличается от других направлений

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

Для этого мобильные разработчики создают приложения. В этот процесс, например, входит:

— Работа с интерфейсом. Кнопки, переходы, анимация и жесты — перенос всех этих элементов и сценариев из макета в приложение входит в задачи разработчиков.

— Настройка взаимодействия с сетью и бэкенд-частью приложения. Приложения работают с интернетом: посылают запросы и получают оттуда информацию, и за поддержку этого взаимодействия тоже отвечают мобильные разработчики. При этом они не занимаются именно бэкенд-разработкой — сложные «мозги» пишут другие разработчики на Python, Go и других языках.

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

Чтобы выполнять эти и другие задачи, разработчики пишут код. Android-разработчики на языках Java и Kotlin, iOS-разработчики — на Swift и Objective-C. Такая разработка называется нативной.

Кроме нативной, есть кросс-платформенная разработка. При таком подходе разработчики пользуются Flutter, React Native, Kotlin Multiplatform и другими фреймворками, а потом написанный код адаптируется под разные платформы.

Как и во всех направлениях разработки, в мобильной есть база — знания и навыки, без которых не получится продвинуться. Но есть особенность: эта база если и совершенствуется, то понемногу. В ней вряд ли могут пройти такие изменения, что, например, знания, полученные год назад, станут неактуальными.

С направлением в мобильной разработке лучше определиться сразу, потому что фреймворки и средства разработки в них сильно отличаются и быстро поменять платформу не получится. Кроме того, у Android- и у iOS-разработчиков есть гайдлайны — нормативы, в которых описано, как должны выглядеть и работать приложения. И если у Google политика в этом более демократичная, то Apple может просто не пропустить в App Store приложение, которое не соответствует требованиям.

Ещё одно отличие — требования к системе. Для iOS-разработки необходим компьютер на macOS, причём не слишком старый. Всё потому, что среда разработки Xcode постоянно обновляется, а вместе с ней и требования к операционной системе. Например, самая актуальная версия программы требует macOS Ventura или новее, которая поддерживается на компьютерах Apple, выпущенных не ранее 2017 года. С Android всё проще, а актуальные требования можно прочитать в характеристиках среды разработки Android Studio. Например, сейчас для Android-разработчиков достаточно 64-битной Windows 8 и 8 ГБ оперативной памяти.
ИИ и геоаналитика только начинают формировать проекты и сервисы. Примеры единичны, но они есть и в России — в сегментах ретейла, строительства, государственного управления.

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

Существуют калькуляторы прогноза посетителей магазина или товарооборота. Для каждого магазина одной сети и одного формата — свои, они существенно ускоряют рутинные процесс оценки помещений внутри крупных компаний. А внутри малого бизнеса существуют модели спроса (бизнес-потенциала) для разных категорий бизнеса в виде тепловых крат.

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

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

Мы постоянно говорим о том, что ИИ сокращает время выполнения задач и позволяет сосредоточиться на более важных процессах. А какие процессы более важные?

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

И получается, что тот самый важный процесс, для которого нам высвобождает время ИИ – это именно принятие решений: постановка целей, формулирование задач и пр.
ИИ может дать нам ответ на вопрос, а вот что с этой информацией делать решает человек.

Главное отличие искусственного интеллекта от естественного разума в отсутствии воли. Сам ИИ не задает вопросов, что там – на глубине океана, в недрах Земли или на бескрайних просторах космоса.

То же самое происходит и на более приземленном уровне – сам по себе ИИ денег не заработает и бизнес не создаст. А вот человек с ИИ в качестве инструмента получает не только новые, ранее недоступные возможности, но новые требования к уровню собственного развития и скорости адаптации к изменениям.

Управление ИИ стало новой компетенцией. Уже сейчас мы сталкиваемся с таким явлением, как нейросотрудники, по применению которых надо как-то принимать решения, обучать взаимодействию персонал, писать ТЗ разработчикам на их функционал и пр.

Я бы сказал, что ИИ забирает у нас тот функционал, который мы уже давно хорошо освоили, но медленно выполняем, и ставит перед нами необходимость выполнения более сложной деятельности: находить цель и стремиться к ее достижению.
Мы постоянно говорим о том, что ИИ сокращает время выполнения задач и позволяет сосредоточиться на более важных процессах. А какие процессы более важные?

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

И получается, что тот самый важный процесс, для которого нам высвобождает время ИИ – это именно принятие решений: постановка целей, формулирование задач и пр.
ИИ может дать нам ответ на вопрос, а вот что с этой информацией делать решает человек.

Главное отличие искусственного интеллекта от естественного разума в отсутствии воли. Сам ИИ не задает вопросов, что там – на глубине океана, в недрах Земли или на бескрайних просторах космоса.

То же самое происходит и на более приземленном уровне – сам по себе ИИ денег не заработает и бизнес не создаст. А вот человек с ИИ в качестве инструмента получает не только новые, ранее недоступные возможности, но новые требования к уровню собственного развития и скорости адаптации к изменениям.

Управление ИИ стало новой компетенцией. Уже сейчас мы сталкиваемся с таким явлением, как нейросотрудники, по применению которых надо как-то принимать решения, обучать взаимодействию персонал, писать ТЗ разработчикам на их функционал и пр.

Я бы сказал, что ИИ забирает у нас тот функционал, который мы уже давно хорошо освоили, но медленно выполняем, и ставит перед нами необходимость выполнения более сложной деятельности: находить цель и стремиться к ее достижению.