Как выявить и решить проблемы веб-масштаба

автор vadim


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

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

Ранние предупреждения

Одним из первых предвестников беспокойства в масштабах Интернета мы стали свидетелями индустрии поздравительных открыток. В течение почти 100 лет компании по производству поздравительных открыток в Соединенных Штатах работали, производя и продавая открытки, которые приклеивались к подаркам, отправлялись по почте и приклеивались на холодильники. Затем, в середине 1990-х годов, все изменилось. Это был подъем Всемирной паутины, и каждый хотел стать ее частью. В 1996 году Blue Mountain, American Greetings и Hallmark запустили дотком-сайты для обслуживания электронных открыток, и за этим последовала цифровая битва.

Я работал в индустрии поздравительных открыток, и все было связано с праздниками. День святого Валентина, День матери и Рождество — одни из самых счастливых и, не случайно, самых прибыльных времен года для компаний, производящих поздравительные открытки. По мере того как бизнес перешел в онлайн, эти крупные праздники стали полем битвы в сфере электронных открыток, сочетая в себе учения Искусство войны (Сунь Цзы) с Мифический человеко-месяц (Фред Брукс) для создания современной веб-инфраструктуры и завоевания нового цифрового бизнеса. (Сегодня мы называем это цифровой трансформацией.)

Сначала электронные открытки были бесплатными. Целью было привлечь пользователей, а не заработать деньги. Для доткомов миллионы пользователей стоили миллионы долларов в оценке компании. Какое-то время все было отлично. Все привлекали новых пользователей. Однако вскоре интернет-компаниям потребовалось зарабатывать реальные деньги. Это создало как раздоры, так и возможности.

Когда сайт AmericanGreetings.com решил начать взимать плату за электронные карты, люди не хотели платить, поэтому они заполонили сайт Hallmark.com. Компания Hallmark не смогла справиться с дополнительным трафиком и вышла из строя. Люди по-прежнему хотели отправлять электронные открытки, поэтому они вернулись на сайт AmericanGreetings.com и заплатили за их отправку. Это привело к колоссальному развитию бизнеса American Greetings, но, что более важно, подчеркнуло конкурентное преимущество, заключающееся в возможности обрабатывать не только трафик веб-масштаба, но и непредсказуемый трафик веб-масштаба.

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

Рассвет забот веб-масштаба

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

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

Проблемы веб-масштаба становятся мейнстримом

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

Масштаб и контекст проблем веб-масштаба изменились, что во многом усложняет их выявление. Вот список вопросов, которые следует задать, чтобы определить, есть ли в вашем бизнесе проблема веб-масштабирования (и насколько велика эта проблема на самом деле):

  1. У вас есть двусторонний рынок с сотнями или тысячами пользователей, которые покупают или потребляют ресурсы, а также десятками или сотнями ИТ-специалистов, курирующими предлагаемые услуги?
  2. Есть ли у вас сценарии, в которых нагрузка на систему может резко измениться за короткий период времени?
  3. У вас есть сотни или тысячи серверов, которые большую часть времени используются недостаточно, но иногда резко повышаются?
  4. Вы собираете данные, генерируемые тысячами или миллионами небольших устройств или пользователей?
  5. У вас есть рабочая нагрузка, которая значительно превосходит возможности одного компьютера?
  6. Вы разрабатываете сотни или тысячи сервисов или микросервисов?

Вы ответили «да» хотя бы на один из этих вопросов? Ты думаешь, что ты воля ответить «да» на любой из этих вопросов в течение следующих трех-пяти лет?

Элегантное решение проблем веб-масштаба

Вернувшись в American Greetings (и в течение многих лет после этого в других местах), я решал проблемы веб-масштаба с помощью программного обеспечения, эквивалентного скудным средствам и жевательной резинке. В то время наша команда использовала сочетание решений с открытым исходным кодом и собственных решений для управления одним из крупнейших веб-сайтов в Интернете. Используя такие инструменты, как Linux, Apache и собственную реплику CFEngine (да, реплику), мы смогли управлять более чем 1000 серверами и 70 приложениями примерно с тремя людьми (которых сегодня большинство назвало бы инженерами по надежности сайтов).

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

Раннее веб-масштабирование было похоже на первые дни существования компьютеров: если вы не знали, как использовать Windows или Linux, вы знали, как использовать конкретный компьютер, такой как COLOSSUS или ENIAC. В те первые дни веб-вычислений не было особой переносимости имеющихся у вас знаний, хотя базовые концепции (сети, балансировщики нагрузки, хранилище, веб-серверы и т. д.) применялись.

После American Greetings я работал в интернет-провайдере и компании, занимающейся веб-разработкой, и решал аналогичные проблемы для более чем 70 различных клиентов. Эта работа помогла мне осознать, что может и должен существовать стандартный способ решения проблем веб-масштаба. Вот почему я был так взволнован, когда увидел появление Kubernetes. Это изменило все. Когда я впервые увидел Kubernetes, я был невероятно взволнован. Я знал, что наконец-то появился способ решать проблемы веб-масштаба стандартным способом.

Потребность в Kubernetes

Во время сборки Kubernetes и контейнеры обеспечивают стандартизированный способ создания приложений. Каждый может научиться этому: используйте Dockerfiles/Containerfiles и зафиксируйте их в Git. Этот стандартизированный язык управления сборкой упрощает когнитивную нагрузку и позволяет перенести знания, которыми обладают SRE, в другие системы внутри вашей организации и из других организаций (что упрощает наем новых людей). Это также значительно упрощает тестирование приложений перед их запуском в производство.

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

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

Проект Kubernetes в сочетании со многими инструментами с открытым исходным кодом, предназначенными для его дополнения, позволяет организациям эффективно удовлетворять потребности в масштабе Интернета. Заметьте, я не сказал «легко встретиться.” Я не собираюсь притворяться, что Kubernetes — это легкая задача, потому что это не так. Но помните, что проблемы веб-масштаба непросты, и в наши дни почти у каждого есть одна (или несколько) проблем. У Kubernetes есть возможности, о которых я даже не мог себе представить, когда сходил с ума, пытаясь не дать Дню святого Валентина разбить технологическое сердце моей компании.

В Red Hat Скотт Маккарти является старшим главным менеджером по продуктам RHEL Server, возможно, крупнейшего в мире подразделения программного обеспечения с открытым исходным кодом. Области фокуса включают облако, контейнеры, расширение рабочих нагрузок и автоматизацию. Тесно работая с клиентами, партнерами, инженерными командами, отделами продаж, маркетинга, другими продуктовыми командами и даже с сообществом, Скотт объединяет личный опыт с отзывами клиентов и партнеров, чтобы улучшить и адаптировать стратегические возможности Red Hat Enterprise Linux.

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

Форум новых технологий предоставляет место для изучения и обсуждения новых корпоративных технологий с беспрецедентной глубиной и широтой. Выбор является субъективным и основан на выборе технологий, которые мы считаем важными и представляющими наибольший интерес для читателей InfoWorld. InfoWorld не принимает маркетинговую информацию для публикации и оставляет за собой право редактировать весь предоставленный контент. Все вопросы отправляйте по адресу newtechforum@infoworld.com.

Related Posts

Оставить комментарий