Pull to refresh
1
0
Влад @StyleT

User

Send message

Микросервисы: опыт использования в нагруженном проекте

Reading time17 min
Views68K


На конференции HighLoad++ 2016 руководитель разработки «М-Тех» Вадим Мадисон рассказал о росте от системы, для которой сотня микросервисов казалась огромным числом, до нагруженного проекта, где пара тысяч микросервисов — обыденность.

Тема моего доклада — то, как мы запускали в продакшн микросервисы на достаточно нагруженном проекте. Это некий агрегированный опыт, но поскольку я работаю в компании «M-Tех», то давайте я пару слов расскажу о том, кто мы.

Если коротко, то мы занимаемся видеоотдачей — отдаём видео в реальном времени. Мы являемся видеоплатформой для «НТВ-Плюс» и «Матч ТВ». Это 300 тысяч одновременных пользователей, которые прибегают за 5 минут. Это 300 терабайт контента, который мы отдаем в час. Это такая интересная задача. Как это всё обслужить?

Про что сама эта история? Это про то, как мы росли, как проект развивался, как происходило какое-то переосмысление каких-то его частей, какого-то взаимодействия. Так или иначе, это про масштабирование проекта, потому что это всё — ради того, чтобы выдержать ещё больше нагрузки, предоставить клиентам ещё больше функционала и при этом не упасть, не потерять ключевых характеристик. В общем, чтобы клиент остался доволен. Ну и немного про то, какой путь мы прошли. С чего мы начинали.
Читать дальше →
Total votes 78: ↑77 and ↓1+76
Comments65

Как двухлетний репозиторий на GitHub стал трендовым за 48 часов

Reading time8 min
Views41K


GitHub предоставил возможность миллионам разработчиков с легкостью публиковать свои проекты и тем самым привлекать пользователей и единомышленников. Часто перед разработчиками возникает проблема неэффективного использования ресурсов — они тратят сотни часов на создание проекта с целью продвинуть его на GitHub, а получают максимум две звезды.
Читать дальше →
Total votes 88: ↑74 and ↓14+60
Comments37

AWS Snowmobile: перевоз петабайт данных в облако на … грузовиках от Amazon

Reading time2 min
Views21K


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

Мы в свое время интересовались расценками на эту услугу, и, в целом, считаем ее довольно нужной (в специфических случаях, конечно). Сейчас Amazon представила еще один схожий сервис, который получил название AWS Snowmobile. И это уже не шутки — AWS Snowmobile представляет собой мощный грузовик шириной в 3 метра и длиной 13 метров. Кузов грузовика — вандалоустойчивый и очень прочный. Внутри — система накопителей данных огромной емкости. Фактически, весь грузовик — это «внешний диск» на колесах. Он способен передавать данные со скоростью в 1 терабит в секунду через кабель и высокоскоростной свитч.
Total votes 33: ↑27 and ↓6+21
Comments20

Ускоряем npm-скрипты

Reading time6 min
Views16K

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


Все пользуются таск раннерами в той или иной мере: кто-то старинным грантом, кто-то постепенно уходящим с арены галпом и многими другими, а кто-то уже во всю использует npm-скрипты.


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

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments17

Простой способ попасть в VIP-зал европейского аэропорта

Reading time3 min
Views38K

Покупать билет бизнес-класса не нужно, необходимо лишь составить корректный для сканера посадочных талонов QR-код



Пшемек Ярошевски демонстрирует QR-код, позволяющий ему получить доступ в VIP-зал аэропорта

Глава польского подразделения «Компьютерной группы реагирования на чрезвычайные ситуации» (computer emergency response team, CERT) Пшемек Ярошевски (Przemek Jaroszewski) очень часто отправляется в международные командировки. Обычно он летает самолетом, в среднем 50 — 80 раз в год. С такой частотой перелетов авиакомпании предоставляют клиенту множество бонусов, включая доступ в VIP-залы. Ярошевски по душе зал Turkish Airlines, где можно посмотреть кино, опробовать турецкую выпечку и даже получить сеанс бесплатного массажа.

В одном из полетов статус вип-клиента не был распознан системой при сканировании посадочного талона поляка. Ярошевски решил проблему, используя свои навыки специалиста по информационной безопасности. Он научился составлять для системы аэропорта QR-код, позволявший ему получить статус вип-клиента практически в любом из аэропортов Европы.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments33

Переговоры о зарплате — как не прогореть

Reading time8 min
Views127K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


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

Или, возможно, он попробует другой подход, чтобы подтолкнуть вас назвать цифру: «Какая зарплата у вас сейчас?».

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →
Total votes 81: ↑67 and ↓14+53
Comments392

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

Reading time4 min
Views76K

Привет, Хабр!


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


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


У всех этих источников есть общая черта: ни один не сделал из меня более крутого собеседующего, и ничто не улучшило качество рекрутинга (это, конечно, не численная оценка, а мое личное ощущение). Ну, может, не все так плохо. Конечно, я изучил что-то новое и полезное, и стал задумываться о процессе собеседования глубже. Что, в итоге, очень хорошо.


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

Читать дальше →
Total votes 60: ↑38 and ↓22+16
Comments99

Туториал по Jade для начинающих

Reading time8 min
Views227K


Jade — это препроцессор HTML и шаблонизатор, который был написан на JavaScript для Node.js. Проще говоря, Jade — это именно то средство, которое предоставляет вам возможность написания разметки совершенно по новому, с целым рядом преимуществ по сравнению с обычным HTML.
Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments74

Чем плох JavaScript в большом проекте? С какими проблемами мы столкнулись и как их решали

Reading time1 min
Views42K


Почему определенные недостатки языка JavaScript в реалиях разработки такого большого проекта, как наш, оказываются критическими? Как решить проблемы JS, когда количество кода превышает 2 млн строк, а команда насчитывает более 20 человек и постоянно растет? Об этом — в докладе фронтенд тимлида Wrike в рамках митапа, проведенного в нашем офисе совместно с сообществом Piter JS.

Смотреть
Total votes 35: ↑20 and ↓15+5
Comments67

Понимание сборки мусора и отлов утечек памяти в Node.js

Reading time7 min
Views34K
Плохие отзывы в прессе о Node.js часто относятся к проблемам с производительностью. Это не значит, что с Node.js больше проблем, чем с другими технологиями. Просто пользователь должен иметь в виду некоторые особенности её работы. Хотя у технологии пологая кривая обучения, обеспечивающие её работу механизмы довольно сложные. Необходимо понять их, чтобы предотвратить появление ошибок производительности. И если что-то пойдет не так, необходимо знать, как быстро привести всё в порядок. В этой статье Даниэль Хан рассказывает о том, как Node.js управляет памятью и как отследить связанные с памятью проблемы.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments4

Подходы к контролю доступа: RBAC vs. ABAC

Reading time5 min
Views153K
В этой теме хотелось бы познакомить читателей с относительно новым подходом к контролю доступа под названием Attribute-based access control. Знакомство будет происходить на примере сравнения с популярным нынче Role-based access control.
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments47

Angular 1.5: Компоненты

Reading time16 min
Views99K

Не так давно увидел свет релиз Angular 1.5, который привносит множество интересных нововведений. Важной особенностью

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

В данной статье я постараюсь осветить основные нововведения:

  • Компоненты!
  • Односторонние биндинги!
  • Мульти-слот трансклюды!

Полный список изменений доступен в репозитории ангуляра. Так же нас ждет небольшой примерчик использования перечисленных фич.
Читать дальше →
Total votes 21: ↑21 and ↓0+21
Comments18

Разбираем декораторы ES2016

Reading time8 min
Views100K


Многие из нас, наверное, уже устали от этой шумихи вокруг последних стандартов ECMAScript. ES6, ES7 ECMAScript Harmony… Кажется, что у каждого свое мнение на счет того, как правильно называть JS. Но даже несмотря на весь этот хайп, то что сейчас происходит с JavaScript — это самое замечательное, что происходило с ним за последние лет 5 минимум. Язык живет, развивается, комьюнити постоянно предлагает новые возможности и синтаксические конструкции. Одной из таких новых конструкций, безусловно заслуживающих внимания, являются декораторы. Занявшись поисками материалов по этой теме, я понял, что в русскоязычном интернете практически ничего нет о декораторах. В то же время Addy Osmani еще в июле 2015 представил прекрасную статью Exploring ES2016 Decorators на Medium. В связи с этим, я хотел бы представить вашему вниманию перевод этой статьи на русский язык и разместить его здесь.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments20

Конец эры глобального CSS

Reading time6 min
Views61K
Все CSS-селекторы живут в глобальной области видимости.

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

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

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

Так не должно быть. Пора оставить позади эру глобальных стилей. Наступило время закрытого CSS.
Читать дальше →
Total votes 35: ↑29 and ↓6+23
Comments36

Разбираемся с синтаксисом шаблонов в Angular2

Reading time8 min
Views59K

Многие впервые увидев синтаксис шаблонов Angular2 начинают причитать, мол ужас какой сделали, неужто нельзя было как в Angular1 хотя-бы. Зачем нужно было вводить это разнообразие скобочек, звездочек и прочей ерунды! Однако при ближайшем рассмотрении все становится куда проще, главное не пугаться.

Так как шаблоны в AngularJS являются неотъемлемой его частью, важно разобраться с ними в самом начале знакомства с новой версии этого фреймворка. Заодно обсудим, какие преимущества дает нам данный синтаксис по сравнению с angular 1.x. Причем лучше всего будет рассматривать это на небольших примерах.

Данная статья во многом основана на материалах этих двух статей:



Для того, что бы упростить подачу материала, давайте разберемся. Под AngularJS я буду подразумевать всю ветку Angular 1.x, в то время как под Angular2 — ветку 2.x.

Так же спасибо господину Bronx за ценное дополнение, которое я включил в текст статьи.

Примечание: вечер выходного дня, потому о опечатках и т.д. сообщайте в личку. Премного благодарен и приятного чтения.
Читать дальше →
Total votes 67: ↑64 and ↓3+61
Comments64

Убийцы оптимизации

Reading time9 min
Views43K
image

В этом посте изложены советы, как не написать код, производительность которого окажется гораздо ниже ожидаемой. Особенно это касается ситуаций, когда движок V8 (используемый в Node.js, Opera, Chromium и т. д.) отказывается оптимизировать какие-то функции.
Читать дальше →
Total votes 47: ↑40 and ↓7+33
Comments23

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №192 (28 декабря 2015 — 3 января 2016)

Reading time5 min
Views31K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments0

70 инструментов, без которых не обойтись ни одному сотруднику на удаленной основе

Reading time5 min
Views48K


В этой подборке мы решили собрать 70 самых популярных инструментов, которыми пользуются удаленные специалисты по всему миру. Эти ресурсы позволят вам организовать работу, проверить заказчика и оценить дальнейшую перспективу сотрудничества.
Читать дальше →
Total votes 24: ↑17 and ↓7+10
Comments15

6 книг, которые Билл Гейтс прочитал в 2015 году и рекомендует их всем

Reading time2 min
Views27K
image

В интервью изданию Tech Insider Билл Гейтс рассказал о 6 книгах 2015 года, которые произвели на него впечатление. Сам он читает не менее 50 книг в год, а в рекомендуемую им подборку попали популярные издания по психологии, истории и эпидемиологии. Заметно, что бывшего главу Microsoft больше всего интересуют вопросы психологии как отдельного человека, так и лидера.

«Объясняющий: сложные вещи простыми словами» (Thing Explainer: Complicated Stuff in Simple Words)

Автор книги, бывший сотрудник NASA, также известный комиксами XKCD, Рендолл Монро (Randall Munroe) описывает всевозможные технологически сложные вещи, начиная от смартфона и заканчивая ракетой, ограничиваясь всего 1000 наиболее употребительных английских слов. Биллу Гейтсу эта идея кажется блестящей, поскольку "… если вы не можете объяснить что-то простыми словами, то по-настоящему вы этого не понимаете".
Узнать подробности
Total votes 16: ↑13 and ↓3+10
Comments24

Повышаем отказоустойчивость системы на nodejs

Reading time5 min
Views38K
Отказоустойчивость системы на nodejs
3 года назад я поверил в будущее nodejs и начал кампанию по имплементации этого языка в самые “проблемные” сервисы нашего проекта. У нас все получалось — нагрузка падала, стабильность повышалась. Но все же были грабли, о которых захотелось рассказать.

Это не исчерпывающее руководство к действию, просто я делюсь своим опытом, если вы профи в nodejs можете дописать в коментах свои рекомендации, на которые я с удовольствием сошлюсь в статье.
Читать дальше →
Total votes 43: ↑36 and ↓7+29
Comments48
1
23 ...

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity