Search
Write a publication
Pull to refresh
5
5
Владислав Щапов @phprus

Манул

Send message

Смерть транзитного трафика?

Reading time12 min
Views16K
image

Есть ли свет в конце туннеля для провайдеров транзитного трафика?

Я был поражён на недавней встрече NANOG тем, как мало выступлений было по вопросам ISP-пространства и по проблемам, связанным с ISP-операциями, и как много — по среде дата-центров.

Если есть тема, которая является определяющей в нашем общении, то это, безусловно — среда, которая, как представляется, доминирует при проектировании дата-центров и эксплуатации сетей. И, представляется, что функция поставщика интернет-услуг (ISP-функция) и, в частности, функция поставщика транзитного трафика исчезает. Задача доставки пользователей к контенту меняется на задачу доставки контента к пользователям. Означает ли это, что транзит для интернет-пользователей теперь перестаёт действовать? Давайте посмотрим на это немного внимательнее.
Читать дальше →

Шаблон графика отпусков (или графика обучения или иного графика) в MS Excel файле

Reading time3 min
Views330K
Работаю небольшим руководителем и имею в обязанностях составление и поддержание в актуальном виде графика отпусков своего отдела. Данный график составляется в конце года на следующий год и предоставляется в отдел кадров организации. При этом отдел кадров требует предоставлять его в формате таблицы-списка, но самому мне для работы нужен формат наглядного графика. К тому же в связи с постоянными переносами отпусков сотрудников данный график необходимо поддерживать актуальным.

Не делать ненужную работу и все что можно автоматизировать для меня жизненный принцип. В данной статье хочу поделится опытом создания MS EXCEL файла графика. Возможно полученный шаблон или данный опыт окажется полезным и вам.
Читать дальше →

Прогресс не стоит на месте: OpenMP 4.5

Reading time8 min
Views10K


Всё течет, всё меняется, и OpenMP продолжает активно развиваться. Почти три года назад стандарт стал поддерживать не только параллелизм по задачам, но и по данным (векторизацию), про что я подробно писал. Самое время посмотреть, что появилось в последней версии, выпущенной в ноябре 2015, и что уже поддерживается на данный момент в компиляторах от Intel. Ну что, приступим!
Читать дальше →

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

Reading time2 min
Views22K


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

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

Amazon анонсировала новые проекты для разработчиков и «простых смертных»

Reading time5 min
Views11K
image

30 ноября Amazon анонсировал новый ИИ-сервис. Это произошло на конференции AWS re:Invent в Лас-Вегасе. Компания потратила несколько лет на разработку инструментов машинного обучения для сторонних разработчиков. Пока доступно только три из них, но в дальнейшем их будет больше.

«Мы много занимаемся искусственным интеллектом в нашей компании. В этом направлении у нас работают тысячи сотрудников», – рассказал генеральный директор подразделения Amazon Web Services Энди Джэсси.
Читать дальше →

Лекции Техносферы. Подготовительный курс «Алгоритмы и структуры данных» (весна 2016)

Reading time3 min
Views39K


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

Курс ведет Сергей Бабичев, доцент кафедр информатики и вычислительной математики, а также теоретической и прикладной информатики в МФТИ. Под катом вас ждет восемь лекций:

  • Лекция 1. «Введение. Исполнители. Абстракции интерфейсов. Рекурсия»
  • Лекция 2. «Жадные алгоритмы»
  • Лекция 3. «Сортировки»
  • Лекция 4. «Поиск. Списки»
  • Лекция 5. «Деревья»
  • Лекция 6. «Хеш-таблицы»
  • Лекция 7. «Динамическое программирование»
  • Лекция 8. «Алгоритмы на графах»

Головоломки TCP

Reading time15 min
Views52K

Говорят, что нельзя полностью понять систему, пока не поймёшь её сбои. Ещё будучи студентом я ради забавы написал реализацию TCP, а потом несколько лет проработал в IT, но до сих пор продолжаю глубже и глубже изучать работу TCP — и его ошибки. Самое удивительное, что некоторые из этих ошибок проявляются в базовых вещах. И они неочевидны. В этой статье я преподнесу их как головоломки, в стиле Car Talk или старых головоломок Java. Как и любые другие хорошие головоломки, их очень просто воспроизвести, но решения обычно удивляют. И вместо того, чтобы фокусировать наше внимание на загадочных подробностях, эти головоломки помогают изучить некоторые глубинные принципы работы TCP.
Читать дальше →

Мониторинг и настройка сетевого стека Linux: получение данных

Reading time71 min
Views91K


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

Также рекомендуем ознакомиться с иллюстрированным руководством на ту же тему, там есть поясняющие схемы и дополнительная информация.
Читать дальше →

Расширения языков C и C++. Часть 1

Reading time19 min
Views65K
Данная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков C и C++, которые существуют практически в каждом компиляторе.

Языковые расширения — это дополнительные возможности и фичи языка, не входящие в стандарт, но тем ни менее поддерживаемые компиляторами. Исследовать эти расширения очень интересно — в первую очередь потому, что они возникли не на пустом месте; каждое расширение — результат насущной необходимости, возникавшей у большого числа программистов. А мне интересно вдвойне — поскольку мне нравятся языки программирования и я разрабатываю свой, часто оказывается что многие мои идеи реализованы именно в расширениях языка. Стандарты языков C и C++ развиваются крайне медленно, и порой, читая описание расширений, так и хочется воскликнуть «ну это же очевидно! почему этого до сих пор нет в стандарте?».

Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!

Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
Читать дальше →

Протокол QUIC: переход Web от TCP к UDP

Reading time9 min
Views97K
Протокол QUIC (название расшифровывается как Quick UDP Internet Connections) — совершенно новый способ передачи информации в интернете, построенный поверх протокола UDP, вместо общепринятого ранее использования TCP. Некоторые люди называют его (в шутку) TCP/2. Переход к UDP — наиболее интересная и мощная особенность протокола, из которой следуют некоторые другие особенности.

Сегодняшний Web построен на протоколе TCP, который был выбран за его надёжность и гарантированность доставки пакетов. Для открытия TCP-соединения используется так называемое «трёхкратное рукопожатие». Это означает дополнительные циклы отправки-приёма сообщений для каждого нового соединения, что увеличивает задержки.

image

Если вы захотите установить защищённое TLS-соединение, придётся переслать ещё больше пакетов.

image

Некоторые инновации, вроде TCP Fast Open, улучшат некоторые аспекты ситуации, но эта технология пока не очень широко распространена.

Протокол UDP, с другой стороны, построен на идее «отправить пакет и забыть о нём». Сообщение, отправленное по UDP, будет доставлено получателю (не гарантированно, с некоторой вероятностью успеха). Яркое преимущество здесь в меньшем времени установки соединения, такой же яркий недостаток — негарантированность доставки или порядка прихода пакетов получателю. Это означает, что для обеспечения надёжности придётся построить некоторый механизм поверх UDP, который гарантирует доставку пакетов.

И здесь на сцену выходит QUIC от Google.
Читать дальше →

Сети для самых матёрых. Часть двенадцатая. MPLS L2VPN

Reading time48 min
Views174K
Долго ли коротко ли, но шестерни в очередной раз провернулись и linkmeup встал на ступень Tier 2. И несколько достаточной платёжоспособности энтерпрайзов проявили заинтересованность в организации связи между своими филиалами через сети linkmeup.

L3VPN, который мы рассмотрели в прошлом выпуске, покрывает собой огромное количество сценариев, необходимых большинству заказчиков. Огромное, но не все. Он позволяет осуществлять связь только на сетевом уровне и только для одного протокола — IP. Как быть с данными телеметрии, например, или трафиком от базовых станций, работающих через интерфейс E1? Существуют также сервисы, которые используют Ethernet, но тоже требуют связи на канальном уровне. Опять же ЦОДы между собой любят на языке L2 общаться.

Вот и нашим клиентам вынь да положь L2.

Традиционно раньше всё было просто: L2TP, PPTP да и всё по большому счёту. Ну в GRE ещё можно было спрятать Ethernet. Для всего прочего строили отдельные сети, вели выделенные линии ценою в танк (ежемесячно).

Однако в наш век конвергентных сетей, распределённых ЦОДов и международных компаний это не выход, и на рынок выплеснулось некоторое количество масштабируемых технологий випиэнирования на канальном уровне.

Мы же в этот раз сосредоточимся на MPLS L2VPN.


Читать дальше →

Введена в строй 54-х терабитная магистраль в Азии

Reading time3 min
Views22K


На Хабре незамеченной прошло одно событие, которое может иметь большое влияние на всю телекоммуникационную сферу. Речь идет о введении в строй новой интернет-магистрали Asia Pacific Gateway (APG) с пропускной способностью 54 терабита в секунду. Длина оптоволоконного канала связи составила 10400 километров. Этот амбициозный проект реализовывался силами японской компании NTT Communications несколько лет.

Интересно, что теоретическая пропускная способность в 54 Тб/с — это больше, чем планировалось изначально. На старте проекта разработчики рассчитывали достичь пропускной способности в 40 Тб/с. Но теория — теорией, а на карте интернет-магистралей пропускная способность этого канала показана, как 38,4 Тб/с. Как бы там ни было, но это также очень значительный результат. Азиатские страны давно ожидали введения в строй новой магистрали, поскольку магистраль Asia America Gateway (AAG) часто повреждалась, причем в марте этого года ее решили не ремонтировать.
Читать дальше →

Знакомство с хранилищем Ceph в картинках

Reading time11 min
Views336K
Облачные файловые хранилища продолжают набирать популярность, и требования к ним продолжают расти. Современные системы уже не в состоянии полностью удовлетворить все эти требования без значительных затрат ресурсов на поддержку и масштабирование этих систем. Под системой я подразумеваю кластер с тем или иным уровнем доступа к данным. Для пользователя важна надежность хранения и высокая доступность, чтобы файлы можно было всегда легко и быстро получить, а риск потери данных стремился к нулю. В свою очередь для поставщиков и администраторов таких хранилищ важна простота поддержки, масштабируемость и низкая стоимость аппаратных и программных компонентов.

Знакомьтесь: Ceph


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



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

Самая популярная сеть для суперкомпьютеров или Почему мы выбрали InfiniBand?

Reading time5 min
Views8.6K


Предисловие

Пропускная способность внутри облака — этот пункт очень важен с технологической точки зрения. Это щепетильный момент, очень многие поставщики неохотно говорят на эту тему. Они не хотят раскрывать структуру своей сети. Но если посмотреть на суть вопроса, то от этого зависит насколько качественную услугу вы купите у провайдера. Это во многом зависит от скорости внутри облака. Как ноды соединены между собой? На каких скоростях? По каким протоколам? Сервисы многих предприятий вполне могут работать на 1 гигабите, но нужно учесть, что большинство провайдеров используют 10G, и только самые продвинутые строят свои облака на 40G или InfiniBand 56G.

Под катом пару мыслей о том, почему для нашего облака мы выбрали именно InfiniBand.
Читать дальше →

Кластер высокой доступности на postgresql 9.6 + repmgr + pgbouncer + haproxy + keepalived + контроль через telegram

Reading time32 min
Views59K
image

На сегодняшний день процедура реализации «failover» в Postgresql является одной из самых простых и интуитивно понятных. Для ее реализации необходимо определиться со сценариями файловера — это залог успешной работы кластера, протестировать его работу. В двух словах — настраивается репликация, чаще всего асинхронная, и в случае отказа текущего мастера, другая нода(standby) становится текущем «мастером», другие ноды standby начинают следовать за новым мастером.

На сегодняшний день repmgr поддерживает сценарий автоматического Failover — autofailover, что позволяет поддерживать кластер в рабочем состоянии после выхода из строя ноды-мастера без мгновенного вмешательства сотрудника, что немаловажно, так как не происходит большого падения UPTIME. Для уведомлений используем telegram.

Появилась необходимость в связи с развитием внутренних сервисов реализовать систему хранения БД на Postgresql + репликация + балансировка + failover(отказоустойчивость). Как всегда в интернете вроде бы что то и есть, но всё оно устаревшее или на практике не реализуемое в том виде, в котором оно представлено. Было решено представить данное решение, чтобы в будущем у специалистов, решивших реализовать подобную схему было представление как это делается, и чтобы новичкам было легко это реализовать следуя данной инструкции. Постарались описать все как можно подробней, вникнуть во все нюансы и особенности.
Читать дальше →

Реализация блочного шифра «Кузнечик» с режимом CFB на С++

Reading time10 min
Views27K
Сегодня речь пойдёт о новом алгоритме блочного шифрования «Кузнечик» из стандарта ГОСТ Р 34.12 2015. В последнее время выходит множество публикаций, посвященных этому стандарту. В них с теоретической точки зрения описываются приведённый алгоритм, изучаются особенности отельных преобразований, а так же предлагаются способы оптимизации, путём включения вставок кода на языке ассемблера.

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

Структура программы


Программа состоит из трех частей
  • набор вспомогательных функций и классов — mycrypto.cpp mycrypto.hpp
  • блочный шифр «Кузнечик» — Kuznyechik.cpp Kuznyechik.hpp
  • режим шифрования Cipher Feed Back — modes.hpp
Читать дальше →

Советы западных консалтинговых компаний. Часть 1, теоретическая

Reading time19 min
Views38K


В статье «Как новые руководители разрушают доверенные им компании» мы остановились на роли в этом процессе иностранных консалтинговых фирм.

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

Хотя никто и не будет спорить, что полезные советы по ведению государственных дел или бизнеса диссонируют с зажиманием РФ по всем фронтам. Санкции, «санитарный кордон» из цветных революций, запрет банкам покупать облигации РФ, снижение рейтинга для страны в целом и по предприятиям в частности, обещания порвать экономику в клочья из уст Президента США, прижали «большой спорт» и даже паралимпийцев не пожалели. Госдеп выпустил инструкцию о запрете работы компаний с Россией, а Вице-Президент США Байден обещает кибератаки.

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

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

Это не магия и не искусство, это — отработанная технология.

ИТ-бульдоги под ковром

Reading time12 min
Views11K
А поговорим мы с вами сегодня про сложные взаимоотношения американских ИТ-вендоров и спецслужб: о мировой ИТ-закулисе, скандале в Yahoo, тайне бекдора в Juniper, истории Apple vs ФБР. Также обсудим, зачем АНБ заплатило RSA 10 млн. долларов за криптобэкдор. Попробуем нарисовать несколькими штрихами современный ИТ-мир как он есть, и без лишней суеты и параноидальных выводов, и без слепого обожания в «розовых тонах». Что получилось — смотрите под катом.
Читать дальше →

Инфраструктура узла связи от чайника, или очередное строительство серверных — часть 1

Reading time18 min
Views23K
Здравствуйте! Начитавшись публикаций на тему строительства ЦОД небольшого хостинг провайдера, а так же «как сделать серверную комнату своими руками», от людей, которые, видимо, не знали как сказать, зачем надо заказывать их услуги, я решил изложить свой опыт строительства небольшого узла связи в течение этого года, для размещения, с последующей регистрацией в Роскомнадзоре, таких объектов, как ОТМУС, ТЗУС, СПД.

В этом году приходилось настолько много информации искать и применять, что я почувствовал свой предел в запоминания полезной информации. Поэтому мне сложно сразу вспомнить откуда я брал информацию (я говорю о приказах Минкомсвязи, Мининформсвязи, Роскомнадзора, СНИП, ВСН… ).

Под катом я постараюсь поверхностно пройтись по всем аспектам, по которым надо принять решение и реализовать в вашей аппаратной.
Читать дальше →

Опыт телефонного собеседования в Google, демонстрирующий несостоятельность процесса найма

Reading time7 min
Views73K
«Диагноз — не конец, а начало дела».
Мартин Х. Фишер.

Недавно я проходил телефонное собеседование с кадровиком из Google. Поскольку я соответствовал критериям на такое (добровольное) собеседование, но не смог пройти тест, в этом посте перечислены вопросы и предполагаемые ответы на них. Этот пост может оказаться полезным тем, кому в один прекрасный день позвонят из Гугла.

Для ясности: я начал заниматься программированием 37 лет назад (мне тогда было 11 лет) и постоянно занимаюсь этим. Кроме того, 24 года назад (мне было 24) я был назначен директором по исследованиям и развитию; с тех пор среди многих других работ мною были проведены НИОКР по наиболее ответственным частям проектов TWD — все они поставляются, как коммерческие продукты:


Представитель Гугла подчеркнул, что требуется как опыт управления, так и современного программирования (редкое сочетание). Но наличие более 20 лет опыта в первом и почти 40 лет во втором оказалось недостаточным — я не смог дать «правильные ответы». Означает ли это, что Гугл слишком высоко поднимает планку или что у его кадровиков самих не хватает знаний, которые они, как предполагается, должны оценивать?

Давайте посмотрим!
Читать дальше →

Information

Rating
378-th
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity