How Joseph Shorter and Miles Ward led a fast, safe migration with ScyllaDB’s DynamoDB-compatible API Digital Turbine является тихим, но мощным игроком в мобильном рекламном бизнесе. Их платформа предварительно установлена на телефоны Android, соединяя разработчиков приложений, рекламодателей, мобильных операторов и производителей устройств. В процессе они приносят $500 млн в год. Digital Turbine недавно решила стандартизировать на Google Cloud, поэтому продолжение работы с их базой данных DynamoDB больше не было вариантом. Джозеф Шортер (VP, Platform Architecture в Digital Turbine) объединился с Майлзом Уордом (CTO в SADA) и разработал план игры, чтобы отвлечься от движения. Вы можете услышать прямо от Джо и Майлз в этой конференции разговор: Мы запечатлели некоторые моменты из их обсуждения ниже. Зачем мигрировать из DynamoDB Основной точкой миграции DynamoDB была цифровая турбина. Но это была не единственная проблема. DynamoDB не был идеальным с точки зрения затрат или с точки зрения производительности. Решение о стандартизации на GCP Джо объяснил: «Это может быть немного дорого, когда вы масштабируете, чтобы быть честным.Мы находили некоторые проблемы с производительностью.Мы делали тонны чтений — 90% всех взаимодействий с DynamoDB были операциями чтения. Требования к миграции DynamoDB Цифровая турбина нуждалась в том, чтобы миграция была максимально быстрой и низкой, что означало, что переработка приложений была сведена к минимуму. Основной проблемой, по словам Джо, была «Как мы можем мигрировать, не радикально перестраивая нашу платформу, сохраняя при этом по крайней мере такую же производительность и ценность, и избегая ситуации с падением? Они подошли к SADA, который помог им подумать о нескольких вариантах, включая некоторые решения Google и ScyllaDB. ScyllaDB выделился благодаря своему DynamoDB API, ScyllaDB Alternator. Что означает миграция DynamoDB Подводя итог, это было «как легко, как пудинговый пирог» (цитируя Джо здесь). «Существует API DynamoDB, который мы могли бы просто использовать. Я не скажу, что не было никакого рефакторирования. Мы сделали некоторое рефакторирование, чтобы инженерам было легко подключить эту информацию, но это было просто. Это заняло меньше, чем спринт, чтобы написать этот код. Все говорили нам, что ScyllaDB должен быть намного быстрее.Наша реакция была: «Конечно, каждый конкурент говорит, что их продукт работает лучше». Мы решили сделать правильный POC — а не простое общение с ScyllaDB по сравнению с DynamoDB. Мы фактически установили несколько приложений с некоторыми зависимостями и настроили его так, как это действительно работает в AWS, после чего мы проверили его на давление. Цель заключалась в том, чтобы убедиться, во-первых, что он будет работать, а во-вторых, что он действительно будет работать.И оказывается, он выполнил все свои обещания. Результаты до сих пор – с минимальным использованием кластеров Помимо достижения своей основной цели выхода из AWS, команда Digital Turbine улучшила производительность – и в итоге они также немного сократили свои расходы, в качестве дополнительной выгоды. От Джо: «Я думаю, что часть этого сводится к тому, что производительность просто лучше. Мы не знали, чего ожидать изначально, поэтому мы масштабировали вещи, чтобы быть довольно сопоставимыми. Разница в стоимости 20% - это большая цифра, независимо от того, о чем вы говорите.И когда вы рассматриваете наши планы по масштабированию еще дальше, это становится еще более значимым.В отрасли, в которой мы находимся, есть только несколько крупных игроков - Google, Facebook, а затем все остальные.Digital Turbine вырезала часть этого пространства, и у нас есть инструменты, чтобы начать конкурировать так, как другие не могут. По мере того, как мы получаем больше клиентов и больше людей говорят: «Эй, нам нравится то, что вы делаете», мы должны радикально масштабировать.Это 20% разница в себестоимости уже значительна сейчас, и в будущем она может быть огромной.Лучшая производительность и лучшие цены — трудно спросить гораздо большего, чем это.