• Сообщения в глубине: удивительная история подводного Интернета

      Интернет — неотъемлемая часть нашей жизни, невероятно сложная сеть, строившаяся на протяжении многих лет, фактически — это сеть кабелей, опоясывающих всю Землю, в том числе проходящая через моря и океаны. Человечество прошло долгий путь с момента прокладки первого трансатлантического подводного телеграфного кабеля в 1858 году между Соединенными Штатами и Великобританией. В этой статье мы расскажем о том, как Интернет преодолел «водные барьеры», многокилометровые глубины и подводные катаклизмы, какие сложности были на пути и как невероятно сложно поддерживать эту систему в связанном состоянии в наше время, каких колоссальных затрат средств и энергии это требует.

      Читать дальше →
    • Как происходит рендеринг кадра в GTA V

      • Перевод
      Серия игр Grand Theft Auto прошла долгий путь с момента своего первого релиза в 1997 году. Примерно 2 года назад Rockstar выпустила GTA V. Просто невероятный успех: за 24 часа игру купило 11 миллионов пользователей, побито 7 мировых рекордов подряд. Опробовав новинку на PS3, я был весьма впечатлен как общей картинкой, так и, собственно, техническими характеристиками игры.

      Ничто так не портит впечатление от процесса, как экран загрузки, но в GTA V вы можете играть часами, преодолевая бескрайние сотни километров без перебоев. Учитывая передачу солидного потока информации и свойства PS3 (256 Mb оперативной памяти и видеокарта на 256 Mb), я и вовсе удивился, как меня не выбросило из игры на 20-ой минуте. Вот где чудеса техники.

      В этой статье я расскажу о проведенном анализе кадра в версии для ПК в среде DirectX 11, которая съедает пару гигов как оперативки, так и графического процессора. Несмотря на то, что мой обзор идет со ссылкой на ПК, я уверен, что большинство пунктов применимо к PS4 и в определенной степени к PS3.

      Анализ кадра


      Итак, рассмотрим следующий кадр: Майкл на фоне любимого Rapid GT, на заднем плане прекрасный Лос-Сантос.

      image

      Осторожно! Трафик!
      Читать дальше →
    • Самые необычные Дата Центры: Дата Центры, как искусство

      Уже давно никого не удивишь сверхсовременными центрами обработки данных (ЦОД), которых в мире насчитывается великое множество. Надежность, масштабируемость, приспособляемость – основные параметры, на которые ориентировались инженеры при проектировании Дата Центров. До недавнего времени…

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

      Серверная в часовне


      Никогда не думали о серверной в часовне? А вот в Барселоне испанцы не только думали, но и построили. В 2005 году серверная площадью около 120 кв. м. успешно начала функционировать в бывшей часовне Torre Girona, где разместили один из самых мощных суперкомпьютеров Европы, производительностью около 94 терафлопс.



      Читать дальше →
    • Самый южный дата-центр

        Когда мы в разговоре слышим слово «юг», наше сознание непроизвольно рисует солнечные картины, соленый бриз, стаи морских птиц, пальмы. В этой статье пойдет разговор о самом южном дата центре в мире, но, несмотря на сезонное изобилие солнца, Вы не найдете здесь разгуливающих в бикини курортниц. При полярной станции Амундсена-Скота, что разместилась на 89 градусах 59 минутах и 24 секундах южной широты, для поддержания работы нейтринной обсерватории был создан и успешно функционирует дата-центр «Ледяной Куб» (Ice Cube data center). О задачах этого ИТ-узла и о тех условиях, в которых приходится поддерживать работоспособность оборудования, и пойдет речь далее в статье.

        Читать дальше →
      • Выделенные серверы под водой, буквально!? Перспективы разведения рыб в серверах?!

        Все мы знаем, что вода и электроника — опасное сочетание, но так ли всегда? Способны ли современные технологии изменить это представление?



        В этой статье мы рассмотрим возможность, преимущества и недостатки размещения серверов в жидкости и обсудим возможные проблемы эксплуатации. Покажем, как это все может выглядеть на практике и реально работать. А также обсудим вопрос, почему в серверах могут или не могут плавать рыбы :)
        Нажмите здесь для подробного изучения и просмотра фоток
      • Как специалисты Google Adwords помогли мне выбросить 150 000 грн (около $6000) за месяц или почему я больше не буду…

          Это довольно забавная история о том, как я попал впросак сознательно, причём дважды и в результате «сжег» не мало не много, а где-то $15 000, всего лишь за месяц. Причём чувствовал, что так будет, но решил пойти по этому пути. Ради чего? Ради опыта? Нет, что Вы. Как говорится, только две вещи бесконечны — Вселенная и человеческая глупость, хотя насчёт Вселенной я не уверен. Тут скорее всего хотелось проверить насколько можно доверять своей интуиции. И она меня не подвела, but that's so silly…
          Читать дальше →
        • Архитектура Stack Overflow

          • Перевод
          image

          Чтобы понять, как все это работает, давайте начнем с показателей Stack Overflow. Итак, ниже приводится статистика за 12 ноября 2013 и 9 февраля 2016 года:

          статистика
          • 209,420,973 (+61,336,090) HTTP-запросов к нашему балансировщику нагрузки;
          • 66,294,789 (+30,199,477) страниц было загружено;
          • 1,240,266,346,053 (+406,273,363,426) битов (1.24 TБ) отосланного HTTP-трафика;
          • 569,449,470,023 (+282,874,825,991) битов (569 ГБ) всего получено;
          • 3,084,303,599,266 (+1,958,311,041,954) битов (3.08 ТБ) всего отослано;
          • 504,816,843 (+170,244,740) SQL-запросов (только из HTTP-запросов);
          • 5,831,683,114 (+5,418,818,063) обращений к Redis;
          • 17,158,874 (not tracked in 2013) поисков в Elastic;
          • 3,661,134 (+57,716) запросов Tag Engine;
          • 607,073,066 (+48,848,481) мс (168 часов) выполнения SQL-запросов;
          • 10,396,073 (-88,950,843) мс (2.8 часов) затрачено на обращение к Redis;
          • 147,018,571 (+14,634,512) мс (40.8 часов) затрачено на запросы к Tag Engine;
          • 1,609,944,301 (-1,118,232,744) мс (447 часов) затрачено на обработку в ASP.Net;
          • 22.71 (-5.29) мс в среднем (19.12 мс в ASP.Net) на формирование каждой из 49,180,275 запрошенных страниц;
          • 11.80 (-53.2) мс в среднем (8.81 мс в ASP.Net) на формирование каждой из 6,370,076 домашних страниц.


          Вы можете спросить, почему существенно сократилась продолжительность обработки в ASP.Net по сравнению с 2013 годом (когда было 757 часов) несмотря на прибавление 61 миллиона запросов в день. Это произошло как и из-за модернизации оборудования в начале 2015 года, так и из-за некоторого изменения параметров в самих приложениях. Пожалуйста, не забывайте, что производительность – это наша отличительная особенность. Если Вы хотите, чтобы я более подробно рассказал о характеристиках оборудования – без проблем. В следующем посте будут подробные спецификации железа всех серверов, которые обеспечивают работу сайта.

          Итак, что изменилось за прошедшие 2 года? Кроме замены некоторых серверов и сетевого оборудования, не очень многое. Вот укрупненный список хардварной части, которая обеспечивает работу ресурса (выделены различия по сравнению с 2013 годом):

          • 4 Microsoft SQL Servers (новое железо для 2-х из них);
          • 11 Web-серверов IIS (новое оборудование);
          • 2 сервера Redis (новое оборудование);
          • 3 сервера Tag Engine (новое оборудование для 2-х из 3-х);
          • 3 сервера Elasticsearch (те же, старые);
          • 4 балансировщика нагрузки HAProxy (добавлено 2 для поддержки CloudFlare);
          • 2 брандмауэра Fortinet 800C (вместо Cisco 5525-X ASAs);
          • 2 маршрутизатора Cisco ASR-1001 (вместо маршрутизаторов Cisco 3945);
          • 2 маршрутизатора Cisco ASR-1001-x (новые!).

          Что нам необходимо, чтобы запустить Stack Overflow? Этот процесс не сильно изменился с 2013 года, но из-за оптимизации и нового железа, нам необходим только один web-сервер. Мы этого не хотели, но несколько раз успешно проверили. Вношу ясность: я заявляю, что это работает. Я не утверждаю, что это (запуск SO на единственном web-сервере) — хорошая затея, хотя каждый раз выглядит весьма забавно.
          Читать дальше →
        • Более чем 80 средств мониторинга системы Linux

            Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



            1. первый инструмент — top

            Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
            читать дальше
          • Разработчики в край обленились?

            • Перевод
            image

            Примечание от переводчика:

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



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

            За последние несколько лет стало ощущаться, как качество программного обеспечения и услуг по всей отрасли стало падать, а не расти. Все и всегда находится в стадии Беты (как исходя из названия, так и из качества). Товары отправляются потребителям тогда, когда этого хотят маркетологи, а не когда они реально готовы к продаже, а все потому, что «мы всегда сможем легко все пофиксить». Конечный потребитель превратился из покупателя в бета-тестера, но это уже норма, потому что в разработке используется Agile. В программировании мы стали считать, что ошибки и неудачи — это нормально, поэтому нам теперь не нужно прикладывать так много усилий для их избежания. Поддержка миллионов клиентов — вещь сложная, поэтому волноваться не стоит. Зачем вообще тратить время на ознакомление с фидбеком и репортами от пользователей, если их просто можно отправить в бесконечный лабиринт под названием «саппорт» и «обратная связь»?

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

            Ниже я предлагаю вам ознакомиться с рядом скриншотов, на которых запечатлены «косяки» наших коллег только за последний месяц. Или я такой «везучий», что только и делаю, что натыкаюсь на подобное? Или же это видят все, но только мне приходится сдерживаться, чтобы не начать орать?
            Читать дальше →
          • Библия движений Doom. Часть 1

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



            Метрика


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

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

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

            Читать дальше →
            • +67
            • 33,6k
            • 9
          Самое читаемое