Как стать автором
Обновить
0
0

Пользователь

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

Инфраструктура для микросервисов. K8s и все-все-все

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

Как-то я уже писал тут о переезде из Азии в Европу, а теперь хочу написать, что я в этой Европе делаю. Есть такая профессия — DevOps, точнее нет, но так получилось, что это именно то чем я сейчас занимаюсь. Сейчас для оркестрации всего что бежит в докере мы используем rancher, о чем я тоже уже писал. Но вот случилось ужасное, вышел ранчер 2.0 который переехал на kubernetes (дальше просто k8s) и поскольку k8s сейчас действительно стандарт для управления кластером, возникло желание тоже построить всю инфраструктуру заново с блекджеком и библиотекаршами. Что еще добавляет пикантности это то что компания постоянно нанимает разных специалистов из разных стран и с разными традициями и кто-то и собой приносит puppet, кому-то милее ansible, а кто-то вообще считает что Makefile + bash — наше все. Поэтому однозначного мнения как все должно работать просто нет, а очень хочется.


Предварительно был собран такой зоопарк технологий и инструментов:


zoo

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

Пособие по Ansible

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

управление конфигурацией оркестра


Это практическое пособие познакомит вас c Ansible. Вам понадобится виртуальная или реальная машина, которая будет выступать в роли узла для Ansible. Окружение для Vagrant идет в комплекте с этим пособием.


Ansible — это программное решение для удаленного управления конфигурациями. Оно позволяет настраивать удаленные машины. Главное его отличие от других подобных систем в том, что Ansible использует существующую инфраструктуру SSH, в то время как другие (chef, puppet, и пр.) требуют установки специального PKI-окружения.


Пособие покрывает такие темы:


  1. Установка Ansible и Vagrant
  2. Файл инвенторизации
  3. Модули shell, copy, сбор фактов, переменные
  4. Запуск на группу хостов
  5. Плейбуки
  6. Пример: поднимаем кластер, устанавливаем и настраиваем Apache и балансировщик нагрузок HAproxy
  7. Обработка ошибок, откат
  8. Шаблоны конфигурации
  9. Роли

Ansible использует так называемый push mode: конфигурация «проталкивается» (push) с главной машины. Другие CM-системы обычно поступают наоборот – узлы «тянут» (pull) конфигурацию с главной машины.


Этот режим интересен потому что вам не нужно иметь публично доступную главную машину для удаленной настройки узлов; это узлы должны быть доступны (позже мы увидим, что скрытые узлы также могут получать конфигурацию).

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

Визуализация связей процессов в Linux

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


Приходилось ли вам отслеживать зависимости системных процессов, «кто чей папка», найти императора и убить его, чтобы рабы не респаунились? Можно ps'ать и grep'ать, можно lsof погонять, ведь это так увлекательно ;) Но любые связи, как мне кажется, всегда проще анализировать в визуальной форме, консольные утилиты рисуют хорошие таблички, но из них не всегда можно быстро понять, что с чем связано и в какой последовательности, а для диагностики это очень важно.
Читать дальше →
Всего голосов 53: ↑53 и ↓0+53
Комментарии22

Несколько советов по организации Python-приложения на сервере

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


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


Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии: Ubuntu (17.10), Python3 (3.6).


Содержание:


  • Логи (logrotate)
  • Демоны (systemd)
  • локальные настройки
Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии79

Для чего программисту Continuous Integration и с чего начинать

Время на прочтение8 мин
Количество просмотров52K
Представьте что в Роскосмосе решили собрать новую ракету не имея при этом чертежей и четкого понимания как ракета должна быть устроена. Отдельный завод занимается корпусом ракеты, отдельный выпускает двигатели, еще один — сопла. Главный менеджер Роскосмоса сказал что он доверяет профессионалам, и мастерски сделегировал всю работу заводам.



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

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

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

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

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

В 1991 году Гради Буч, видимо, устал от такого безобразия, и предложил делать сборку всего проекта каждый день, чтобы выяснять несовместимости не в день релиза, а пораньше — и назвал этот подход Continuous Integration.
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии56

VIM как IDE для разработки на Python

Время на прочтение10 мин
Количество просмотров158K
image
Данная статья будет посвящена настройке vim, в которой я поделюсь своим «скромным» пониманием того, каким должен быть текстовый редактор, чтобы в нем было удобно/приятно/легко (нужное подчеркнуть) писать код также, как это сейчас возможно во всевозможных IDE типа PyCharm, SublimeText и т.п.
Весь процесс постараюсь описать как можно более подробно, чтобы вопросов по мере чтения для начинающих осваивать vim возникало как можно меньше.
Читать дальше →
Всего голосов 70: ↑58 и ↓12+46
Комментарии47

Еще раз о том, как не сделать из своей сети «решето»

Время на прочтение20 мин
Количество просмотров342K
Здравствуйте! Я почти 10 лет работаю в сфере ИТ и ИБ, всегда интересовался практической безопасностью, в настоящее время работаю пентестером. За все время работы я постоянно сталкивался с типовыми ошибками в настройках и дизайне инфраструктуры. Ошибки эти чаще всего досадные, легко устранимые, однако быстро превращают сеть в полигон для взлома. Порой кажется, что где-то специально учат так настраивать, насколько часто они встречались. Это и побудило меня написать данную статью, собрав все самое основное, что может улучшить защищенность.

В этой статье я не буду рассказывать про использование сложных паролей, максимального ограничения прав доступа, смене учетных записей по умолчанию, обновлению ПО, и других «типовых» рекомендациях. Цель статьи – рассказать о самых частых ошибках в настройках, заставить администраторов и специалистов ИБ задуматься над вопросом – «а все ли в моей сети хорошо?», а также показать, как можно оперативно прикрыть те или иные типовые уязвимости, используя встроенные или бесплатные средства, не прибегая к дополнительным закупкам.

Инструкций-рецептов намеренно не прикладываю, так как многое ищется очень легко по ключевым словам.
Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии98

Топ 20 бесплатных инструментов мониторинга дисков

Время на прочтение6 мин
Количество просмотров379K
В посте собран перечень 20 лучших бесплатных инструментов разбивки, диагностики, шифрования, восстановления, клонирования, форматирования дисков. Вообщем практически все что нужно для базовой работы с ними.

1. TestDisk


TestDisk позволяет восстанавливать загрузочные разделы, удаленные разделы, фиксировать поврежденные таблицы разделов и восстанавливать данные, а также создавать копии файлов с удаленных/недоступных разделов.



Примечание: PhotoRec ето связанное с TestDisk приложением. С его помощью возможно восстановить данные в памяти цифровой камеры на жестких дисках и компакт-дисках. Кроме того можно восстановить основные форматы изображений, аудиофайлы, текстовые документы, HTML-файлы и различные архивы.

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

Стандарт управления правами доступа к корпоративным файловым информационным ресурсам

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

Что может быть проще, чем разграничить права на папку в NTFS? Но эта простая задача может превратиться в настоящий кошмар, когда подобных папок сотни, если не тысячи, а изменение прав к одной папке «ломает» права на другие. Чтобы эффективно работать в подобных условиях, требуется определенная договоренность, или стандарт, который бы описывал, как решать подобные задачи. В данной статье мы как раз и рассмотрим один из вариантов подобного стандарта.
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии39

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

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

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Всего голосов 48: ↑43 и ↓5+38
Комментарии29

15 бесплатных онлайн курсов по программированию

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

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

Современная практика показывает: “Хорошо – не значит дорого”, а доступность интернет – ресурсов определяющим фактором в получении образования ставит желание. Получить необходимые знания и интересующую информацию в ведущих университетах России, Европы и Америки сейчас возможно даже не выходя из дома.

Сегодня такой бонус мы подготовили всем, кто давно мечтал заговорить с компьютером на “ты”, но не решался перейти к действиям. Перед вами 15 вариантов самых интересных бесплатных онлайн курсов по программированию, приступить к которым можно будет уже этой весной!
Читать дальше →
Всего голосов 25: ↑12 и ↓13-1
Комментарии8

Опытные мелочи Windows-админа

Время на прочтение3 мин
Количество просмотров171K
Всегда имел желание написать цикл постов, где был бы понемногу изложены разные интересные мелочи и задачи, которые приходилось решать в повседневной рутине системного администратора.
Возможно, кое-что из описанного будет полезно другим сисадминам.

Сразу оговорюсь, что в качестве исходных данных имею Windows среду и домен Active Directory, причем ОС преимущественно WindowsXP — Server2003. Ну и обслуживаемые компании были в основном некрупными (от 30 до 500 пользователей).

Начнем, пожалуй, c часто встречаемой задачи определения кто из пользователей за каким компьютером работает.
Читать дальше →
Всего голосов 105: ↑95 и ↓10+85
Комментарии55

Опытные мелочи-3, или «Центральное Файлохранилище»

Время на прочтение3 мин
Количество просмотров50K
Продолжаем цикл постов об «опытных мелочах». Предыдущие части можно почитать тут: раз, два.

Сегодня я расскажу как я выстраивал более-менее стройную систему внутреннего файлохранилища для компании и что из этого вышло.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии37

Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 2

Время на прочтение17 мин
Количество просмотров27K
Представляю вторую статью из серии, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование


А в предыдущей части были рассмотрены:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

В третьей части:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

В четвертой части:
  • Автоматические события
  • Макросы

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

Программный интернет шлюз для уже не маленькой компании (Shorewall, OpenVPN, OSPF). Часть 1

Время на прочтение13 мин
Количество просмотров38K
Представляю пока две статьи, ориентированных на «продолжающих» системных администраторов, для опытных я вряд ли открою что-то новое.
В этих статьях мы рассмотрим построение интернет шлюза на linux, позволяющего связать несколько офисов компании, и обеспечить ограниченный доступ в сеть, приоритезацию трафика (QoS) и простую балансировку нагрузки с резервированием канала между двумя провайдерами.
Конкретно в этой части:
  • Простейшая настройка Shorewall
  • Ужасно сложная настройка dnsmasq
  • Не менее сложная настройка OpenVPN
  • И для многих продолжающих админов нетипичная, динамическая маршрутизация, на примере OSPF

А во второй части будут рассмотрены:
  • Более подробная настройка Shorewall
  • Страшный и не понятный QoS
  • Балансировка нагрузки и резервирование

В третьей части:
  • QoS во всю ширь в Shorewall
  • Более подробная настройка Shorewall
  • Раскидывание трафика по каналам в соответствии с протоколами
  • Костыли, без них, никуда

В четвертой части:
  • Автоматические события
  • Макросы

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

Разноцветные терминалы

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


В этой публикации я расскажу о некоторых трюках, которые украсят будни любого системного администратора Linux (и не только). Все они связаны с переменной PS1 оболочки bash. Переменная PS1 определяет, как будет выглядеть приглашение для ввода новых команд. И каждый пользователь может переопределять её как пожелает, например, в файле ~/.bashrc (который выполняется при запуске bash и используется для в том числе для конфигурации).

Для начала рассмотрим простой вариант, мой любимый формат командной строки.
Читать дальше →
Всего голосов 48: ↑40 и ↓8+32
Комментарии46

19 советов по повседневной работе с Git

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


Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!

Содержание:
  1. Параметры для удобного просмотра лога
  2. Вывод актуальных изменений в файл
  3. Просмотр изменений в определённых строках файла
  4. Просмотр ещё не влитых в родительскую ветку изменений
  5. Извлечение файла из другой ветки
  6. Пара слов о ребейзе
  7. Сохранение структуры ветки после локального мержа
  8. Исправление последнего коммита вместо создания нового
  9. Три состояния в Git и переключение между ними
  10. Мягкая отмена коммитов
  11. Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
  12. Игнорирование пробелов
  13. Добавление определённых изменений из файла
  14. Поиск и удаление старых веток
  15. Откладывание изменений определённых файлов
  16. Хорошие примечания к коммиту
  17. Автодополнения команд Git
  18. Создание алиасов для часто используемых команд
  19. Быстрый поиск плохого коммита

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

Лайфхаки для веб-разработчика

Время на прочтение3 мин
Количество просмотров44K
Обожаю трюки и лайфхаки. Каждый раз радуюсь, когда удается упростить очередную рутинную операцию. А так как работаю я, вот уже 8 лет, веб-программистом, то рутинные операции и лайфхаки у меня программерские. Вот этим и хочу с вами поделиться.
Часть трюков до меня уже описали на хабре, часть я взял из других источников, часть придумал сам. Буду благодарен если в комментариях к посту вы напишете, какие трюки используете вы.

Использование ** в zsh


Таким образом я ищу файлы в папке по расширению рекурсивно:
ls **/*.json

файлы с размером выше чем 1 мегабайт:
ls -lh **/*(Lm+1)

Быстро и уверенно удаляем мусор из репозитория в python проекте и судорожно правим. gitignore:
git rm --cached **/*.pyc


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

Использование QCustomPlot для создания анимированных графиков

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

При решении различных аналитических задач может потребоваться real-time построение графиков, где функция зависит от времени. В этой статье я поделюсь своим опытом решения задачи анимирования графиков в Qt, используя QCustomPlot.
Читать дальше →
Всего голосов 17: ↑17 и ↓0+17
Комментарии5

Делаем свой итератор

Время на прочтение6 мин
Количество просмотров83K
Не часто возникает необходимость создать свой итератор и хотелось бы иметь под рукой небольшой HowTo. В этой заметка хочу рассказать как создать простейший итератор, который можно использовать в стандартных алгоритмах типа std::copy, std::find. Какие методы и определения типов нужны в классе контейнере, чтобы его можно было обходить в циклах for из c++11 и BOOST_FOREACH.

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

Информация

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