Рожденные в облаке — от Cloud Native приложений к Cloud Native AI
2024-07-15
Создание приложений сразу с учетом их работы в облаке, стало уже привычной практикой. Сегодня главные инновации смещаются здесь в сторону ИИ, формируя целое новое направление — Cloud Native AI. В чем особенности этого подхода, какие преимущества и перспективы он несет?
Облачные технологии, как самостоятельное явление, развиваются на массовом рынке уже почти 20 лет. За это время отношение к ним существенно изменилось — из перспективной инновации от превратились в один их основных и привычных инструментов бизнеса, став основой ИТ-инфраструктур многих компаний и организаций по всему миру. На первом историческом этапе, по понятным причинам, переход в облако требовал от пользователей существенных усилий, связанных с адаптацией локальных приложений к новому типу среды.
Со временем границы все больше стираются и сегодня Cloud Native (CN) — подход при котором приложения сразу создаются с расчетом работы в облаке — является одной из популярнейших концепций при разработке ПО. Но, мир ИТ не стоит на месте — недавно начался очередной этап облачной эволюции, когда мы можем говорить уже о следующем шаге — Cloud Native Artificial Intelligence (CNAI). В этом случае с расчётом на облако создаются уже целые системы на основе искусственного интеллекта и машинного обучения (AI/ML). Такой подход открывает целый ряд преимуществ, недоступных ранее массовому пользователю.
Что такое Cloud Native и при чем здесь микросервисы
Само понятие Cloud Native имеет вполне определенную дату появления — этот термин был впервые использован 20 марта 2013 года в описании первого релиза Docker — специального ПО для автоматизации развёртывания и управления приложениями в средах на основе контейнерных технологий. Двумя годами позже, в рамках некоммерческой организации Linux Foundation был создан специальный международный проект Cloud Native Computing Foundation. Своей главной целью CNCF ставит содействие развитию контейнерных технологий с открытым исходным кодом и согласование технических вопросов в данной сфере. Кстати, сертификаты CNCF имеет и компания De Novo.
Само понятие Cloud Native, по определению CNCF, охватывает технологии, которые позволяют организациям создавать и запускать масштабируемые приложения в современных динамичных ИТ-средах, таких как публичные, частные и гибридные облака. Примером такого подхода являются контейнеры, микросервисы, неизменяемая инфраструктура (подход к управлению развертыванием ПО, при котором компоненты заменяются, а не изменяются, а приложение или служба фактически развертывается заново при каждом изменении), декларативные API, сети сервисов (это способ управления тем, как различные части приложения обмениваются данными друг с другом). Особенную популярность подход Cloud Native начал набирать мере развития контейнерных технологий — LXC, Docker, Kubernetes (K8s) и других.
В более широком смысле, под Cloud Native подразумеваются сбалансированные облачные системы, на основе микросервисного и контейнерного подходов, которые позволяют создавать распределенные системы, устойчивые к внешним воздействиям, прозрачные для пользователя и хорошо управляемые. В сочетании с надежной автоматизацией они позволяют инженерам многократно вносить изменения с предсказуемым результатом и минимальными затратами. Подход Cloud Native фактически незаменим там, где, по тем или иным причинам, приложения на базе традиционной монолитной архитектуры не справляются с динамичными требованиями современного бизнес-ландшафта (и таких областей становится все больше).
Можно выделить несколько ключевых особенностей CN:
- Микросервисная архитектура. Приложения состоят из более мелких независимых сервисов (служб), которые можно разрабатывать, развертывать и масштабировать независимо одна от другой — не нарушая работу других сервисов и целостность приложения.
- Контейнеризиация. Сервисы и программы, со всеми компонентами и зависимостями (к последним относятся, например, системные библиотеки, сторонние пакеты кода и др.), «упакованы» в специальные исполняемые программные пакеты — контейнеры, что упрощает миграцию и развертывание в облачной среде.
- Автоматизация конфигурирования и упрощенное управление. Обеспечивает многократную повторяемость и предсказуемость результатов развертывания и настройки приложений без дополнительных усилий.
- Повышенная отказоустойчивость, гибкость и масштабируемость. Механизмы избыточности и отказоустойчивости реализуются уже на этапе разработки приложений, для обеспечения бесперебойной работы в непредвиденных ситуациях. К тому же приложения могут легко масштабироваться в режиме реального времени, оптимизируя использование ресурсов и повышая экономическую эффективность. А независимые микросервисы обеспечивают более быстрые циклы разработки и ускоренную адаптацию к меняющимся задачам.
- Автоматизация развертывания и непрерывные обновления. Конвейеры непрерывной интеграции и доставки (Continuous Integration and Continuous Delivery —
CI/CD) автоматизируют процессы развертывания и обновления ПО, сокращая количество ошибок, связанных с человеческим фактором и ускоряя процесс вывода приложений на рынок.
Подход, Cloud Native сегодня применяется в многих сферах деятельности. Особенно популярен он там, где нужны, приложения высокой доступности, которые должны быть постоянно работоспособными — это, например, платформы электронной коммерции или системы онлайн-банкинга. Также CN хорошо показывает себя там, где требуется масштабируемость ПО в режиме реального времени, а приложения испытывают непредсказуемые всплески нагрузки (социальные сети, мобильные игровые приложения). Незаменим подобный подход и для тех видов бизнеса, которым необходимо постоянно повторять итерации и быстро выпускать новые функции. И, конечно, подход Cloud Native идеально вписывается в методологию DevOps, обеспечивая сотрудничество и автоматизацию взаимодействия между командами разработки и эксплуатации.
Cloud Native AI — настоящее и будущее облачных сервисов
Огромный спрос на технологии AI/ML привел не только к технологическому рывку, но и к стремительному росту конкуренции в области разработки ПО. Компании стремятся как можно быстрее получить доступ к огромным вычислительным ресурсам, средам разработки и платформам DevOps. Поэтому для большинства компаний именно облака Cloud Native с их гибкостью, отказоустойчивостью и масштабируемостью становятся основной средой для разработки инновационных приложений и услуг. В то же время, создание AI/ML-сервисов требует дополнительных инструментов и подходов для обеспечения максимально быстрого обучения и развертывания ML-моделей, создания рабочих прототипов, доступа к данным и вычислительным ресурсам. Это привело к появлению Cloud Native Artificial Intelligence (CNAI) — новой концепции создания и развертывания в облаках приложений и рабочих AI/ML-нагрузок, на основе принципов Cloud Native.
Как оказалось, именно подход CN с его контейнеризацией и микросервисами, оказался очень подходящим для развертывания нагрузок искусственного интеллекта и моделей машинного обучения. В частности, благодаря Kubernetes, ML-модели можно упаковать в контейнеры, а затем развернуть в кластерах K8s. Контейнеризация особенно важна в случае ИИ-приложений и сервисов, поскольку разные модели обычно требуют различных и часто противоречивых зависимостей. Изоляция этих зависимостей внутри контейнеров обеспечивает гораздо большую гибкость при развертывании решений. Инструменты CN позволяют быстро, удобно и эффективно разворачивать AI/ML-нагрузки, которые затем можно без проблем адаптировать или масштабировать по мере необходимости, без нарушения целостности всей системы.
К тому же технологии Kubernetes постоянно развиваются и уже поддерживают, к примеру, совместное использование акселераторов GPU/TPU, которые сейчас очень востребованы для ускорения рабочих нагрузок ИИ. Также ведется работа по реализации возможности использования удаленных пулов ресурсов за пределами кластеров Kubernetes, что еще больше расширит сферу применения концепции CNAI.
Традиционная разработка ИИ-приложений часто сопряжена со сложным управлением инфраструктурой, изолированными конвейерами данных и громоздкими процедурами развертываниямя. CNAI решает эти проблемы, используя принципы Cloud Native в ходе всего жизненного цикла создания ПО. Так, использование коммерческих облачных платформ в качестве инфраструктурной основы, позволяет компаниям сконцентрироваться на целевых задачах разработки AI/ML-решений и не беспокоиться о работоспособности среды, в которой данные решения будут развернуты (за эту часть отвечает оператор облачных сервисов). Микросервисная архитектура, характерная для CNAI позволяет разделить сложные рабочие процессы ИИ на ряд более простых составляющих, которые, в свою очередь, можно развертывать масштабировать и изменять независимо одна от другой. Это дает необходимую гибкость в процессе разработки ИИ-решений. Технологии контейнеризации (например, Docker), и оркестрации контейнеров (Kubernetes) обеспечивают возможность бесшовной миграции между различными облачными средами и упрощает развертывания.
В свою очередь автоматизация большинства процессов — от подготовки данных и обучения моделей до развертывания и мониторинга готового решения помогает оптимизировать рабочие процессы и сокращает количество человеческих ошибок. К преимуществам CNAI можно отнести и то, что гибкость концепции позволяет легко экспериментировать с различными моделями и подходами в сфере AI/ML, быстро отсеивая ложные пути и ускоряя внедрение инноваций. Как отмечают участники рынка, применение CNAI, помимо повышения надежности, управляемость и эффективности сред разработки также существенно сокращает время вывода на рынок новых ИИ-продуктов, что является сегодня важным конкурентным преимуществом.
Где работает CNAI?
Особенно заметных успехов CNAI помогает добиться в таких областях как анализ больших данных (при работе с огромными массивами информации масштабируемость и возможности автоматизированной обработки незаменимы); Разработка ИИ-приложений, работающих в режиме реального времени, требующих низкой задержки и моментальной реакции (системы обнаружения мошенничества, всевозможные ИИ-ассистенты и т.д.); Машинное обучение в облаке.
Примеров успешного использования CNAI уже достаточно много. К примеру, с помощью этого подхода, компания OpenAI смогла масштабировать свои кластеры Kubernetes до 7500 узлов, в процессе построения масштабируемой инфраструктуры для больших ML-моделей, таких как GPT, CLIP, DALL·E и других проектов, также концепцию использует и американская компания Hugging Face, разрабатывающая инструменты для создания приложений с использованием технологий ML. Сервис Pinterest может анализировать миллиарды изображений для улучшения поиска и выдачи рекомендаций пользователям, Walmart прогнозирует спрос на товары в магазинах для оптимизации цепочек поставок, PayPal выявляет мошеннические транзакции в режиме реального времени, а Uber использует чат-бота, который может отвечать на вопросы пользователей о поездках и ценах — все это было реализовано с использованием CNAI.
Сегодня концепция Cloud Native Artificial Intelligence все еще находится на начальной стадии развития, но ее потенциал огромен. Благодаря продолжающемуся проникновению облачных технологий во различные сферы повседневной жизни и росту популярности ИИ, спрос на решения CNAI в ближайшие годы, без сомнения, продолжит расти. Постоянное усовершенствование технологий контейнеризации, Kubernetes и безсерверных вычислений будет еще больше расширять возможности разработки в рамках CNAI. К тому же, широкое использование автоматизации и упрощение управления сложными ИТ-инфраструктурами в рамках CNAI будет способствовать снижению порога входа в мир AI/ML-технологий и привлечению все большего количества компаний-разработчиков.
Сегодня CNAI предлагает мощный и эффективный подход, позволяющий раскрыть потенциал ИИ. Используя масштабируемость, автоматизацию и гибкость облака, организации могут создавать AI/ML-приложения и сервисы, которые способствуют инновациям и позволяют достигать устойчивого успеха. Поскольку ИИ продолжает менять наш мир, CNAI, несомненно, уже в ближайшее время станет ключевым фактором этой трансформации.
Для реализации Cloud Native Artificial Intelligence нужна надежная, производительная и масштабируемая инфраструктура и получить ее можно уже сегодня в облаке De Novo. Мы предлагаем доступ к мощнейшим TPU NVIDIA H100 и L40S непосредственно из окружения Kubernetes в составе новых облачных уcлуг Tensor Cloud (в коллективном облаке) и HTI (сервис класса GPU Private Cloud), а с PaaS-платформой ML Cloud вы получаете еще и готовую полноценную рабочую среду для ML-инженера (класса AWS SageMaker или Google Vertex AI).
Хотите узнать больше? Обращайтесь за детальной консультацией к нашим экспертам! Они не только ответят на ваши вопросы, но и помогут развернуть пилотный проект или перенести нагрузки в облако De Novo.