Выход из облака

Dec 23 2022
Сейчас много говорят о том, что облака устарели, и на самом деле это просто дорогой способ отправить людей в космос. Сообщение в блоге Дэвида Хайнемейра Ханссона, опубликованное некоторое время назад, о том, что он думает, что облако — это в значительной степени новые слои краски на старых вещах, и поэтому хочет сразу же оставить его позади.

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

Я получил это изображение, созданное DALL-E-2

Теперь Дэвид не легковес. Он человек, стоящий за Basecamp, которым пользуются миллионы людей. Он также является автором широко используемого фреймворка Ruby on Rails, которым пользуются десятки миллионов людей. Он автор бестселлеров. Он даже настоящий сертифицированный автогонщик. Я никогда не писал крупных проектов с открытым исходным кодом и езжу на велосипедах только мимо гоночных трасс, так что давайте проясним — я стреляю в гигантов. Моя единственная защита — я делал некоторые из этих вещей во всех видах масштаба. Однажды я родился на облаке, провел время исключительно на земле и несколько раз был туда и обратно, и, надеюсь, это дает мне представление, на которое стоит взглянуть.

Основной аргумент Дэви, что нельзя арендовать, если можно купить, верен, но только при некоторых обстоятельствах. Сам Давид указывает на два из них; новая компания, у которой еще нет клиентов, или устоявшаяся компания с крайне неустойчивым ростом, где, по его словам, облачные технологии лучше. Однако его аргумент состоит в том, что это ЕДИНСТВЕННЫЕ два случая, когда облако лучше, и я думаю, что он спотыкается о свою гоночную машину.

Во-первых, давайте немного предыстории. Дэвид — нужно понять его точку зрения. Компания 37Signals — небольшая компания — выручка 7,9 млн долларов, штат сотрудников — около 95 человек. У него около 14 миллионов пользователей в месяц среди около 150 000 платных клиентов. Это прибыльная, стабильно растущая компания, которая не финансируется венчурным капиталом и, в отличие от большинства других технологических компаний, ценит медленный прибыльный рост по сравнению с быстрым масштабированием. Они неоднократно говорили об этом — их идеал — местный продуктовый магазин, а не Slack или NetFlix.

Это делает 37Signals довольно необычным. Из-за этого то, что работает для них, не всегда работает для других, поэтому нам нужно больше нюансов.

Масштабирование без облака

В статье говорится, что Basecamp уже запускает большой и сложный сервис, но это не совсем так. Насколько я могу судить по собственному сайту Basecamp и из других источников, у компании 8-10 миллионов посетителей в день и 130 000 аккаунтов. Это не очень много; даже RBL Bank, в котором я сейчас работаю, посещает около 7–8 миллионов человек в месяц. Вдобавок к этому Basecamp не имеет транзакций в реальном времени, имеет относительно простую внутреннюю обработку и гораздо более простые требования к безопасности.

Сам Дэвид говорит: «У нас есть бизнес-модель, которая невероятно совместима с владением оборудованием и его списанием в течение многих лет. Траектории роста, которые в основном предсказуемы. Квалифицированный персонал, который мог бы также использовать свои таланты, управляя нашими собственными машинами».

Эта разница имеет решающее значение. Нагрузки Basecamp, вероятно, управляются несколькими серверами, по сравнению с более чем 3000 серверов для RBL Bank, управляющего более чем 40 направлениями бизнеса. Запуск полной инфраструктуры с сотнями стоек и тысячами серверов, не говоря уже о стеках маршрутизаторов и коммутаторов. И все это нуждается в поддержке 24x7. Может ли горстка людей справиться с этим?

Для большинства технических директоров компаний ответом является немедленное «нет». Такое количество аппаратного обеспечения обычно говорит о многом. Есть серверная группа со своими экспертами по Linux, сетевая группа со своими экспертами по Cisco, группа по хранению данных со своими экспертами по EMC, группа по виртуализации со своими экспертами по VMWare, группа по базам данных со своими экспертами по Oracle и так далее. Много экспертов, много супервайзеров, много сложностей, с которыми приходится сталкиваться.

Однако я согласен с Дэвидом; это не сегодняшняя реальность.

Сегодняшняя инфраструктура, даже в помещении, как правило, уже виртуализирована, и существуют зрелые инструменты для управления каждым аспектом в значительной степени автоматизированным способом, поэтому небольшая (не особо опытная) команда может делать — с некоторой помощью OEM-производителей — все, что раньше требовало армии. Помните, было время, когда для работы с аппаратом Xerox требовался сертифицированный оператор — сегодня малыш может нажать кнопку и получить точные ответы, потому что технология прогрессирует, интерфейсы упрощаются, а количество движущихся частей уменьшается. Нечто подобное произошло с серверами и сетями; большинство ИТ-директоров просто этого не заметили. Все простые интегрированные средства управления, доступные сегодня в облаке, также легко (и надежно) доступны локально.

Amazon и Google сами открыли исходный код многих инструментов, которые они используют, плюс VMWare, Nuntanix и Dell в мире скопировали и усовершенствовали. Гиперскаляры сегодня достигают отношения количества серверов к людям порядка 10 000, что означает, что один человек управляет 10 000 серверов. В несколько меньших масштабах компании по-прежнему легко управлять несколькими тысячами серверов с помощью не более чем команды по крикету. Помните, что мы говорим не о поддержке кода приложения — это одно и то же в облаке или локально — а скорее об управлении базовой сетевой инфраструктурой вычислительного хранилища.

Нет никакой магии. Упрощенная, виртуализированная аппаратная установка (все однотипно), многопрофильные специалисты и отличные инструменты управления — все это находится в пределах легкой досягаемости большинства компаний, если бы они только постарались. NSE делает это в IFSC Gift City, Zerodha делает это, стартапы делают это, но авторитетные компании изо всех сил пытаются выйти из существующих парадигм, чтобы сделать это таким образом.

Однако есть одна оговорка (и она может быть серьезной). Ваш аппаратный стек должен быть унифицированным и относительно новым, чтобы это работало (что, кстати, действительно является реальностью. Большинство инструментов и навыков становятся сложными или невозможными, если вы не привержены упрощенным, модернизированным стекам. Немного похоже на то, что Southwest Airlines имеет только один тип самолета , который является ключевой частью стратегии Southwest, которую использует, чтобы буквально подняться в облака.

Пикирование без облака

Заявление Дэвида о том, что бизнес либо стабилен, либо изменчив, слишком просто. Любая сложная бизнес-структура всегда имеет несколько направлений бизнеса и несколько продуктов — и, таким образом, сочетание стабильного и изменчивого. Новые предприятия могут запускаться небольшими и быстро масштабироваться, или запускаться большими и масштабироваться еще быстрее, или иметь устойчивый рост в любом масштабе. Кроме того, трудно предсказать остроту в будущем.

Basecamp обладает роскошью как устойчивого роста, так и предсказуемости будущих скачков. После нескольких лет работы в одном и том же бизнесе с одним и тем же продуктом вряд ли возникнут неожиданные всплески. Это не относится к большинству сложных предприятий, где постоянные новые запуски и внедрения делают ситуацию более нестабильной. Однако даже здесь сам Дэвид говорит о том, каким благом было облако, когда они запустили Hey — 300 000 пользователей в часы, а не запланированные 30 000 в месяцы.

Можно ли этого добиться без облака? Здесь ответ - нет (но с некоторыми оговорками). Локальное масштабирование для одной компании, по сути, означает, что ресурсы не используются; нет другого способа получить мощность по запросу. Частично эту нагрузку можно облегчить путем динамического перераспределения ресурсов с простаивающих приложений на занятые (такая возможность сегодня есть у большинства современных локальных стеков), но локальная емкость конечна и в конечном итоге относительно ограничена.

То, что можно сделать сегодня, врывается в облако. Даже традиционные предприятия начали делать это ограниченными способами, выполняя массовые задания по управлению данными в облаке вместо того, чтобы покупать для этого оборудование. Oracle и многие другие OEM-производители оборудования предоставляют способ расширения в облаке с оплатой по мере того, как вы выходите за рамки основной локальной нагрузки — RBL Bank отлично использовал это в течение первых нескольких дней обновления основного банковского обслуживания, когда многие рабочие места были сокращены. гораздо больше вычислений при включенной оптимизации. Не все приложения поддерживают это, но по мере того, как приложения будут встраиваться в контейнеры, это станет нормой.

Конечно, если вы находитесь в режиме гиперроста, вся эта взрывоопасность не поможет; вы предпочитаете оставаться в облаке.

Блестящие новые слои краски

Дэвид тратит много времени на рассказы о том, как магия AWS обманывает людей. Кажется, это противоречит тому факту, что технологически продвинутые компании (такие как Capital One, Nasdaq, Slack или Netflix) продолжают работать в облаке и продолжают использовать его. Сегодня Netflix тратит около 12 миллионов долларов в месяц и публично пообещал увеличить эту цифру в 3 раза к 2025 году. Slack обязался потратить 400 миллионов долларов. Маловероятно, что эти компании не сделали расчетов или ослеплены новыми слоями краски.

Так что же знает Netflix, чего не знает Basecamp? Ничего особенного, это просто разница во взглядах. Что бы вы ни делали в облаке, вы можете делать это локально, и это не так сложно и не так трудоемко, как раньше, но это больше работы, чем в облаке. Basecamp уделяет первостепенное внимание экономии средств и готов привлечь несколько дополнительных сотрудников для управления сервисом. Capital One, который намного больше и сложнее, вероятно, отдает предпочтение другим задачам, а не экономии на облаке; они могут, например, предпочесть направить людей на разработку продукта, а не на управление инфраструктурой. Есть также вопрос масштаба — рост до сотен тысяч серверов, и это больше не несколько инструментов с открытым исходным кодом и некоторая автоматизация.

А еще есть услуги. Облако может предложить множество готовых услуг; просто воспользуйтесь услугой и не беспокойтесь ни о приложении, ни об инфраструктуре. Аналитика, ведение журналов, база данных, мобильная серверная часть, хранилище объектов, бессерверное веб-обслуживание, обмен сообщениями — все это доступно по запросу, по запросу и с исключительной надежностью. Конечно, они стоят дороже, но даже люди, у которых есть автомобили и дома, арендуют у Hertz и Marriott. Хитрость заключается в том, чтобы использовать его надлежащим образом и с умом, а также знать, когда следует отказаться от аренды.

Резюме

Внедрение облака зависит от многих факторов, включая стоимость. Компании, которым нужна гибкость, должны оставаться в облаке. Решение второстепенных задач с помощью второстепенных навыков в конечном итоге приводит к раздуванию рабочей силы организации. Клауд — не серебряная пуля — это еще один мощный выбор в арсенале оружия. Время, когда IAAS была целью, давно прошло. Переходите в облако только в том случае, если вы готовы работать с облаком — в контейнерах, DevOps, с горизонтальным масштабированием и т. д.

Ключевые уроки:

  • Не размещайте вещи в облаке вслепую. Постоянно обдумывайте — для каждого запуска продукта — больше вы больше Basecamp или больше Netflix. Новые приложения или приложения с высокой нестабильностью являются очевидными кандидатами, но есть и другие. И все меняется, периодически просматривайте это, чтобы увидеть, куда что переместить.
  • Меньше беспокойтесь о том, что вы не сможете нанять или сохранить местных специалистов. Вам больше не нужны эти опытные армии, поэтому вы можете тренировать всю свою рабочую силу гораздо шире и чаще. DevOps поглощает большую часть ваших экспертных рабочих нагрузок (требуется значительный культурный сдвиг).
  • Очистите и упростите свой стек. Наибольшая сложность и затраты на локальную среду связаны с приобретением нескольких вариантов, поставщиков и версий. Be Southwest
  • Переместитесь внутрь для самых дорогих частей — сегодня в AWS это RDS (управляемые базы данных Postgres), поэтому я настоятельно рекомендую отказаться от него. Приобретите собственные навыки управления Postgres и перестаньте так бояться баз данных.
  • Время, когда IAAS была целью, давно прошло. Переходите в облако только в том случае, если вы готовы к работе в облаке — в контейнерах, DevOps, с горизонтальным масштабированием и т. д. Там, где это имеет смысл, используйте дополнительные преимущества, которые облако предлагает бесплатно, например улучшенный мониторинг, автоматическое масштабирование. Операции с ИИ, гораздо более тонкий контроль затрат (Netflix сделал здесь несколько потрясающих вещей). Если вы не готовы делать все это, замените своего ИТ-директора, а не инфраструктуру.