Рубрика «Блог компании SEMrush»

Привет!

С вами снова Никита — системный инженер из компании SЕMrush. И этой статьей я продолжаю историю про то, как мы придумывали решение обхода Китайского Фаервола для нашего сервиса semrush.com.

В предыдущей части я рассказал:

  • какие появляются проблемы после того, как принимается решение «Нам нужно сделать так, чтобы наш сервис работал в Китае»
  • какие проблемы есть у китайского интернета
  • зачем нужна ICP-лицензия
  • как и почему мы решили тестировать наши тестовые стенды с помощью Catchpoint
  • какой результат дал наш первый вариант решения, базирующийся на Cloudflare China Network
  • как мы нашли баг в DNS Cloudflare

Как мы пробивали Великий Китайский Фаервол (ч.2) - 1

Эта часть — самая итересная, на мой счет, потому что сосредоточена на конкретных технических реализациях стейджингов. И начнем мы, а точнее продолжим, с Alibaba Cloud.

Читать полностью »

Всем привет!

На связи Никита — системный инженер из компании SЕMrush. Сегодня я расскажу вам о том, как перед нами встала задача обеспечить стабильность работы нашего сервиса semrush.com в Китае, и с какими проблемами мы столкнулись в ходе ее выполнения (учитывая местонахождение нашего дата-центра на восточном побережье США).

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

Как мы пробивали Великий Китайский Фаервол (ч.1) - 1

Проблемы китайского интернета

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

Читать полностью »

image

10 лет назад SEMrush начинался как стартап двух SEO-шников. Сегодня продукт предлагает около 40 инструментов для digital-маркетолога, и произошло это благодаря тому, что в команде всегда поощрялись новые идеи. Поддержание такой среды, в которой идеи драйвят процесс развития – одна из главных задач компании.

Творчество вне рабочей недели


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

В 2016 и 2017 мы провели Неделю Инноваций. Участники делились на команды и создавали инструменты для решения внутренних задач. Каждый выбирал сам, над чем ему интереснее работать: над ботом, подсказывающим, сколько дней отпуска осталось, или над сервисом для создания визиток. Но такой формат получался несколько затянутым, и мы решили попробовать что-то новое.

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

Наш хакатон


Разработчики, UX-дизайнеры, аналитики и маркетологи объединились, чтобы воплотить в жизнь свои задумки. Итого у нас было 60 часов работы и 30 участников в 7 командах. Помня о Неделях Инноваций, мы знали, что у команд может не все пойти гладко. Однако в этот раз все дошли до конца и успели зарелизиться к понедельнику. Итак, вот результаты рабочих выходных наших ребят.
Читать полностью »

image

Дело было вечером, накануне ежегодной конференции HolyJS в Санкт-Петербурге. Наша компания уже не первый год является спонсором: соответственно, имеет и свой стенд с интересностями для пытливого ума неравнодушных разработчиков. Когда основное блюдо было готово и все задания были отревьювены и законфирмены, я решил подкинуть на ночь глядя еще интеллектуальной пищи коллегам:

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

Язык — разумеется, JavaScript. Сама задача — классика, но ограничение в 50 символов обернулось настоящим челенджем.

В перерывах первого дня конференции мы обсуждали варианты достижения цели, постепенно сокращая ответ. Весь ажиотаж увенчался идеей поделиться задачей со всеми участниками конференции, и на второй день мы визуализировали задачу (см. приложение) и стали раздавать бланки желающим. В итоге получили около 40 решений и в очередной раз убедились в незаурядности сообщества js-разработчиков, но рекорд Дмитрия Катаева (SEMrush) в 53 символа остался. Давайте разбираться!

Читать полностью »

Puppet+Hiera. Выжимаем максимум - 1

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

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

Для кого была бы полезна данная статья

Если:

  • Вы знаете, что такое Puppet и Hiera, но особо не использует их в связке, потому что непонятно, как это делать и зачем
  • У вас в компании есть множество команд и вам надо как-то разграничивать конфигурацию серверов на уровне команд
  • Вы используете паппет, и нодные файлы у вас разрослись до неимоверных размеров
  • Вам нравится читать конфигурацию серверов в божественном yaml формате :)
  • Вы в принципе интересуетесь темой Configuration Management и системным администрированием

Эта статья для вас.

Читать полностью »

Как у нас сломался Ceph - 1

Детектив в 1 части.
Эта история произошла в октябре.

Есть Ceph версии 0.94 (Hammer). 6 стораджей, 8 мониторов, по 6-8 osd на каждом сторадже, SSD диски объемом от 1 ТБ до 4 ТБ. Реплика — 2, минимум 1.

Как-то раз случилось такое: вечером прошел некий шторм по всему кластеру и самопроизвольно перезапустилось множество osd. В логах osd были видны стандартные для ceph ошибки вида no reply from osd.X. Немного slow requests и самопроизвольные рестарты, что для ceph не критическое событие и довольно частое. В общем, такое бывает. Но, к сожалению, не все перезапустившиеся osd смогли подняться. А именно пала героем osd.45 на storage6.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js