Сначала Oracle, теперь MongoDB: почему AWS продолжает разводиться со своими партнерами

Amazon заработал репутацию компании, которая стреляет в спину своим деловым партнерам. Приняв решение отказаться от баз данных Oracle (теперь скорее конкурента, чем партнера) в пользу собственных сервисов, Amazon теперь ищет замену MongoDB собственной «совместимой» версией под названием DocumentDB. Что интересно, хотя заявление Oracle было сделано сразу после того, как генеральный директор Oracle Ларри Эллисон хвастался, что AWS и Salesforce работают на базе данных Oracle, это заявление было сделано сразу после того, как MongoDB изменила условия лицензирования. Что еще более интересно, так это тот факт, что MongoDB специально изменила свои условия лицензирования, чтобы предотвратить подобные вещи, хотя они, похоже, пострадали от этого.
Лицензия на убийство

Публичная лицензия MongoDB на стороне сервера, по сути, обязывает любого поставщика облачных услуг, предлагающего MongoDB в качестве услуги, открывать исходный код всего кода, связанного с этим предложением услуги. Это не то, с чем согласится любой поставщик облачных услуг, поэтому неудивительно, что AWS нашла способ обойти это. Учитывая, что DocumentDB предназначена для работы с версией 3.6, которая была выпущена до того, как эта лицензия вступила в силу, похоже, что SSPL не применяется к DocumentDB. Кроме того, новое предложение Amazon — это, по сути, просто набор совместимых API, которые находятся в собственной базе данных, поэтому на самом деле он не использует какой-либо код MongoDB.
Учитывая, что AWS на сегодняшний день является крупнейшим общедоступным облаком, а простое объявление о DocumentDB привело к резкому падению доли MongoDB, тот факт, что DocumentDB поддерживает только MongoDB 3.6, может стать серьезной проблемой. Если новый сервис AWS наберет популярность, у MongoDB не останется иного выбора, кроме как открыть исходный код своих последних предложений или рисковать стагнацией. Вот почему лицензирование похоже на самоубийство с открытым исходным кодом, и новая лицензия не только не защитила MongoDB от больших злых волков, таких как AWS, но даже вызвала много критики со стороны сообщества открытого исходного кода. В ответ на SSPL и Debian, и RedHat решили не включать MongoDB в свои последние предложения, посчитав это противоречащим духу открытого исходного кода.
AWS делает то, что умеет лучше всего
В своем последнем объявлении AWS описывает DocumentDB как «быструю, масштабируемую, высокодоступную и полностью управляемую службу базы данных документов, которая поддерживает рабочие нагрузки MongoDB». Хотя это означает, что MongoDB «из коробки» не может справляться с рабочими нагрузками в масштабе, это также означает, что AWS продает не MongoDB, а свои собственные основные компетенции, такие как производительность, масштабируемость и доступность. В сопроводительном заявлении AWS также говорится, что организации редко используют часть возможностей API-интерфейсов MongoDB и считают сложным масштабирование до нескольких терабайт и сотен тысяч операций чтения и записи в секунду из-за сложности настройки и управления MongoDB. кластеры.
AWS продает не программное обеспечение, а удобство, и хотя MongoDB предоставила своим клиентам инструменты для выполнения работы, AWS дает им то, что они действительно хотят, — кто-то другой, кто сделает эту работу за них. Повышение производительности, масштабируемости и доступности без необходимости управления базовой инфраструктурой — это то, чего хочет каждая организация, и именно это в первую очередь сделало AWS таким успешным. Чтобы сделать работу еще более удобной, пользователи могут использовать код приложения MongoDB, драйверы и инструменты для рабочих нагрузок в Amazon DocumentDB, а с помощью службы миграции баз данных AWS (AWS DMS) могут выполнять живую миграцию из MongoDB без простоев.
AWS DocumentDB
Amazon DocumentDB использует уровень хранения на основе SSD с 6-кратной репликацией в трех отдельных зонах доступности, что не только означает, что DocumentDB может переключаться с основного на реплику в течение 30 секунд, но также поддерживает эмуляцию набора реплик MongoDB. Он также включает в себя автоматическое предоставление и настройку, мониторинг, метрики и автоматическое исправление программного обеспечения как часть своего «полностью управляемого» предложения. Кроме того, объем хранилища DocumentDB можно масштабировать от 10 ГБ до 64 ТБ с шагом 10 ГБ, что сокращает ввод-вывод базы данных за счет записи на уровень хранилища только изменений базы данных. Также утверждается, что он вдвое увеличивает пропускную способность по сравнению с доступными в настоящее время решениями MongoDB.
Вероятно, это связано с тем, что в архитектуре Amazon DocumentDB хранилище и вычислительные ресурсы отделены друг от друга, что позволяет каждому из них масштабироваться независимо. Это означает, что разработчики могут добавлять до 15 реплик с малой задержкой за считанные минуты, увеличивая скорость чтения до миллионов запросов в секунду, независимо от размера данных. Помимо скорости, масштабируемости и доступности, DocumentDB также уделяет большое внимание безопасности и работает в Amazon VPC, что позволяет изолировать кластер в собственной виртуальной сети. Он также интегрирован с AWS Identity and Access Management (IAM) и позволяет шифровать базы данных с помощью ключей, которые вы создаете и контролируете с помощью службы управления ключами AWS (KMS).
MongoDB

