LINUX.ORG.RU
ФорумTalks

Мода на облака, бигдату, и распределенные БД [теория тупости]

 , , , ,


1

2

Давайте немножко побеседуем про новомодные low consistency poor availability системы, снискавшие популярность в последнее время.

Попытка заблокировать сервисы Google обернулась сбоем в работе систем Центробанка РФ (комментарий)
«интернет вояками планировался как отказоустойчивая сеть, но вебмакаки умудрились сделать из нее сильно связанный фарш, поздравляю, вы сломали чугунный шар»

Как мы все знаем, интернет разрабатывался, как отказоустойчивая система, которая функционирует до последнего узла. Как мы знаем, коммерсанту частенько есть что скрывать и не хочется зависеть от благого расположения Васи Пупкина, даже если Васю Пупкина зовут SAP, Oracle, IBM, или Microsoft. Так почему же люди покупают Office 365 и Dynamics 365 при том, что есть полностью оффлайн альтернативы? Если вы размещаетесь в России или Китае, покупаете продукт 365, а потом Роскомнадзоры или сам MS блокирует вам облако — вы остаетесь полностью в дерьме. Кто это покупает и что ими движет? Кто завязывает свой бизнес на Dynamics 365? Или на облачный Битрикс? Я не понимаю, предлагайте ваши вариант.

«Облака», в плане «привязан цепью к интернет-серверу», не новы, Самая отстойная копирастическая контора, Ubisoft, в свое время отличилась тем, что их uPlay при кратковременной потере интернет-соединения вываливал вас из ОФФЛАЙН игры. По сути, многие софтоделы ориентируются на облако просто для того, чтобы иметь больше возможностей струсить денег с потребителя. И даже несмотря на то, что теоретически возможность миграции предоставляет много кто — фактически эта миграция выйдет вам в копеечку и вы семь раз подумаете, прежде чем мигрировать.

Ладно, допустим, просто допустим, что таким образом некий Ерохин экономит время и деньги на установке и настройке оффлайнового софта, на организации своего сервера, к которому можно было бы получить доступ даже с мабилы (не спрашивайте меня, зачем с мобилы — я не понимаю). Давайте даже на минуту пофантазируем, что мы — технически грамотный разработчик, который желает приобщиться к потоку денег. Естественно, при этом мы желаем клиенту только добра. Железо дешевое, хостинг дешевый — давайте же сделаем бэк нашего продукта на большом-прибольшом числе серверов, да еще и в разных геолокациях, чтобы у нашего любимого клиента было меньше проблем со связью.

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

«Готовые решения всё порешают» — скажете вы? А знаете ли вы, что ZooKeeper — единственная распределенная СУБД, гарантирующая строгую согласованность данных при отказах? А знаете ли вы, что, даже несмотря на выдающиеся достижения, в ZooKeeper операция синхронизированного чтения нелинеаризуема, а потому часть вашего кластера может сидеть с тухлыми данными, не зная об этом? А знаете ли вы, что полностью исправный кластер Riak при интенсивных конфликтах обновлений теряет более половины этих обновлений на полностью исправном кластере? Даже при самых строгих настройках согласованности данных. Причем, таким ужасным Riak делать было не обязательно — на самом деле это спонсоры Riak и попросили сделать умолчательную конфигурацию такой ужасной.

Но как же так, мы же все давно знаем про Paxos, который еще триста лет назад позволял достигнуть консенсуса в распределенной системе с отказами узлов — почему же до сих пор в школе не преподают основы построения распределенных систем? Если мы возьмем тот же ZooKeeper, то мы увидим, что в случае отказа лидера кластеру требуется НЕСКОЛЬКО СЕКУНД на возобновление работы — это настоящая стоимость честного распределенного консенсуса, который у ZooKeeper при выборах лидера похож на Paxos. Для решения проблем дичайше медленного консенсуса и возникла идея выбора «эталонного сервера», лидера, мнение которого безоговорочно принимает весь кластер без затрат на спор между узлами.

Правда, этот подход все равно не сработает при достаточно частых сбоях с частыми потерями лидера. Более того, система на консенсусе полностью выйдет из строя при потере более половины узлов. Вы можете заметить, что согласно теореме говна-или-мочи достижима либо согласованность данных, либо доступность системы, либо в системе недопустимы отказы. Давайте пожертвует согласованностью ради доступности! Но беда мамкиных бигдатовцев заключается в том, что средняя система по больнице не обладает высокой доступностью и не обладает хорошими гарантиями согласованности. То есть, высокодоступная система готова работать 24/7 до первого отказа сервера или потери соединения с интернетом. Почему пришлось так делать? Потому что иначе будет высокая задержка ответа и/или большая нагрузка на каналы.

Возьмем среднюю бигдату в вакууме — GitLab:
https://about.gitlab.com/blog/2017/02/01/gitlab-dot-com-database-incident/
Пока бигдатовцы боролись со спамером, они умудрились ушатать данные пользователей за целый день, и потом еще день восстанавливали ее из бэкапа. Тест на доступность успешно провален. Это еще ладно — а я слышал истории о том, что у сервиса бэкапы-то есть, но восстанавливать их придется несколько недель. Так что отказ на день — это еще вполне себе High Availability по нынешним меркам.

Да, какой-нибудь яндекс регулярно устраивает тесты отказоустойчивости, вырубая датацентр. Однако, мне страшно подумать, что случится, если у яндекса внезапно вырубится более половины датацентров и отвалятся службы, опирающиеся на консенсус. Ихний кластер ClickHouse опирается в своей работе на (сюрприз) ZooKeeper. Отказ обезьянника (а он полностью отрубается при отказе половины узлов) приводит к переходу кластера в read-only. Сколько там еще служб отправится в read-only — мне было бы интересно узнать (давайте попросим роскомнадзор для проверки поблокировать датацентры яндекса).

Заметьте, что на серверах обычно SSD/HDD стоят в зеркале — чтобы, боже упаси, 24/7 сервис не умер из-за отказа одного из жестких дисков. И этому процессу впаривания говна нет конца, даже если завтра сделают устройства для передачи информации со сверхсветовой скоростью на спутанных квантовых состояниях и карманные петабайтные носители со средним периодом отказа в 2000 лет, то желающих хранить данные на локалхосте станет еще меньше и облачные сервисы будут выходить из строя по таймаутам при недопустимо больших задержках канала связи в 1 мс.

Потому, как ни странно, самое надежное «облако» — это то, которое стоит у вас в локальной сетке. Мало того, что облака могут в любой момент отвалиться — они еще и более несводобны, чем проприетарная софтина на локалхосте, как и предупреждал нас Штолман:
https://www.gnu.org/philosophy/who-does-that-server-really-serve.html

Я вот что не пойму: я один это вижу? Ваши данные, которые не ваши, ваши приложения, которая не ваши, ваши высоконадежные высокодоступные SaaS, которые остаются таковыми до первого отказа (и тоже, в общем-то, не ваши). Или вы тут все зарабатываете на SaaS (как Шома), потому особо не вскрываете эту тему? А со мной не поделились — у-у-у, подлецы.

PS: сам участвовал в разработке SaaS, но поставляли также и коробку для внутреннего сервера.

★★★★

Последнее исправление: byko3y (всего исправлений: 1)
Ответ на: комментарий от Stanson

Жалуетесь тут именно вы, потрясая всякими сраными закончиками.

И на что же я жалуюсь?

сраными закончиками.

Ну совсем не мамкин анархист

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

«Это я, Властелин Информационного Пространства! Я желаю обсуждать все! Подите прочь, незванные!»

vaddd ★☆
()
Ответ на: комментарий от vaddd

И на что же я жалуюсь?

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

«Если вы посмеете тут обсуждать то, что не положено, то вы будете нарушать закон!!!!!11111». Что это как не шантаж жалобой в инстанции?

А если это не шантаж жалобами с целью пресечь неугодное - то зачем тогда вообще упоминать какие-то там закончики? Может типа с целью якобы «предупредить»? :) «Не-не, сам-то я, конечно, не побегу жаловаться на нарушение статьи 12345 параграфа 128 закона Российской Федерации о недопустимости превышения пределов необходимой обороны по отношению к комарам в редакции от 36 мартобря 2020 года, но вот другие…». Ага.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

И на что же я жалуюсь?

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

Да ну? Давайте еще раз повторю - давно бы уже обсуждали, я «за» всеми руками )

«Если вы посмеете тут обсуждать то, что не положено, то вы будете нарушать закон!!!!!11111». Что это как не шантаж жалобой в инстанции?

А почему именно так, а не «обсуждайте, но в некторых местах будьте осторожны, я за вас беспокоюсь»? )

vaddd ★☆
()
Ответ на: комментарий от CaveRat

А теперь попробуй включить мозг и подумать, где проблема с балансером будет проблемой сетевой, а где - прикладной.
PS В стеке tcp/ip не 7 уровней

А PPTP/L2TP — это пятый уровень, который используется для проброса второго уровня. Это я еще не начал про HTTP-прокси, которые седьмой уровень. И внезапно выясняется, что эти «уровни» являются чистейшей условностью.

Конечно. Как, по-твоему, AWS было создано? Это был проект амазона по централизации своих барахолок — на тот момент готовых решений под такую задачу не существовало.

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

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

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

Ты же понимаешь, что архитектура твоего приложения совершенно ортогональна тому, где оно хостится?

Завязываться на AWS — значит, что архитектура твоего приложения будет допускать одного единственного хостера в мире. Это примерно как написать сложную корпоративную систему на хранимых процедурах Oracle, и оказаться намертво завязанным на их единственную СУБД.

То есть, архитектура может быть связана с хостером, а может и не быть, но она не однозначно «ортогональна».

Ну и да, ответа на вопрос, в чем выражается анальное рабство у iaas провайдеров я так и не получил

Оно выражается в невозможности уйти от единственного провайдера.

Посмотри, сколько денег у инстаграма, сколько уже времени прошло со времени покупки фейсбуком — а все равно до сих пор не могут отвязаться от AWS.

А они к этому стремятся?

Хм-м, я порылся в инете — инстаграм все-таки полностью ушел от AWS к 2014 году:
https://instagram-engineering.com/migrating-from-aws-to-fb-86b16f6766e2?gi=56...
Им понадобился год для выполнения этой миграции — что показывает, что спрыгнуть с амазоновой иглы возможно, но это очень, очень дорого. У фейсбука на AWS крутятся какие-то другие проекты, предположительно какой-нибудь GIPHY или еще неизвестно что.

byko3y ★★★★
() автор топика
Ответ на: комментарий от byko3y

А PPTP/L2TP — это пятый уровень, который используется для проброса второго уровня. Это я еще не начал про HTTP-прокси, которые седьмой уровень. И внезапно выясняется, что эти «уровни» являются чистейшей условностью.

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

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

Мне начинает казаться, что ты не знаешь, что такое «облако».

Завязываться на AWS — значит, что архитектура твоего приложения будет допускать одного единственного хостера в мире.

То есть, херню сотворил архитектор, а виноват aws? Л - Логика!

Оно выражается в невозможности уйти от единственного провайдера.

То есть, мигрировать с aws на gcc или azure невозможно в принципе?

Хм-м, я порылся в инете — инстаграм все-таки полностью ушел от AWS к 2014 году:

А, так значит, возможно!

Им понадобился год для выполнения этой миграции — что показывает, что спрыгнуть с амазоновой иглы возможно, но это очень, очень дорого

Я тут открою тебе маленькую тайну. Мигрировать живую систему без прерывания в обслуживании - это в принципе сложно, независимо от того, откуда и куда ты мигрируешь. В один клик ты даже между своими ЦОДами не мигрируешь. Увы, такова селяви.

CaveRat ★★
()
Ответ на: комментарий от vaddd

«обсуждайте, но в некторых местах будьте осторожны, я за вас беспокоюсь»

О том и речь. «А давайте больше не будем называть плохих программистов пидарасами, а то я сам-то конечно не SJW какой-нибудь, но всё-же беспокоюсь». А потом на форуме появляется CoC с инклюзивностью, а старожилы сваливают и форум превращается в унылое говно с повесточкой. Именно так это и работает. Причём, судя по всему, работает просто отлично.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от Stanson

О том и речь. «А давайте больше не будем называть плохих программистов пидарасами, а то я сам-то конечно не SJW какой-нибудь, но всё-же беспокоюсь». А потом на форуме появляется CoC с инклюзивностью, а старожилы сваливают и форум превращается в унылое говно с повесточкой. Именно так это и работает. Причём, судя по всему, работает просто отлично.

А теперь, после того, как вы излили свое вселенское горе, можете наконец промокнуть слезки и приступить к изложению своих гениальных, но преследуемых всеми идей. Или можете гордо вскинуть голову и уйти со словами «мне уже расхотелось!».

vaddd ★☆
()
Ответ на: комментарий от vaddd

Бгг. Смешно, да. :)

Ну давай обсудим способы генерации валидных QR кодов для посещения публичных мест в странах где имеется такая практика.

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Ну давай обсудим способы генерации валидных QR кодов для посещения публичных мест в странах где имеется такая практика.

пожалуйста, обсуждайте, разве я против? )

vaddd ★☆
()
Ответ на: комментарий от Stanson

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

vaddd ★☆
()
Ответ на: комментарий от byko3y

Не согласен. Крупный завод в моем родном городе пишет свою систему сам, разве что оракл покупной, и то не факт, что кому-то из руководителей не дали на лапу для того, чтобы он пролоббировал эту покупку наверху. Старые люди, писавшие эту систему, уходят, новые приходят — вот и вся история. В теме CRM и ERP не нужны, ибо не автоматизируют я пытался доказать, что на самом деле собственное решение — это единственный выход. Покупать SAP/Oracle — это намного дороже и намного рискованнее. По итогу они за тебя твои бизнес-процессы не организуют — это тебе придется подстраиваться под их ПО, чтобы успешно внедрить их системы. А если пыхтела над внедрением твоя контора — за что платить интеграторам, и тем более самой Oracle/SAP? За тормознутую систему, которая по 3-5 секунд реагирует на клик мышки? Вы можете открыть демку SAP и убедиться в том, какой там ад творится.

Что тут сказать, я полностью согласен. К счастью, не имел личного опыта работы с CRM/ERP, но эта галимотья потребляла сервисы моего «продукта» (самописная внутренняя система, максимально соответствующая желанию компании) и я видел всю боль, что испытывали те, кто с ней работал. Кстати, именно благодаря этому покупному монстру моя команда реализовывала проекты, которые нужны были бизнесу здесь и сейчас, чтобы через 3-5 лет (а на практике и того позже) они реализовались там где надо (в CRM/ERP).

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

Опять же говоря про внутренние разработки, не всегда удаётся убедить бизнес выделить команду под написание хорошего продукта без оглядки на поддержку какого-нибудь старого говна. Зачастую команда на бумаге делает новый продукт, на практике продукт овнер постоянно заваливает команду высокоприоритетными задачами допилить что-то в существующем продукте, так как бизнес выходит с новой фишкой на рынок. Спустя два года воз и ныне там, новый продукт ещё не дописан, а его уже нужно обновлять, так как mainstream улетел вперёд.

Я так понимаю, про сам сервис даже в общих чертах не можешь рассказать, потому что NDA?

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

Мне кажется, что я плохо понимаю, о каком IaC идет речь. Если у тебя statefull система, то ты не можешь просто взять и задеплоить какую захочешь конфигурацию, как бы ты не танцевал вокруг, а ты все равно привязан к БД. Если же ты настроил свою собственную тестовую конфигурацию, то она твоя собственная и слабо похожа на продакшен.

Infrastructure as Code должен быть максимально похож между средами. Разница может быть в размерах и количестве виртуалок, на которых крутятся сервисы, но всё остальное должно быть идентично. То есть тот же Кубер, та же база данных, те же настройки IAM и так далее. Только разные среды поднимаются в разных аккаунтах, чтобы не иметь доступ к данным, к которым доступ запрещён. Конечно, в случае изменения базы данных, всё похерится, поэтому необходимо сперва добавить новую базу, потом отдельно запустить миграцию данных и по окончанию можно снова запустить обновление инфраструктуры, но уже без старой базы, а конфиги смотрят на новую.

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

Так для этого есть penetration tests. Заказывали ли в Sony аудит от стороннего подрядчика? Донесли свои хотелки? Объяснили, что и как? Мы этого не знаем. Ну а внутренняя команда безопасности, если делала аудит 1-2-5-50 раз, то вполне могла замылить глаз и проморгать это дело. И, кстати, говоря про безопасность алгоритма мы возвращаемся к вопросу о людских ресурсах - можно у Sony просто не было специалиста по безопасности должного уровня? Таких ведь мало, безопасников ещё сложнее найти, чем программистов.

Irben ★★★
()
Ответ на: комментарий от vaddd

Зачем же такие странные фантазии сразу про штаны?

Я долго жил в Венесуэле, поэтому пишу про Венесуэлу. Любые совпадения с иными странами прошу считать случайными.

Венесуэльская власть, нефть просравшая придержащая мне очень даже нравится. Я очень даже за неё.
Отчасти, конечно, потому, что я могу наблюдать некоторый бесплатный венесуэльский цирк издалека, достаточно хорошо понимая суть происходящего идиотизма. Ну кто же обижается на клоунов? Наоброт, им надо хлопать и молодецки посвистывать покрикивая «Исчо, Исчо!».

Мне не очень, правда понятно, почему некоторые венесуэльские (и не только) особи желают себя добровольно в голове самоцензурировать, регулярно повторяя «вот тута копирайт, вот тута закон, вот тута надобно только так».

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

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

Попробуй один раз в жизни отойти от своей перманентной гибкой податливости чресел и честно напиши ответ на простой вопрос - по закону поступал бы али как?

Brillenschlange
()
Ответ на: комментарий от byko3y

Для меня это тоже загадка.
Там вроде как было несколько странностей. И то, что тушили водой, а не пеной какой-нибудь (или чем там тушат электричество), и то, что совершенно случайно там, сюрпрайз, хранились какие-то базы местные Страсбургские, от которых бэкапов небыло.
Но как-то быстро забылось, сгорело и сгорело.

Хотя есть и простое объяснение - это Франция, детка. Посмотри на Sagem, что ещё добавить.

Brillenschlange
()
Ответ на: комментарий от CaveRat

Ну давай пересчитаем количество сгоревших стоек на количество умерших подкроватных серверов всего ЛОРа за сто лет и посмотрим кто кого. Только чур ты считай, я туповат для такого ресёрча.

Brillenschlange
()
Ответ на: комментарий от Brillenschlange

Венесуэльская власть, нефть просравшая придержащая мне очень даже нравится. Я очень даже за неё.

Почти в любой стране и в любом режиме можно найти кучу плюсов. Даже в чучхекорее и в ссср.

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

Дядя, я еще раз повторю - я не государственник. Если я вам сообщил о наличии законов - это не значит, что я их поклонник и любитель. Это значит что я знаю об их сущестовании и регулирую в соответсвии с ними свое поведение. Учитесь отделять информацию от личности и не домысливать несуществующее.

Попробуй один раз в жизни отойти от своей перманентной гибкой податливости чресел и честно напиши ответ на простой вопрос - по закону поступал бы али как?

Я, как любой вменяемый человек, соблюдаю большинство законов и не пытаюсь искать приключений на свою задницу. У вас как-то по иному?

vaddd ★☆
()
Ответ на: комментарий от vaddd

соблюдаю большинство законов и не пытаюсь искать приключений на свою задницу

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

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

Brillenschlange
()
Ответ на: комментарий от Brillenschlange

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

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

Ознакомься

Ага, уже бегу смотреть ютуповские линки. Если хотите выглядеть собеседником - учитесь выражать свои мысли словами, а не ссылками на какие-то видео

vaddd ★☆
()
Ответ на: комментарий от vaddd

Ага, уже бегу смотреть ютуповские линки.

Момент, перезаливаю на рутьюб, оставайтесь на линии.
Это как раз облако + бигдата + распределённая БД + [теория тупости] всё в одном, согласно названию топика.

Brillenschlange
()

Это что, ТС предлагает полагаться небольшому предриятию на прищавого линуксоида, который втихаря вкорячит на сервак свой лудший дистр вместо солидных дядей в дата центре, которые позаботятся обо всëм как надо?

Psilocybe ★★★★
()
Ответ на: комментарий от CaveRat

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

Роутинг нельзя реализовать на седьмом уровне? Ты запретил?

Завязываться на AWS — значит, что архитектура твоего приложения будет допускать одного единственного хостера в мире.

То есть, херню сотворил архитектор, а виноват aws? Л - Логика!

Тогда бы никто не пользовался AWS. Зачем, если есть хостинг в разы дешевле?

Оно выражается в невозможности уйти от единственного провайдера

То есть, мигрировать с aws на gcc или azure невозможно в принципе?

Зависит от степени интеграции с AWS. В случае достаточно глубокой интеграции это долго и дорого.

Я тут открою тебе маленькую тайну. Мигрировать живую систему без прерывания в обслуживании - это в принципе сложно, независимо от того, откуда и куда ты мигрируешь. В один клик ты даже между своими ЦОДами не мигрируешь. Увы, такова селяви

