Приложения для магазина объектов: самая свежая архитектура Cloud Native

Возможно, даже впервые с 2006 года, когда Amazon Web Services запустила свою простую службу хранения (S3), хранение объектов снова горячее.

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

Дешевая хранение объектов подпитывает недавнюю войну в формате открытых данных между Delta Lake и Apache Areberg, так как оба полагаются на магазины объектов, чтобы позволить клиентам создавать широко запрошенные форматы открытых данных для анализа.

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

Главный поставщик дистрибуции Кафки Confluent обратил на это внимание и купил компанию. И Confluent конкурента Redpanda также использует технологию совершенно по -другому, чтобы ускорить транзакции Kafka через многоуровневую архитектуру.

«Меня спрашивали, как вы говорите о хранении объектов, и почему сейчас? И разве это не немного скучно? » Допустил технический директор Docker Джастин Кормак, в разговоре в Kubecon+CloudNativeCon NA 2024.

«Но в последние несколько лет произошло то, что люди начали создавать реальные приложения, используя хранилище объекта в качестве единственного бэк -энд. Их было много, и они были действительно интересными », — впоследствии Кормак сказал TNS.

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

Хранение объектов означает «бесконечное дешевое хранение», сказал он TNS. И это идеально подходит для облачного нативного развития. «Все, что ограничено, раздражает для разработчиков».

Он также использовался для создания баз данных, платформ наблюдения, виртуальных дисков и кто знает, что еще?

«Существует решение практически для всех типов хранилища, которое вам может понадобиться, которое использует хранилище объекта»,-добавил Keith Pijanowski, инженер из AI Solutions из Minio, который предлагает файловую систему с открытым исходным кодом для использования предприятия.

Высокая задержка, высокая пропускная способность

Придумывая идею S3, глава Amazon Джефф Безос указал, что он хочет «Malloc для Интернета». Этот вызов языка программирования C обеспечивает способ для разработчика распределить память одной строкой. Идея с S3 заключается в том, что она должна сделать ее таким же простым для разработчиков облаков легко распределять хранение.

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

Хранение объектов может бесконечно масштабироваться, или если вы используете внутреннюю версию, такую ​​как Minio, она ограничена только физическим хранилищем, на котором она работает.

Джастин Кормак

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

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

Вы можете запустить одно соединение на AWS, которое из этого достигнет 5 Gib Power, но вы можете иметь столько соединений, сколько хотите.

С такими услугами, как AWS S3, магазины объектов реплицируются по зонам доступности, поэтому вы получаете репликацию, последовательность и резервную копию бесплатно. Что касается надежности, он предлагает 99,99999999% («Одиннадцать девянов») времени безотказной работы для до 280 триллионов объектов.

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

«Наличие простых примитивов позволяет инвестировать в их надежным. Это дает вам уверенность в том, что вы можете безопасно создавать на них приложения », — сказал Кормак.

Хорошие новости для баз данных

Со временем S3 API стал стандартным интерфейсом де -факто для хранения объектов, проложив путь для Minio и Ceph и других реализаций.

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

Одним из предпочтительных подходов к управлению параллелизмом было использование базы данных, такой как DynamoDB, для управления параллелизмом. Это подход, который Docker использует с Docker Hub.

«Это дает вам взаимный примитив, вы можете использовать, чтобы несколько приложений писали что -то.

Одним из больших прыжков для разработчика приложений было добавление новой команды к интерфейсу S3, чтобы написать объект, если он еще не существует (положить с помощью if-none match), который теперь поддерживается AWS, Minio и Cloudflare R2.

Приложение, которое могло бы использовать эту команду для создания как серия упорядоченных файлов 001, 002, 003 и т. Д. Если есть более одного файла сервера, то файлы все еще пронумерованы постепенно на основе сначала в первую очередь.

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

Открытые данные войны

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

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

Фил Итон предлагает пример того, как построить базу данных на основе Delta Lake с использованием языка программирования GO.

«Есть много хороших свойств, которые есть в этих вещах, которые веселые для разработчика», — сказал Кормак.

‘Принесите свое собственное ведро’

WarpStream — это совместимая реализация хранилища данных Kafka, созданную на S3, которая обещает управление «нулевым диском» и бесконечную масштабируемость. Компания была недавно приобретена Confluent, которая впоследствии предлагает ее как «Принесите свое собственное облако», сервис

Redpanda рекламирует быстрее пропускной способности, чем предложение Cluflent Premium Kafka Cloud, частично, используя SSD в качестве кэширующего слоя, а затем разгружать окончательные результаты на S3.

Warpstream пошел в другую сторону, предлагая медленное обслуживание, но было намного дешевле.

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

Секретный соус: Warpstream был построен на S3.

С помощью AWS вам не нужно платить за трафик по зонам доступности, поэтому гений WarpStream заключался в том, чтобы использовать это, чтобы сократить затраты на отправку сообщений Kafka по зонам доступности, полностью устраняя плату за перекрестные зоны, которые будут стоить что-то вроде EBS.

«Это был самый дешевый способ управления Кафкой», — отметил Кормак.

Кроме того, Warpstream предложил простую модель обслуживания: клиенты будут управлять своими собственными ведрами S3, а Warpstream предоставил плоскость управления.

«Это очень, очень, очень просто в управлении, потому что это просто хранение объектов и вычисления вычисления», — сказал Кормак TNS.

Другое инновационное использование хранения объектов

Осмотр вокруг экосистемы находит много других инновационных целей хранения объектов.

Проект с открытым исходным кодом для виртуальных дисков использует эту технологию. Для создания масштабируемых дисков исследователи используют SSD для кэша, а затем изменения отправляются в S3 в качестве журналов.

Теоретически, это может быть более дешевой альтернативой хранилище Amazon Elastic Block (EBS).

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

TurboPuffer — это векторная база данных, построенная на хранении объектов.

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

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

«В итоге у вас совершенно другая история надежности».

Принесите свое собственное ведро

Мэтт Кляйн из прокси-славы Envoy создал BitDrift, для сокращения затрат на наблюдение через хранение объектов с помощью подхода «принести свой собеседник».

Это также было названо, более гениально, «принесит свой собственный облако», термин, который использует Warpstream, как и Buildkite для своей платформы непрерывной доставки, которая ускоряет тестирование, но запускает их параллельно.

«Вы не можете запустить один тест за другим. В противном случае потребуется недели, месяцы, годы и даже некоторые случаи, чтобы последовательно провести тесты. Таким образом, вы должны парализовать, вы должны запустить их одновременно », — сказал TNS генеральный директор Buildkite Кит Питт.

Вам не нужен плот

Дальнейшие возможности предостаточно.

Его можно использовать для выборов лидеров для облачных приложений.

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

Кормак отметил, что любая из ландшафтных технологий Облаковой вычислительной основы, которая требует реализации RAFT (Vitess и т. Д.) Для балансировки нагрузки и параллелизма будет хорошим кандидатом для переписывания для запуска объектов, отметил Кормак.

«Вам не нужно делать эти вещи, если вы можете избежать их», — сказал Кормак. «Создание слоя настойчивости на хранении объектов, что означает, что вам не нужно это делать».

«Это действительно привлекательный вариант, если вы создаете что -то, что включает в себя данные, что является почти всем», — сказал Кормак.

Хранение объектов дома

И хотя многие из приложений были построены на Amazon S3-или в других магазинах облачных объектов, таких как Digitalocean Space, Hazure Blob Blob Desing и Google Cloud Storage, архитектура также может использоваться собственными силами, отметил Minio’s Pijanowski.

Minio имеет партнерские отношения с Dremio и Starburst, предлагая клиентам легко настроить хранилища данных в помещениях с неограниченной способностью масштабирования. Для альтернативы Cloud Kubernetes развертывания, компания также сотрудничает с VMware для тех, кто желает создать частное развертывание с помощью VMware Cloud Foundation.

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

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Joab Jackson является старшим редактором нового стека, охватывающего облачные нативные вычисления и системы системы. Он сообщил об инфраструктуре и развитии IT более 25 лет, в том числе в IDG и государственных компьютерных новостях. До этого он … читал больше от Джоаба Джексона

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *