Pull to refresh
20
0
NetAngels @NetAngels

хостинг провайдер

Send message

Отказоустойчивый кластер для балансировки нагрузки

Reading time8 min
Views57K

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

Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments16

Конкурс от NetAngels: победителям SSL-сертификат на 1 год и промо-коды

Reading time1 min
Views1.3K

Разыгрываем промо-коды и SSL-сертификат на 1 год


Конкурс Вконтакте
 


Если вы зарегистрированный пользователь vk.com, то можете принять участие в нашем конкурсе.
Читать дальше →
Total votes 15: ↑4 and ↓11-7
Comments6

Autoscaling — инструмент автоматического вертикального масштабирования ресурсов (CPU|RAM|HDD)

Reading time13 min
Views7.8K

В начале этого года у наших облачных VDS появился публичный API. Он позволяет клиенту делать практически все те же действия с облачными виртуальными машинами и дисками, что и в панели: создавать, удалять диски и ВМ, изменять тарифы и размер диска и тп.





Вместе с появлением API появилась и идея на его основе реализовать систему мониторинга за ресурсами виртуальной машины (ВМ), работающую внутри машины, и автоматического увеличения/уменьшения необходимых ресурсов по необходимости — автоскейлинг (autoscaling, АS).
Некоторые пояснения по AS
Здесь стоит уточнить, что поскольку система AS основана на API, в ее задачи не входит мгновенное предоставление ресурсов по требованию, в момент появления необходимости в них, или угадывание/предсказывание будущей необходимости в ресурсах. Суть AS заключается в том, что он должен зафиксировать момент, когда можно с уверенностью сказать, что ресурсов текущего тарифного плана становится недостаточно для гарантированного* и своевременного** выполнения запущенных на виртуальной машине процессов, и автоматически перевести ВМ на следующий тариф.

**Своевременного — потому что, если выполнение запущенных процессов упирается в процессорный ресурс, то процессы так или иначе выполнятся. Но время их завершения становится непредсказуемым.
*Гарантированного, потому что если оперативная память ВМ близка к исчерпанию и на ВМ не настроен swap, то это означает, что близка ситуация, когда какой-то из запущенных на ВМ процессов будет аварийно завершен операционной системой, если суммарное потребление памяти всеми процессами превысит ее общий объем. Если же swap настроен, то пока он также не исчерпается, никто убит не будет, но быстродействие ВМ также сильно просядет, т.к. будет зависеть от скорости работы swap-раздела, которая в любом случае на порядок меньше, чем скорость работы оперативной памяти.

Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments11

Встречайте, релиз Django 1.6

Reading time3 min
Views20K
Django

Приветствую, хабралюди. Вчера в блоге популярного веб-фреймворка для питона, Django, появилась новость о релизе новой версии под номером 1.6.

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

В данной статье-новости я хотел бы отметить основные, на мой взгляд, изменения.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments15

Портирование на питон 3. Работа над ошибками

Reading time13 min
Views11K
Примечание от переводчика:
Представляю вам, перевод интересной статьи Армина Ронахера, автора веб-фреймворков Flask и Werkzeug, шаблонизатора Jinja2 и вообще известного питониста об актуальных техниках и подводных камнях, применяемых им в его проектах при добавлении поддержки третьего питона. Небольшая заметка по поводу названия данной статьи. Оно является отсылкой к статье Армина 2010 года «Портирование на питон 3. Руководство», в которой он описывал подготовку кода для автоматического портирования через утилиту 2to3. Как показывает практика, сегодня такой подход является скорее антипаттерном, т.к. с одной стороны, качество кода в результате подобных операций заметно ухудшается, а кроме того, такой код заметно труднее поддерживать.


После чрезвычайно болезненного опыта портирования Jinja2 на третий питон, мне пришлось оставить проект на холостом ходу на некоторое время, т.к. я слишком сильно боялся сломать поддержку питона 3 версии. Подход, который я использовал состоял в написании кода для питона 2 версии и перевода с помощью 2to3 на третий питон во время установки пакета. Самым неприятным побочным эффектом стало то, что любое изменение, которое вы вносите, требует примерно минуты на перевод, тем самым убивая скорость ваших итераций. К счастью, оказалось, что если правильно указать конечные версии питона, процесс идет ощутимо быстрее.

Томас Волдман из проекта MoinMoin начал с запуска Jinja2 через мой python-modernize с правильными параметрами, и пришел к единому коду, который работает под 2.6, 2.7 и 3.3. Путем небольших приборок мы смогли прийти к приятной кодовой базе, которая работает со всеми версиями питона и при этом, в большинстве своем, выглядит, как обычный код на питоне.

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

В данной статье я выборочно рассмотрю некоторые советы и фишки, которыми я могу поделиться, на случай если они кому-либо помогут в схожих ситуациях.
Читать дальше →
Total votes 37: ↑33 and ↓4+29
Comments18

Новые версии Flask и Werkzeug с поддержкой питона 3.3

Reading time2 min
Views12K


Армин Ронахер опубликовал в своем блоге новость об обновлении популярных веб-фреймоворков для питона: Flask и лежащего в его основе Werkzeug. Самым главным изменением стала поддержка питона 3 версии (начиная с 3.3 и выше). Также низкоуровнеый API Werkzeug был несколько изменен, чтобы с одной стороны реализовать поддержку спецификации из PEP 3333, а с другой — не потерять в производительности. С новой версией теряется поддержка питона версии 2.5.

Если вы используете Werkzeug, то, с обновленной версией, возможно, придется повозиться. Что касается Flask — то тут все несколько проще, т.к. API не сильно изменился.

Важно заметить, что Flask и Werkzeug в определенном смысле несколько затянули обновлением, ведь наиболее популярные компоненты, составляющие стандартный стек фласк-приложения: шаблонный движок Jinja2 и ORM SQLAlchemy уже достаточно продолжительное время поддерживают питон третьей версии. К слову, в свое время, Армин критиковал у себя в блоге слишком радикальные изменения языка, и довольно холодно отзывался о третьей версии.
Пара слов о других изменениях
Total votes 36: ↑35 and ↓1+34
Comments49

Фреймворк Django получит миграции схемы БД

Reading time2 min
Views9.9K

В официальном блоге Django появилась информация о том, что планируется расширить функционал встроенной ORM миграциями — важным функционалом, который присутствует во многих современных ОРМ-ах, что называется «из коробки», например в рельсовом ActiveRecord или пхпшной Doctrine. Исторически сложилось, что этот функционал отсутствует в Django ORM.
Под катом описание грядущих перемен
Total votes 36: ↑34 and ↓2+32
Comments12

Наконец-то. Зарелизился Django 1.5

Reading time1 min
Views16K

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

Как пишут разработчики, была проделана довольно большая работа по выпуску очередной версии. Полный список изменений и новшеств как обычно можно посмотреть в примечаниях к релизу, а вот краткий список основных:
Читать дальше →
Total votes 63: ↑54 and ↓9+45
Comments77

Проблемы со списком сайтов Роскомнадзора. Операторы связи, будьте бдительны

Reading time3 min
Views43K
Привет, хабр.


Мы уже писали, как нетривиально оказалось получить доступ к списку запрещенных материалов Роскомнадзора, для организации автоматического мониторинга попадения наших сетей и сайтов наших клиентов на предмет блокировки. К сожалению, история с наступанием на многочисленные грабли имеет продолжение, поэтому мы хотели бы поделиться ей. Описанная информация будет в первую очередь полезна операторам связи, которые как мы отслеживают ситуацию попадения ресурсов в список Роскомнадзора.
Читать дальше →
Total votes 70: ↑64 and ↓6+58
Comments311

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

Reading time5 min
Views62K
Приветствуем тебя, хабрасообщество.

Самой обсуждаемой новостью текущей недели в рунете, безусловно, является принятие закона №139-ФЗ и его последствий. В силу того, что наша компания предоставляет услуги хостинга, нам понадобился доступ к полной базе реестра, чтобы своевременно реагировать на добавление ресурсов наших клиентов в базу. Это связано с тем, что нам необходимо информировать клиентов о блокировке их ресурсов, ведь в случае, например, блокировки по ip сервера веб-хостинга, могут пострадать и остальные, ни в чем не виноватые, клиенты. К сожалению, получение такого доступа оказалось делом не самым очевидным, поэтому мы хотели бы поделиться результатом прохождения данного квеста.



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

Читать дальше →
Total votes 83: ↑76 and ↓7+69
Comments176

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity