Как стать автором
Обновить
21
0
Александр @dostigai

Системный администратор

Отправить сообщение

Так выглядит эффективная работа техлида

Время на прочтение13 мин
Количество просмотров9.7K


фото с сайта pilot.com


В 2012 году Джессика МакКеллар с командой друзей из MIT (Массачусетский Технологический Институт) запустила стартап скрытого чата Zulip. Менее двух лет спустя его выкупил Dropbox. И в этом не было ничего необычного. С ее командой такое уже случалось, когда они так же быстро продали Ksplice компании Oracle. Такая бешеная гонка дала МакКеллар больше опыта в разнообразных возможностях менеджера, чем обычный инженер получает за всю карьеру. Она была тимлидом, основателем, техлидом в огромной корпорации, а сейчас руководит десятками сотрудников в быстрорастущем международном стартапе. (Да, она еще и значимая фигура в мире Python). В статье Джессика рассказывает о своем опыте и подходе к управлению командами.

Читать дальше →
Всего голосов 13: ↑11 и ↓2+14
Комментарии2

Сервер терминалов для 1С по протоколу RDP на linux: рекомендации по настройке с учетом опыта реальной эксплуатации

Время на прочтение8 мин
Количество просмотров68K
В статье рассматриваются нюансы установки и настройки терминального сервера по протоколу RDP для работы с базами 1с на платформе 8.3 на базе дистрибутива Xubuntu 14.04 с учетом возможностей последней версии сервера xrdp и опыта реальной эксплуатации.

Не так давно (в конце декабре 2016 года) вышел в свет очередной релиз сервера xrdp версии 0.9.1. Одновременно с этим была выпущена стабильная версия одного из «бекендов» xrdp — xorgxrdp v 0.2.0. Эти версии мы и будем использовать далее при установке.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии72

SSH вместо VPN

Время на прочтение3 мин
Количество просмотров62K
image

Наверняка многие системные администраторы сталкивались с ситуацией когда количество удалённых пользователей в компании становилось больше одного столько, что мысли о нормальном VPN вместо nat-а на скорую руку не давали покоя и становились навязчивой идеей. И уверен каждый морщился, когда понимал, что предстоит объяснять пользователям, что и где нажимать. А в моём, персональном случае ещё и позиция в отношении подопечных: «они не должны даже задумываться как это работает».
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии54

Почтовый кластер своими руками

Время на прочтение11 мин
Количество просмотров27K
Сразу оговорюсь что поставленную задачу можно решить несколькими способами. Этот один из возможных.
Статья рассчитана на тех, кто знает как настраиваются и работают Exim и Dovecot, и в ней я не будут останавливаться на базовых настройках этих сервисов.

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

Задача построить отказоустойчивый сервис, с хранением почты на серверах, с доступом по IMAP.
Кластер будет обслуживать компанию с примерно с 60 филиалами, каждый из которых имеет свой домен 3-го уровня.

Главная задача сервиса, беспрерывный доступ к почте. Поэтому для хранилища будем использовать два географически разнесенных сервера, с синхронизацией почтовых каталогов.
Оба сервера будут активными, это значит что мы будем распределять нагрузку между нодами. Часть доменов будет обслуживать одна нода, часть доменов другая. В случае выхода из строя одной из нод, клиенты переключаются на другую.
В качестве фронтенда для распределения нагрузки маршрутизации клиентов будем использовать Nginx с модулем mail. Для приема почты, будем использовать два smtp сервера.

Схема:

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии15

Сможет ли Питон прожевать миллион запросов в секунду?

Время на прочтение6 мин
Количество просмотров37K


Возможно ли с помощью Python обработать миллион запросов в секунду? До недавнего времени это было немыслимо.


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


Python-сообщество в последнее время уделяет много внимания производительности. С помощью CPython 3.6 за счет новой реализации словарей удалось повысить скорость работы интерпретатора. А благодаря новому соглашению о вызове (calling convention) и словарному кэшу CPython 3.7 должен стать еще быстрее.


Для определенного класса задач хорошо подходит PyPy с его JIT-компиляцией. Также можно использовать NumPy, в котором улучшена поддержка расширений на Си. Ожидается, что в этом году PyPy достигнет совместимости с Python 3.5.


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

Читать дальше →
Всего голосов 74: ↑69 и ↓5+64
Комментарии30

10 мифов о Docker, которые пугают разработчиков

Время на прочтение10 мин
Количество просмотров46K

Источник: 'Nova typis transacta navigatio' (Linz: s.n., 1621), p.12 (British Library, G.7237).


Часто во время разговоров о Docker я слышу мнения, с которыми не совсем согласен.


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

«под OSx у него экспериментальная поддержка, под Windows работает еле-еле»

«Я не уверен, что смогу быстро развернуть его локально»

… и еще много всякого.

В этих утверждениях есть доля истины (см. ниже мифы 3 и 5), но она мала, и по большей части реальная картина получается искаженной.


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


Что ж, нетрудно догадаться, почему Docker окружен таким количеством мифов.


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


Давайте поговорим о самых распространенных мифах – тех, с которыми я сталкивался и в которые верил, – и попробуем найти в них истину, а также решения, если таковые имеются.

Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии72

Uber — причины перехода с Postgres на MySQL

Время на прочтение19 мин
Количество просмотров103K


В конце июля 2016 года в корпоративном блоге Uber появилась поистине историческая статья о причинах перехода компании с PostgreSQL на MySQL. С тех пор в жарких обсуждениях этого материала было сломано немало копий, аргументы Uber были тщательно препарированы, компанию обвинили в предвзятости, технической неграмотности, неспособности эффективно взаимодействовать с сообществом и других смертных грехах, при этом по горячим следам в Postgres было внесено несколько изменений, призванных решить некоторые из описанных проблем. Список последствий на этом не заканчивается, и его можно продолжать еще очень долго.


Наверное, не будет преувеличением сказать, что за последние несколько лет это стало одним из самых громких и резонансных событий, связанных с СУБД PostgreSQL, которую мы, к слову сказать, очень любим и широко используем. Эта ситуация наверняка пошла на пользу не только упомянутым системам, но и движению Free and Open Source в целом. При этом, к сожалению, русского перевода статьи так и не появилось. Ввиду значимости события, а также подробного и интересного с технической точки зрения изложения материала, в котором в стиле «Postgres vs MySQL» идет сравнение физической структуры данных на диске, организации первичных и вторичных индексов, репликации, MVCC, обновлений и поддержки большого количества соединений, мы решили восполнить этот пробел и сделать перевод оригинальной статьи. Результат вы можете найти под катом.

Читать дальше →
Всего голосов 112: ↑110 и ↓2+108
Комментарии58

Про ранги и виртуализацию в RAM

Время на прочтение6 мин
Количество просмотров74K

image alt text


В продолжение рубрики "конспект админа" хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей BSOD.

Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии4

sudo rm -rf, или Хроника инцидента с базой данных GitLab.com от 2017/01/31

Время на прочтение15 мин
Количество просмотров65K

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

Аркадий и Борис Стругацкие

31 января 2017 года произошло важное для мира OpenSource событие: один из админов GitLab.com, пытаясь починить репликацию, перепутал консоли и удалил основную базу PostgreSQL, в результате чего было потеряно большое количество пользовательских данных и сам сервис ушел в офлайн. При этом все 5 различных способов бэкапа/репликации оказались нерабочими. Восстановились же с LVM-снимка, случайно сделанного за 6 часов до удаления базы. It, как говорится, happens. Но надо отдать должное команде проекта: они нашли в себе силы отнестись ко всему с юмором, не потеряли голову и проявили удивительную открытость, написав обо всем в твиттере и выложив в общий доступ, по сути, внутренний документ, в котором команда в реальном времени вела описание разворачивающихся событий.


Во время его чтения буквально ощущаешь себя на месте бедного YP, который в 11 часов вечера после тяжелого трудового дня и безрезультатной борьбы с Постгресом, устало щурясь, вбивает в консоль боевого сервера роковое sudo rm -rf и жмет Enter. Через секунду он понимает, что натворил, отменяет удаление, но уже поздно — базы больше нет...


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

Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии129

Уроки года борьбы с нарушениями информационной безопасности

Время на прочтение9 мин
Количество просмотров9.6K


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

Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии3

Техподдержка в эпоху DevOps

Время на прочтение10 мин
Количество просмотров19K



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


В такой ситуации успешное внедрение DevOps-практик может оказаться практически невозможным.


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

Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии19

Мониторинг системных вызовов Linux

Время на прочтение7 мин
Количество просмотров21K


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


  1. Сколько уникальных исходящих TCP-соединений установили ваши серверы за последний час?
  2. Какие процессы и пользователи инициировали установку этих соединений?

Если вы в состоянии ответить на оба вопроса, отлично — дальше можете не читать. А если ответа нет, то получить эту информацию поможет go-audit.

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии5

Деплой веб-приложений с помощью Ansistrano

Время на прочтение10 мин
Количество просмотров13K

ansistrano.deploy и ansistrano.rollback — роли Ansible, предназначенные для управления процессом развертывания приложений, созданных на скриптовых языках программирования (например, PHP, Python и Ruby). По сути это реализация Capistrano в Ansible.


Использование Ansistrano дает следующие преимущества:


  • откат за секунды (с ролью ansistrano.rollback);
  • настройка процедуры развертывания с использованием методов-обработчиков событий «до» и «после» критически важных шагов;
  • оптимизация использования дискового пространства за счет хранения ограниченного количества релизов;
  • выбор между SCP, RSYNC, GIT, SVN, HTTP Download или S3 GET-стратегиями развертывания (в дополнение возможно использование unarchive).
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии1

Быстрый полнотекстовый поиск в Redmine

Время на прочтение2 мин
Количество просмотров7K
image redmine-logo

image elastic-logo

У нас используется система управления проектами и задачами Redmine. Мы продолжаем допиливать ее под свои нужды, чтобы повысить удобство работы и расширить функционал. Очередной задачей стало ускорение поиска.

С тех пор как количество задач в Redmine выросло до нескольких сотен тысяч, время на обработку поискового запроса стало занимать десятки секунд, что недопустимо долго для нас. Поэтому мы решили внедрить полнотекстовый поиск на основе Elasticsearch. Про это и будет данный пост.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии0

Удаленное логирование в journald или Всё ещё «это вам не нужно»?

Время на прочтение6 мин
Количество просмотров24K


Дисклеймер


Все эксперименты проводились на CentOS Linux release 7.2.1511 в качестве основной системы, с последними доступными из стоковой репы systemd (systemd-219-19.el7_2.13). Надеюсь, часть приведенных данных будет неактуальна уже на момент публикации статьи.


Вводная часть


Начав захватывать linux-дистрибутивы с выпуска Fedora 15, systemd окончательно победил. Зубры и аксакалы понемногу приучаются к unit'ам и systemctl. Скрежещат зубами последние защитники Старого Доброго. В этих реалиях невозможно обойти дочерние продукты systemd. И сегодня давайте поговорим, например, про journald.


Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии32

Увеличиваем стоимость атаки с помощью Immutable Infrastructure

Время на прочтение4 мин
Количество просмотров7.4K


Контейнеры Docker хороши тем, что они немутабельны (immutable). Docker поставляется с файловой системой типа copy-on-write, поэтому базовый образ может быть изменен только в том случае, если вы сами создали соответствующий коммит.


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

Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

Перевод звонка с помощью скрипта в Asterisk

Время на прочтение4 мин
Количество просмотров17K


Не так давно у одного из наших клиентов возникла необходимость переводить звонки (входящие и исходящие) по клику из браузера. Логика такова: группа операторов колл-центра принимает и осуществляет звонки, и после разговора и выяснения потребностей им нужно соединить клиента с одним из заказчиков или другим специалистом организации.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии6

Как заставить PostgreSQL считать быстрее

Время на прочтение15 мин
Количество просмотров24K

Источник фотографии


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


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


  • требуется ли точное количество строк или оценочного значения будет достаточно;
  • следует ли учитывать дубликаты или интересуют только уникальные значения;
  • нужно ли посчитать все строки таблицы или необходимо выбрать только удовлетворяющие определенному условию.

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

Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии5

Вебинар: Asterisk и базы данных

Время на прочтение1 мин
Количество просмотров6.6K
Centos-admin.ru - делимся опытом! Очередной вебинар от команды Centos-admin.ru пройдет в ближайшую среду, в 12-00 по московскому времени. Мы расскажем о том, зачем и каким образом можно использовать базы данных в связке с Asterisk. Поговорим о встроенной базе данных AstDB и о подключении к внешним СУБД.

Вебинар рассчитан на системных администраторов, имеющих небольшой опыт настройки Asterisk и пока не применяющих базы данных в своих Asterisk-проектах.

Прямая ссылка на видео | Cсылка для регистрации

Приглашаем всех желающих 23 ноября. Приходите!
Всего голосов 11: ↑10 и ↓1+9
Комментарии2

Обнаружение сервисов в Stripe

Время на прочтение9 мин
Количество просмотров5.1K

Каждый год появляется столько новых технологий (таких как Kubernetes или Habitat), что легко забыть о тех инструментах, которые тихо и незаметно поддерживают наши системы в промышленной эксплуатации. Одним из таких инструментов, который мы используем в Stripe на протяжении нескольких лет, является Consul. Consul помогает в обнаружении сервисов (то есть помогает находить тысячи работающих у нас серверов с запущенными на них тысячами различных сервисов и сообщать, какие из них доступны для использования). Это эффективное и практичное архитектурное решение не было чем-то совсем новым и особенно заметным, но оно верой и правдой служит делу предоставления надежных сервисов нашим пользователям по всему миру.


В этой статье мы собираемся поговорить о следующем:


  • Что такое обнаружение сервисов и Consul.
  • Как мы управляли рисками, возникавшими при внедрении критически важного программного продукта.
  • Вызовы, с которыми мы столкнулись, и наши ответы на эти вызовы.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии3
1

Информация

В рейтинге
Не участвует
Откуда
Ульяновск, Ульяновская обл., Россия
Работает в
Зарегистрирован
Активность