Ты мне открыл тайну — я тебе тоже открою тайну: весь смысл существования распределенной системы заключается в том, чтобы иметь возможность легко добавлять и убирать узлы из нее: поднял узлы на новом ЦОД, потушил узлы на старом. Иначе имеем многокомпьютерную монолитную систему, вроде инстаграма, которую пришлось писать новую распределенную софтину для распределенного роутинга на базе Zookeeper, которая компенсировала отсутствие самостоятельной гибкости и отказоустойчивости у служб инстаграма. Подчеркиваю слово «самостоятельной» — Amazon силами своих технологий обеспечивал всё то, что разрабы инстаграма до покупки фейсубком не могли сделать.

byko3y ★★★★
() автор топика
Ответ на: комментарий от Psilocybe

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

Если это внешний сервис, вроде вьебсайта или упомянутой почты, то то имеем смысл таки это отдать аутсорсеру, вроде того же яндекса. Или если у тебя мелкий интернет-магазин — отдать его одной из десятков сервисов по созданию подобных площадок. Но если ПО внутреннего пользования, то оно и должно быть оставаться внутренним, более того — отрезанным от интернета. Если доступа из интернета к серваку нет — то его и не взломают. У него сниженные требования к безопасности, стабильности, поддержке разных платформ — потому что внутри одной фирмы эти требования уходят на второй план, а на первый план выходят фичи специфичные для этой одной фирмы. Солидные дяди в датацентре не будет за 2000 рублей адаптировать свою инфраструктуру под ваш бизнес.

Совсем недавно если твое SAP/Jira/Confluence/Dynamic не ставилось на корпоративный сервак, то его бы никто не купил. Прошло время, и теперь даже SAP предоставляет облачные услуги, а Jira совсем перестала продавать сервера.

byko3y ★★★★
() автор топика
Ответ на: комментарий от byko3y

Роутинг нельзя реализовать на седьмом уровне? Ты запретил?

IP-роутинг? Да, нельзя. Я запретил :))

Тогда бы никто не пользовался AWS. Зачем, если есть хостинг в разы дешевле?

Пример в студию.

Зависит от степени интеграции с AWS. В случае достаточно глубокой интеграции это долго и дорого.

Так можно? Или нельзя? А то ты уже весь извертелся, уходя от ответа на вопрос «чем iaas-провайдеры обратили тебя в анальное рабство?»

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

Перевезли сотню-другую терабайт… Обеспечили в процессе нормальную балансировку между ЦОДами, которая учитывает наличные мощности в каждом и географию… Обеспечили сохранность новых данных… А так всё просто.

CaveRat ★★
()
Ответ на: комментарий от byko3y

Но если ПО внутреннего пользования, то оно и должно быть оставаться внутренним, более того — отрезанным от интернета

Потому, что ты скозал, понемаю

CaveRat ★★
()
Ответ на: комментарий от CaveRat

Тогда бы никто не пользовался AWS. Зачем, если есть хостинг в разы дешевле?

Пример в студию

Чего примеры? Контор, которые вместо AWS взяли простой местный дешевый хостинг? Валом, в том числе где я работал.

Зависит от степени интеграции с AWS. В случае достаточно глубокой интеграции это долго и дорого.

Так можно? Или нельзя? А то ты уже весь извертелся, уходя от ответа на вопрос «чем iaas-провайдеры обратили тебя в анальное рабство?»

Я вроде уже ответил: тем, что ты будешь расплачиваться за «сокращающие затраты на разработку» услуги в десятикратном размере. У инстаграма было два выбора: банкротиться или продаваться. В итоге он продался. Вот такая вот цена за услуги AWS. Если ты не Facebook и не Netflix, то у тебя не найдется столько свободных миллионов долларов, чтобы уйти от AWS.

У AWS безумно сложная инфраструктура — ты вроде как не обязан ею пользоваться, но зачем ты тогда хостишься на AWS? Это ведь самый дорогой хостинг во всём интернете. И по итогу если ты можешь сделать свою систему достаточно независимой от провайдера, то будешь хоститься у дешманских местных провайдеров, как это делает тот же Netflix для своего своего CDN, составляющего львиную долю всех затрат хостинга.

