В эпоху больших данных алгоритмы дают компаниям конкурентное преимущество. Все самые важные современные технологические компании имеют алгоритмический интеллект, встроенный в ядро ​​их продуктов: Google Search, Facebook News Feed, рекомендательные системы Amazon и Netflix.

Данные по своей сути глупы, — сказал Питер Сондергаард, старший вице-президент Gartner и глобальный руководитель отдела исследований, в статье Интернет вещей приведет к развитию экономики алгоритмов. На самом деле он ничего не делает, если вы не знаете, как его использовать.

Google, Facebook, Amazon, Netflix и другие создали как системы, необходимые для сбора огромного количества данных (например, истории поиска, показателей вовлеченности, истории покупок и т. д.), так и алгоритмы, отвечающие за извлечение из этих данных полезной информации. В результате эти компании используют алгоритмы для создания ценности и воздействуют на миллионы людей в день.

«Настоящая ценность заключается в алгоритмах, — сказал Сондергаард. «Алгоритмы определяют действие».

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

  1. Экономика алгоритмов
  2. Контейнеры

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

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

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

Экономика алгоритмов

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

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

Например, мы создали в Algorithmia микросервис под названием Анализ твитов, который ищет в Твиттере ключевое слово, определяя настроение и темы LDA для каждого твита, соответствующего поисковому запросу. Этот микросервис объединяет наш алгоритм Получение твитов с ключевыми словами с нашими алгоритмами Анализ социальных настроений и LDA, чтобы создать простую утилиту включай и работай.

Три базовых алгоритма можно было бы так же легко перекомпоновать, чтобы создать новый вариант использования. Например, вы можете создать микросервис Analyze Hacker News, который использует алгоритмы Scrape Hacker News и URL2Text для извлечения текста для самых популярных сообщений HN. Затем вы просто передадите текст для каждого сообщения в анализ социальных настроений и алгоритмы LDA, чтобы определить настроение и темы всех популярных сообщений на HN.

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

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

Контейнеры

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

Вместо того, чтобы делать приложение или службу конечной точкой сборки, вы создаете контейнеры, которые обертывают приложения, службы и все их зависимости, — сказал Саймон Биссон из InfoWorld в статье Как контейнеры меняют все. ». Каждый раз, когда вы вносите изменения, вы создаете новый контейнер; и вы тестируете и развертываете этот контейнер целиком, а не как отдельный элемент.

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

Это отличный шанс для больших монолитных кодовых баз. [Монолиты] заменяются архитектурами микросервисов, которые разлагают большие приложения — со всей встроенной функциональностью — на более мелкие, целевые службы, которые взаимодействуют друг с другом через общие API REST, — Лукас. Карлсон из InfoWorld рассказал в статье 4 способа, которыми Docker коренным образом меняет разработку приложений.

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

Мартин Фаулер, соавтор Agile Manifesto, описывает микросервисы как «подход к разработке одного приложения в виде набора небольших сервисов, каждый из которых работает в своем собственном процессе и взаимодействует с помощью облегченных механизмов, часто API ресурсов HTTP».

Благодаря отделению служб от монолита каждая микрослужба становится развертываемой независимо и действует как интеллектуальная конечная точка API. Существует минимум централизованного управления этими службами, — сказал Фаулер в «Микросервисах: определение этого нового архитектурного термина, — которые могут быть написаны на разных языках программирования и использовать разные технологии хранения данных».

Подобно экономике алгоритмов, контейнеры подобны конструктору Lego для разработки облачных приложений. «Это меняет практику облачной разработки, — сказал Карлсон, — делая крупномасштабные архитектуры, подобные тем, которые используются в Facebook и Twitter, доступными для небольших групп разработчиков».

tl;dr

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

Первоначально опубликовано на сайте blog.algorithmia.com 22 февраля 2016 г.