Люди в MongoDB не могут быть слишком счастливы, но генеральный директор Дев Иттичерия заявил, что «Имитация — самая искренняя форма лести, поэтому неудивительно, что Amazon попытается извлечь выгоду из популярности и импульса модели документов MongoDB». Затем он продолжает называть DocumentDB плохой имитацией, в то время как представитель компании указал, что он основан на версии двухлетней давности, в которой отсутствуют новые функции, такие как оплата ACID, глобальные кластеры и мобильная синхронизация. В то время как падение акций MongoDB после объявления AWS, без сомнения, иллюстрирует силу AWS, акции MongoDB за последний год выросли на 200 процентов, поэтому определенно слишком рано их сбрасывать со счетов.
MongoDB предлагает собственную управляемую версию базы данных с открытым исходным кодом через продукт MongoDB Atlas, основанный на новейшей версии MongoDB 4.0. В недавнем сообщении в блоге технический директор компании Элиот Горовиц сравнивает эти две службы и указывает, что DocumentDB на самом деле отстает примерно на 6 лет и основана ближе к версии 2.4, а не 3.6. Он также перечисляет множество компромиссов, связанных с обещанием AWS производительности, масштабируемости и доступности, в том числе тот факт, что все кластеры DocumentDB ограничены размещением в одном регионе, в отличие от Atlas, что позволяет наборам реплик охватывать весь земной шар и предоставлять низкая задержка.
AWS против открытого исходного кода

В заключение, это своего рода ситуация Catch-22, когда вы действительно не знаете, должны ли вы сочувствовать MongoDB или поддерживать решение AWS нагло воровать у сообщества открытого исходного кода. С точки зрения AWS, они не продают MongoDB, они просто предоставляют услугу, которую ценят предприятия, и если бы это была не MongoDB, это была бы любая другая база данных, которую используют их клиенты или с которой им нужна помощь. Одним из примеров является база данных Redis, которая находится под разрешительной лицензией, поэтому версия AWS всегда актуальна. Хотя это отлично подходит для разработки, это не помогает Redis Labs зарабатывать деньги, вероятно, поэтому они изменили лицензирование своих дополнительных модулей.
Определенно должно быть больно смотреть, как одна из самых богатых компаний в мире получает прибыль от вашего тяжелого труда, и трудно не чувствовать себя плохо из-за таких компаний, как Redis и MongoDB. Другая сторона этой медали, однако, заключается в том, что их популярность, вероятно, связана с тем, что они изначально были открытым исходным кодом, и всегда будет рынок для «управляемых» услуг с открытым исходным кодом. Означает ли это, что AWS продолжает брать то, что хочет от сообщества открытого исходного кода, или законы о лицензировании меняются для защиты таких компаний, как MongoDB, покажет только будущее.