Перевезли сотню-другую терабайт… Обеспечили в процессе нормальную балансировку между ЦОДами, которая учитывает наличные мощности в каждом и географию… Обеспечили сохранность новых данных… А так всё просто

А эти сотни терабайт откуда взялись? С неба упали? Конечно, если у вас есть редкий случай медленного архива аля Backblaze, который нужно перевезти, то можно нагрузить машину жесткими дисками и перевезти их физически.

До этого балансировка как-то обеспечивалась? Конечно, если эта функция приколочена гвоздями к AWS, то вариантов мало, но что-то можно придумать, если постараться.

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

byko3y ★★★★
() автор топика
Ответ на: комментарий от CaveRat

Потому, что ты скозал, понемаю

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

byko3y ★★★★
() автор топика

Фух, с третьего подхода наконец осилил «новаторскую» Yandex DB, про которую почему-то яндекс упорно отказывается раскрывать подробности технической реализации:

https://www.youtube.com/watch?v=FwLvAuOSIOU — 006. Yandex Database: база данных newSQL – Денис Подлужный
https://www.youtube.com/watch?v=MlSdUq5RIN8 — Yandex Database эффективная альтернатива традиционным noSQL решениям Андрей Фомичев 01 10 19

Да-да, вы не ослышались «отказывается раскрывать подробности». Суть 99% пустословия по теме строго согласованных распределенных СУБД: «у нас есть проблема организации единого координационного отказоустойчивого центра — давайте накидаем кучу дополнительных механизмов и существование проблемы координатора как бы вынесем за скобки».

https://www.youtube.com/watch?v=FwLvAuOSIOU#t=33m15s — представитель Postgres Prefessional коварными вопросами пытается выведать хотя бы одну существенную деталь реализации Yandex DB, но Денчик мужественно увиливает от прямых ответов, и после нескольких вопрос-ответов сливает разговор в ключе «короче, там магия, но это слишком сложно, я не буду вникать, это долго объяснять».

Итак, что же на самом деле есть Yandex DB? Это практически 1 в 1 клон Calvin:

http://cs.yale.edu/homes/thomson/publications/calvin-sigmod12.pdf — Calvin: Fast Distributed Transactions for Partitioned Database Systems

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

Гайд «как создать свою распределенную масштабируемую СУБД со строгой согласованностью данных и ACID гарантиями»:

1. Берем ZooKeeper.
2. ...
3. Получаем масштабируемую ACID СУБД.

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

А проблему распределенной БД со строгой согласованностью можно выразить очень просто: как сделать распределенный отказоустойчивый атомарный целочисленный счетчик? Если я получил успешный ответ об увеличении счетчика, то я должен иметь гарантию, что этот ответ никакой другой узел ни при каком отказе не сможет получить, и тогда я могу писать под этим идентификатором свою операцию, не опасаясь конфликтов со стороны других узлов. С этим номером я, например, могу разослать свою операцию кластеру (без необходимости взаимодействия и вообще наличия «лидера» при этом), и получив большинство успешных сохранений я заканчиваю транзакцию успешно, мне даже никаких two-phase commit не нужно.

Как только вы решили проблему счетчика — вы получили бесконечно масштабируемую распределенную СУБД. Raft опирается на неразрывно возрастающий счетчик транзакций, у Zookeeper (Zab) есть разрывы, но суть та же — атомарный распределенный счетчик. И сколько не масштабируй кусок дерьма, не способный обеспечить гарантии распределенного счетчика — у тебя получится масштабированный кусок дерьма.

В сухом остатке, возвращаясь к нетехническому обсуждению, мы получаем: Яндекс очень хочет создать видимость развития и создания новых технологий, которых у него на самом деле нет (ну то есть есть, но сильно меньше), чтобы очередной манагер Васян или владелец бизнеса Толян сказал «ой какие молодцы, мои охламоны до такого никогда не додумаются, а этим людям я готов доверить свой бизнес, свою собаку, жену и детей». Но им нужно отдать должное — в Яндексе все-таки понимают, что нынче в облаках ACID гарантии есть только у Zookeeper-а. Многие и этого не могут понять. Правда, я бы вернулся к риторике исходного сообщения: если вам нужны ACID гарантии в облаке, то вы что-то делаете не так. И вполне возможно, что проблема заключается в том, что вы используете облако — SaaS намного хуже, чем проприетарный софт.

byko3y ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.