Итак, вы только что закончили восстанавливать систему после сбоя. К счастью, на этот раз обошлось — сервисы, слава богу, поднялись. Но ваш босс недоволен — требует «сделать выводы и принять меры». Очевидно, настало время задуматься о том, как жить дальше. Возможно стоит пересмотреть существующие подходы к построению инфраструктуры и предпринять шаги к обеспечению отказоустойчивости вашей продакшн-системы.
NGINX изнутри: рожден для производительности и масштабирования
8 мин
145KПеревод
NGINX вполне заслуженно является одним из лучших по производительности серверов, и всё это благодаря его внутреннему устройству. В то время, как многие веб-серверы и серверы приложений используют простую многопоточную модель, NGINX выделяется из общей массы своей нетривиальной событийной архитектурой, которая позволяет ему с легкостью масштабироваться до сотен тысяч параллельных соединений.
Инфографика Inside NGINX сверху вниз проведет вас по азам устройства процессов к иллюстрации того, как NGINX обрабатывает множество соединений в одном процессе. Данная статья рассмотрит всё это чуть более детально.
Инфографика Inside NGINX сверху вниз проведет вас по азам устройства процессов к иллюстрации того, как NGINX обрабатывает множество соединений в одном процессе. Данная статья рассмотрит всё это чуть более детально.
+93
Node.js и Express как они есть
15 мин
73KПеревод
Здравствуйте, любители нашего хаброблога и прочие читатели!
Мы планируем вновь отметиться на поле неувядающего Node.js и рассматриваем возможность издания этой книги:
Поскольку вполне понятен читательский интерес «а как он впихнул все это в двести страниц, и зачем мне это нужно»? под катом предлагаем перевод доскональной статьи Томислава Капана о том, зачем на самом деле нужен Node.js.
Мы планируем вновь отметиться на поле неувядающего Node.js и рассматриваем возможность издания этой книги:
Поскольку вполне понятен читательский интерес «а как он впихнул все это в двести страниц, и зачем мне это нужно»? под катом предлагаем перевод доскональной статьи Томислава Капана о том, зачем на самом деле нужен Node.js.
+17
Дино Эспозито на uDev Tech Events: «Life as a Service: Scalability and other Aspects»
1 мин
2.4K13 сентября 2016 года Дино Эспозито выступит на uDev Tech Events с лекцией на тему «Life as a Service: Scalability and other Aspects». Для тех, кто не сможет посетить мероприятие, будет вестись прямая трансляция.
+11
Hermitage — решение ваших проблем с хранением и обработкой изображений
3 мин
8.5KRecovery Mode
Всем привет! Буду краток: в обмен на пять минут вашего времени отдел PHP-разработки компании Лайв Тайпинг расскажет вам о собственном микросервисе для хранения и обработки загружаемых изображений. Он называется Hermitage. Его задача — представлять изображение в разных версиях согласно заранее заданным параметрам. Hermitage будет полезен в ситуациях, когда необходим автономный и масштабируемый сервер для хранения изображений и манипуляций над ними.
+12
Дино Эспозито: «Здесь разработчики более востребованы, а их труд оплачивается выше»
4 мин
11K13 сентября мы провели четвертую встречу uDev для разработчиков, спикером которой стал Дино Эспозито, .NET-гуру и эксперт в области разработки мобильных и веб-приложений. О том, как живется программистам в Италии и оправдали ли наши разработчики ожидания Дино, читайте в нашем интервью.
+8
Нефункциональные требования: Масштабируемость
8 мин
28KАвтор: Adam Alami, PhD Fellow, IT University of Copenhagen (перевод с англ.)
Нефункциональные требования широко представлены в литературе. Нет недостатка в определениях и примерах нефункциональных требований. Международный институт бизнес-анализа (IIBA) определяет нефункциональные требования следующим образом:
Ключевыми словами в этом определении являются «не имеют прямого отношения к поведению или функциональности решения». Это либо «условия», либо «качества».
Условия: они являются внешними или внутренними ограничениями. Внутренние ограничения — это политика и саморегулирование организации, в то время как внешние ограничения — это государственные правила, отраслевые стандараты и другие параметры, определяющие бизнес-среду.
Качества: это бизнес-требования, которые определяют не системное поведение и не связаны с процессом, а являются требованиями к качеству решения.
ВВЕДЕНИЕ
Нефункциональные требования широко представлены в литературе. Нет недостатка в определениях и примерах нефункциональных требований. Международный институт бизнес-анализа (IIBA) определяет нефункциональные требования следующим образом:
Нефункциональные требования фиксируют условия, которые непосредственно не связаны с поведением или функциональностью решения, а скорее описывают условия окружающей среды, при которых решение должно оставаться эффективным, или качества, которыми система должны обладать. Они также известны как атрибуты (показатели) качества или дополнительные требования. Они могут включать требования, связанные с пропускной способностью, скоростью, безопасностью, доступностью, информационной архитектурой и представлением пользовательского интерфейса.
Ключевыми словами в этом определении являются «не имеют прямого отношения к поведению или функциональности решения». Это либо «условия», либо «качества».
Условия: они являются внешними или внутренними ограничениями. Внутренние ограничения — это политика и саморегулирование организации, в то время как внешние ограничения — это государственные правила, отраслевые стандараты и другие параметры, определяющие бизнес-среду.
Качества: это бизнес-требования, которые определяют не системное поведение и не связаны с процессом, а являются требованиями к качеству решения.
+18
Automattic выбирает HP и AMD для WordPress.com
1 мин
477Barry Abrahamson, работающий на компанию Automattic, раскрывает некоторые технические подробности о новом дата-центре, расположенном в Чикаго. Это один из трех дата-центров, обеспечивающих работоспособность WordPress.com.
Железо, которое в нем установлено:
В сумме это 1440 ядер и что-то между 520 ГБ и 1.4 ТБ оперативной памяти.
Железо, которое в нем установлено:
- 150 серверов HP DL165 с двумя четырехъядерными AMD 2354 и 2-4 ГБ оперативной памяти
- 50 серверов HP DL365 с двумя двухъядерными AMD 2218 и 4-16 ГБ оперативной памяти
- 5 серверов HP DL185 с двумя четырехъядерными AMD 2354 и 4 ГБ оперативной памяти
В сумме это 1440 ядер и что-то между 520 ГБ и 1.4 ТБ оперативной памяти.
+4
FathomDB — новый стартап от Y Combinator.
1 мин
491Сегодня стартовал закрытый бета-тест. В данный момент известно достаточно мало подробностей о данном стартапе (например, неизвестно кто за ним стоит), но задумка смотрится весьма интересно. FathomDB предлагает нам «реляционные БД как сервис».
Если по сути, то в данный момент это MySQL на EC2 с различными «плюшками». Следовательно, можно без особых проблем начать использование данного сервиса, или наоборот — прекратить.
Из «плюшек» нам предлагают автоматические бэкапы и мониторинг, а также всякие полезности для анализа производительности (в данный момент, судя по всему, не сильно продвинутые — круговые диаграммы и просмотр самых медленных запросов). На их сайте доступен скринкаст, а также предложение оставить е-мэйл (после чего вам пообещают написать, когда создадут ваш аккаунт).
В дальнейшем, по заявлению разработчиков, планируется поддержка других БД и хостингов.
Что интересно — WebMynd, тоже YC-стартап (очередное гетто? ;), начали использовать FathomDB ещё в прошлом году и неплохо его пиарят :)
В принципе — отличная идея с движением в правильном направлении (хотя это, естественно, не мэйнстримовый продукт).
И, если не ошибаюсь, отказоустойчивые БД на EC2 предлагает как минимум ещё один, более крупный игрок — RightScale.
Если по сути, то в данный момент это MySQL на EC2 с различными «плюшками». Следовательно, можно без особых проблем начать использование данного сервиса, или наоборот — прекратить.
Из «плюшек» нам предлагают автоматические бэкапы и мониторинг, а также всякие полезности для анализа производительности (в данный момент, судя по всему, не сильно продвинутые — круговые диаграммы и просмотр самых медленных запросов). На их сайте доступен скринкаст, а также предложение оставить е-мэйл (после чего вам пообещают написать, когда создадут ваш аккаунт).
В дальнейшем, по заявлению разработчиков, планируется поддержка других БД и хостингов.
Что интересно — WebMynd, тоже YC-стартап (очередное гетто? ;), начали использовать FathomDB ещё в прошлом году и неплохо его пиарят :)
В принципе — отличная идея с движением в правильном направлении (хотя это, естественно, не мэйнстримовый продукт).
И, если не ошибаюсь, отказоустойчивые БД на EC2 предлагает как минимум ещё один, более крупный игрок — RightScale.
+5
7 стадий развития веб-приложений
5 мин
1.8KПеревод
это отредактированный перевод со слайдов презентации тов. John Engates
формат: номер слайда, краткое содержание и (мои редкие каменты)
формат: номер слайда, краткое содержание и (мои редкие каменты)
- Этапы становления веб-ресурсов
автор: John Engates - Регламент:
- Что мы ждём от веб-приложений
- Как это бывает
- Неплохие примеры
- Вопросы и ответы
+4
ИТ управление — масштабируемый подход
5 мин
15KДолго являлся пассивным читателем Хабра, но вот собрался с духом и решил поделиться своим опытом. Надеюсь, мои идеи придут на пользу в повседневной практике админов.
Пару месяцев назад я проводил на работе анализ ИТ инфраструктуры, в ходе которого нужно было установить наиболее слабые места и дать рекомендации к улучшению. Уверен, ситуация с которой я столкнулся известна многим. За несколько лет, компания существенно изменилась и заметно подросла, однако некоторые элементы в используемой ИТ инфраструктуре так и остались неизменными за прошедшие 10 с небольшим лет. В результате, регулярно придумывались различные заплатки и изощрения дабы собрать все воедино, что, очевидно, не добавляло стабильности и эффективности общей системе. Итогом являлся пересмотр общей инфраструктуры и требований бизнес-процессов с целью выбрать новое единое решение. Другими словами – революция, не эволюция.
Пару месяцев назад я проводил на работе анализ ИТ инфраструктуры, в ходе которого нужно было установить наиболее слабые места и дать рекомендации к улучшению. Уверен, ситуация с которой я столкнулся известна многим. За несколько лет, компания существенно изменилась и заметно подросла, однако некоторые элементы в используемой ИТ инфраструктуре так и остались неизменными за прошедшие 10 с небольшим лет. В результате, регулярно придумывались различные заплатки и изощрения дабы собрать все воедино, что, очевидно, не добавляло стабильности и эффективности общей системе. Итогом являлся пересмотр общей инфраструктуры и требований бизнес-процессов с целью выбрать новое единое решение. Другими словами – революция, не эволюция.
+29
Google App Engine – масштабируемые приложения
3 мин
3.3KGoogle App Engine позволяет легко создавать приложения, надежно работающие даже при большой нагрузке и с большими объемами данных. Но ещё проще создать программного монстра, который будет работать очень медленно или вовсе не работать, постоянно возвращая ошибку HTTP 500.
Как писать быстрые и хорошо масштабируемые приложения – об этом пойдет речь в этой статье.
Все ниже изложенное прежде всего касается приложений, написанных на Java, но большей частью должно быть справедливо и для приложений написанных на языке Python.
Как писать быстрые и хорошо масштабируемые приложения – об этом пойдет речь в этой статье.
Все ниже изложенное прежде всего касается приложений, написанных на Java, но большей частью должно быть справедливо и для приложений написанных на языке Python.
+54
Результаты тестирования масштабируемости облачных сервисов
1 мин
1.5KСайт High Scalability провел тестирование облачных сервисов хранения данных на масштабируемость в зависимости от нагрузки. В качестве тестирования применили распространенный тест TPC-W. Для тестирования нагрузку постепенно увеличивали от 1 пользователя до 9000 одновременно работающих пользователей. В тестировании принимали участие следующие сервисы: полноценная реляционная СУБД SQL Azure, Amazon S3, Amazon RDS, Amazon SimpleDB, Google AppEngine.
Результаты тестирования:
Очевидно, что SQL Azure, представляя собой полноценную реляционную БД, показывает отличные результаты. По возможностям+масштабируемости — это однозначно лидер тестирования. Сервис от Google оказался аутсайдером проведенного тестирования.
Первоисточник: highscalability.com/blog/2010/5/26/end-to-end-performance-study-of-cloud-services.html
Результаты тестирования:
Очевидно, что SQL Azure, представляя собой полноценную реляционную БД, показывает отличные результаты. По возможностям+масштабируемости — это однозначно лидер тестирования. Сервис от Google оказался аутсайдером проведенного тестирования.
Первоисточник: highscalability.com/blog/2010/5/26/end-to-end-performance-study-of-cloud-services.html
+16
Проблемы с производительностью Git на большом репозитории
2 мин
15KДжошуа Редстоун (Joshua Redstone) пожаловался в листе рассылки Git на некоторые проблемы с производительностью, которые возникли у Facebook на большом репозитории. Они создали синтетический репозиторий и провели тесты.
Тестовый репозиторий
4 млн коммитов, линейная история и около 1,3 млн файлов. Размер папки .git — около 15 ГБ, её упаковали командой repack:
Процесс занял около двух суток на хорошей машине (много памяти, SSD). Размер индексного файла составил 191 МБ.
Тестовый репозиторий
4 млн коммитов, линейная история и около 1,3 млн файлов. Размер папки .git — около 15 ГБ, её упаковали командой repack:
git repack -a -d -f --max-pack-size=10g --depth=100 --window=250
Процесс занял около двух суток на хорошей машине (много памяти, SSD). Размер индексного файла составил 191 МБ.
+38
Ресурсы без головной боли
4 мин
6.7K*IBM отмечает одни из самых важных проблем IT-инфраструктур современности
Несколько дней назад компания IBM анонсировала начало «новой, упрощенной эры вычислений», связанное с серьезным шагом в работе компании — выпуске PureSystems, решения, которое в самом голубом гиганте называют «экспертной интегрированной системой», созданной для физических и виртуальных элементов корпоративной IT-структуры.
В пресс-релизе, посвященном PureSystems, компания пишет: «Новое семейство систем IBM предлагает альтернативу стандартной вычислительной модели, когда многочисленные и порой избыточные вычислительные мощности поглощают все ресурсы компании, нуждаясь в развертывании, настройке и постоянной поддержке».
Компания даже специально провела исследование на американском и глобальном рынке совместно с Forrester, и выяснила, что около двух третей корпоративных проектов, связанных с использованием многочисленных вычислительных ресурсов, требуют больше времени и средств, чем изначально планируется. Инвестируя огромные средства в IT-инфраструктуру, которая после этого может «съедать» до 70% надбавки к бюджету даже находясь в состоянии простоя, даже у очень успешных компаний может не остаться денег на финансирование новых разработок.
+7
7 уроков, полученных при создании Reddit
7 мин
23KПеревод
UPD. Оригинальная статья достаточно старая — 2010 года. Сейчас ситуация выглядит по-другому.
В декабре 2010 у Reddit-а было 829М просмотров и 119 серверов.
В конце 2011 года — 2,07B просмотров и 240 серверов.
Спасибо potomushto за актуализацию.
UPD 2. Поправил схему для людей с проблемами цветовосприятия. Спасибо second_pilot и spiritedflow
Стив Хаффман, один из создателей Reddit, рассказал на презентации, чему они научились, пока строили и развивали Reddit до 7,5 млн пользователей в месяц, 270 миллионов просмотров страниц в месяц и более 20 серверов баз данных.
Стив уточнил, что большинство полученных уроков были очевидными, поэтому в презентации не будет радикально новых идей. Но у Стива огромный опыт, и если он не смог увидеть эти грабли, то возможно, вам стоит обратить внимание на эти «очевидные вещи».
Каждый из 7 уроков будет рассмотрен в соответствующей секции.
В декабре 2010 у Reddit-а было 829М просмотров и 119 серверов.
В конце 2011 года — 2,07B просмотров и 240 серверов.
Спасибо potomushto за актуализацию.
UPD 2. Поправил схему для людей с проблемами цветовосприятия. Спасибо second_pilot и spiritedflow
Стив Хаффман, один из создателей Reddit, рассказал на презентации, чему они научились, пока строили и развивали Reddit до 7,5 млн пользователей в месяц, 270 миллионов просмотров страниц в месяц и более 20 серверов баз данных.
Стив уточнил, что большинство полученных уроков были очевидными, поэтому в презентации не будет радикально новых идей. Но у Стива огромный опыт, и если он не смог увидеть эти грабли, то возможно, вам стоит обратить внимание на эти «очевидные вещи».
Каждый из 7 уроков будет рассмотрен в соответствующей секции.
- Падайте часто
- Разделение сервисов
- Открытая схема данных
- Избегайте хранения состояний
- Memcache
- Сохраняйте избыточные данные
- Выполняйте максимум работы в фоновом режиме
+78
Как мы соединяли свой ЦОД с ЦОДом заказчика
5 мин
13KПредставьте задачу:
- Вы решили стартовать IT-проект, который требует большой вычислительной мощности.
- «Взлетит» он или нет, станет понятно через 3 месяца.
- Космически дорогое железо (несколько серверов по цене квартиры в Москве каждый) покупать не хочется, но при этом надо сразу стартовать так, чтобы потом не было сложностей с масштабированием до серьёзной highload-системы, то есть хочется эластичного «облака».
- В перспективе — необходимость быстро обрабатывать много данных и массу операций чтения-записи. То есть, потребуются тяжелые сервера-«молотилки», которые не могут горизонтально масштабироваться – такое в «облако» не запихнёшь.
- При этом надо создать единое сетевое пространство, как если бы «молотилки» вашего ЦОДа и сервера «облака» находились в соседних стойках, и настроить всё так, чтобы на уровне приложений не приходилось думать про физическое воплощение железа;
- Обеспечить адекватную техподдержку, которая способна закрыть все вопросы по проекту (сеть, сервера, прикладные системы) — и всё это без поиска новых администраторов себе в штат.
- До кучи — запуститься очень быстро;
- И всё это —в Москве, чтобы обеспечить минимальные лаги.
В начале этого года к нам пришел заказчик именно с такими задачами.
+10
Дисковые массивы Dell EqualLogic
5 мин
10KМы продолжаем цикл рассказов про оборудование и решения Dell для бизнеса: серверы, системы хранения данных, резервное копирование, сетевые устройства и прочее.
Сегодня мы хотим вам рассказать про характеристики и способы применения новейшего поколения систем хранения данных Dell EqualLogic: модных, красивых — а главное, эффективных, производительных и удобных с точки зрения масштабирования.
Внимание, системные администраторы компаний, сталкивающиеся со сложностью хранения больших объемов данных и потребностью обеспечить себе удобный контроль над сетевым хранением информации (нефтегазовая сфера, финансовые учреждения, ИТ-компании) — вам это может быть интересно! Кроме прочего, мы расскажем и том, почему подход Dell удобен с точки зрения развития бизнеса. Ведь никто не покупает железо корпоративного класса на один день, и сколько-нибудь серьезный производитель всегда обязан держать в уме защиту серьезных инвестиций своих клиентов.
Сегодня мы хотим вам рассказать про характеристики и способы применения новейшего поколения систем хранения данных Dell EqualLogic: модных, красивых — а главное, эффективных, производительных и удобных с точки зрения масштабирования.
Внимание, системные администраторы компаний, сталкивающиеся со сложностью хранения больших объемов данных и потребностью обеспечить себе удобный контроль над сетевым хранением информации (нефтегазовая сфера, финансовые учреждения, ИТ-компании) — вам это может быть интересно! Кроме прочего, мы расскажем и том, почему подход Dell удобен с точки зрения развития бизнеса. Ведь никто не покупает железо корпоративного класса на один день, и сколько-нибудь серьезный производитель всегда обязан держать в уме защиту серьезных инвестиций своих клиентов.
+3
Облака и эластичность
3 мин
7.2KПланируя разработку облачных сервисов, многие разработчики задаются вопросом – что нового им предстоит и чем облачный сервис отличается от «обычного».
Довольно часто при описании облаков и облачных решений говорят об эластичности. Amazon даже назвала свое облако Elastic Compute Cloud (EC2). Помимо того, что «эластичность» – используемое в маркетинге облаков красивое слово, у него есть и вполне определенный смысл. Речь о возможности арендовать вычислительные ресурсы с оплатой по фактическому использованию, начиная и прекращая аренду в произвольный момент.
Это очень удобно для сервисов с непостоянной нагрузкой – при изменении нагрузки они могут масштабироваться, увеличивая или уменьшая число узлов, обеспечивая пользователям приемлемое время обработки запросов, а владельцам – снижение затрат.
Так в теории. На практике перейти от красивого слова к делу не всегда просто.
+13
Суперскалярный стековый процессор: скрещиваем ужа и ежа
11 мин
13KВ данной статье мы будем разрабатывать (программную) модель суперскалярного процессора с OOO и фронтендом стековой машины.
+16