Pull to refresh
29
0
Send message

Самоподписные сертификаты кровавого энтерпрайза против вашего лампового CI/CD

Reading time7 min
Views12K


Многие компании используют сертификаты, подписанные внутренними удостоверяющими центрами (Certificate Authority) для ресурсов в приватных сетях. Поскольку такие сертификаты по умолчанию не могут быть доверенными, почти на каждом этапе вокруг пайплайна могут возникать ошибки такого рода: x509 certificate signed by unknown authority. Из-за этого до каждого компонента необходимо доставлять корневые сертификаты, используемые в компании. В статье расскажу, как это можно сделать.


Статья подготовлена на основе моего материала в курсе «CI/CD на примере Gitlab CI», первые его темы доступны в бесплатном мини-курсе.

Читать дальше →
Total votes 18: ↑16 and ↓2+18
Comments15

Смотрим любое кино мгновенно

Reading time2 min
Views149K

После ареста серверов Moonwalk жить стало в разы труднее. Лично я уже совсем отвык от торрентов. Нужно что-то качать, ждать, чем-то открывать, куда-то кликать, иногда еще и место на диске кончается. Как можно ждать час пока скачается фильм? За час можно жизнь прожить. Пришлось искать решение, которое позволит смотреть кино также просто, как и раньше. Норматив: от идеи посмотреть что-нибудь до начала просмотра - не более минуты.

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

Читать далее
Total votes 77: ↑63 and ↓14+66
Comments267

Коротко о Shadowsocks, или OpenVPN не нужен (в каждом доме)

Reading time6 min
Views267K
В наши дни, когда всякие нехорошие элементы так и норовят влезть в ваш трафик и как-то там напакостить, стало модным шифрование трафика. Начинание это благое и полезное, вот только делают его зачастую избыточно. Если шифрование трафика до доверенного сервера, типа своего VPS, — ваша единственная цель, то OpenVPN для такой цели слишком наворочен. Его долго настраивать, легко обнаружить, а главное — есть подводные камни, не зная которых можно получить такую ситуацию, что VPN стоит, а трафик идёт в обход. Всё это потому, что OpenVPN задумывался больше как средство доступа к маленькой сети через Интернет, а не для доступа ко всему Интернету.
Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments77

IPSec туннель между Strongswan за NAT и VMWare NSX Edge

Reading time3 min
Views6.1K
В силу ряда причин, потребовалось организовать VPN-соединение между сетью в VMWare Cloud Director и отдельной машиной Ubuntu в облаке. Заметка не претендует на полноценное описание, это просто небольшое howto.

IPSec туннель между Strongswan за NAT и VMWare NSX Edge
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments0

Вертикальное автомасштабирование pod'ов в Kubernetes: полное руководство

Reading time22 min
Views24K

Прим перев.: месяц назад Povilas Versockas, CNCF Ambassador и software engineer из Литвы, написал очень подробную статью о том, как работает и как использовать VPA в Kubernetes. Рады поделиться её переводом для русскоязычной аудитории!

Это полное руководство по вертикальному автомасштабированию pod'ов (Vertical Pod Autoscaling, VPA) в Kubernetes. Из него можно узнать, что такое вертикальное автомасштабирование pod'ов, зачем оно нужно и как работает, как устроена модель ресурсных требований Kubernetes, когда использовать VPA и какие существуют ограничения.

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments1

ZFSin: работаем с ZFS нативно под Windows

Reading time3 min
Views37K
image

Делая поиск на Хабру по слову ZFS, я обнаружил почти полсотни статей так или иначе упоминающих замечательную файловую систему c таким именем. Отдельно, к примеру, можно упомянуть достадочно свежие материалы "ZFS on Linux: вести с полей 2017" и "ZFS — лучшая файловая система (пока)". Делал этот поисковый запрос я вот почему…

Уже более 7 лет люди задаются вопросом, "как получить доступ к ZFS из Windows?". И приблизительно 6 лет вменяемого и практичного ответа на этот вопрос не существовало. Речь даже не о производительности, сама возможность хотя бы нативно читать данные в Windows из томов отформатированных под файловую систему ZFS будоражит мозг многих технарей и сисадминов. И вот однажды один энтузиаст решил изменить унылое положение дел c отсутствиеем поддержки ZFS в самой популярной потребительской десктопной ОС. Странно только, что за год эта новость до сих пор не добралась до Хабра. Думаю, стоит это исправить.

И так встречайте — ZFSin, нативный полнофункциональный драйвер файловой системы ZFS для Windows. Исходные коды лицензированы под Common Development and Distribution License (CDDL). Драйвер находится в альфа-стадии и не подходит для продакшн-окружений, но уже многое умеет.
Немного подробностей под катом
Total votes 33: ↑33 and ↓0+33
Comments73

Мигрируем с raid1 на raid10 без потери данных в Debian

Reading time6 min
Views18K
Есть raid1 из 2 дисков, есть 2 дополнительных диска, нужно добавить эти 2 диска в массив и мигрировать на raid10 без потери данных. Ситуация усложняется тем, что boot расположен не в raid, а находит только на одном из дисков, и для усиления отказоустойчивости сервера загрузчик нужно переместить в raid1.

Все описанные действия проводились на рабочем боевом сервере. Схема универсальная, подойдет для любых других начальных условий. Так же аналогично можно мигрировать с raid10 на raid1.

Имеем:
На диске /dev/sdd1 находится /boot
На массиве /dev/md1 находится /
На массиве /dev/md2 находится swap
Если у вас с загрузчиком вопрос уже решен, можете перейти сразу к разделу с миграцией.
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments14

Настраиваем домашний почтовый сервер и уходим с «бесплатной» почты

Reading time15 min
Views313K

С каждым годом рекламы в интернете становится все больше, а подают ее с каждым разом все навязчивее. Дошло уже до почты: реклама в интерфейсе почтового ящика выглядит как первое непрочитанное письмо, которое машинально хочется открыть. Я не против рекламы, особенно когда она в тему и не сбивает с толку. Но маскировать её под непрочитанное письмо ‒ это перебор. Чувствуется, что следующим шагом рекламу начнут вставлять прямо в тело письма.

Читать далее
Total votes 87: ↑79 and ↓8+92
Comments338

Фантастические книги, которые вы могли пропустить в 2020 году

Reading time7 min
Views65K

Что делать, когда хочется писать о книгах, но рубеж года уже пройден, а 2021 пока не радует новинками? Можно еще раз вспомнить достойные фантастические романы, которые вышли на русском в 2020, и заслуживают внимания, хотя их авторы, по крайней мере пока, не могут похвастаться большой популярностью в России. Поэтому хочу рассказать о нескольких фантастических книгах прошлого года, которые произвели на меня хорошее впечатление. 

Буду рад, если в комментариях поделитесь своими фантастическими находками.

Читать далее
Total votes 39: ↑36 and ↓3+51
Comments63

Олды в ИТ

Reading time18 min
Views89K

Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный опыт и, наверное, он обязательно поможет безбедно и интересно прожить остаток дней. Но все не так просто. Да, ты уже давно работаешь в хорошей компании, занимаешься интересными проектами, получаешь за это достойную зарплату, но в будущем уже не так уверен, как раньше. Профессиональный возраст приходит с массой вопросов, на которые нужно ответь стратегически.

 Эта статья родилась на основе обсуждения горячей темы «Олды в ИТ», которую 4 января 2021 г. мы записали для подкаста Linkmeup. Обязательно послушайте запись здесь или в любимом подкаст-приложении.

Читать далее
Total votes 144: ↑137 and ↓7+174
Comments435

Секс, наркотики и убийства: смысл англоязычных песен, который мало кто замечает

Reading time12 min
Views83K


Сегодня у нас легкий, но странный материал специально для любителей музыки.

Слушая иностранные песни, фокусируешься больше на мелодике, на общей атмосфере. Текст трека — дело второстепенное. И это иногда играет с нами злую шутку.

Поговорим о популярных песнях, в которых люди без хорошего английского (а иногда и с ним) в большинстве случаев упускают истинный смысл. Готовьтесь, будет немного крипово. Поехали.
Total votes 65: ↑55 and ↓10+61
Comments266

Как программировать если совсем не хочется? План спасения на случай перегорания или дедлайна

Reading time8 min
Views76K


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

Читать дальше →
Total votes 39: ↑35 and ↓4+40
Comments55

Скрытые расходы при переходе на микросервисы

Reading time7 min
Views17K

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

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

Читать далее
Total votes 36: ↑36 and ↓0+36
Comments25

5 способов краулинга веб-сайта

Reading time3 min
Views18K


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


Давайте начнем!!


Metasploit


Вспомогательный поисковый модуль Metasploit представляет собой модульный поисковый робот, который будет использоваться вместе с wmap или автономно.


use auxiliary/crawler/msfcrawler
msf auxiliary(msfcrawler) > set rhosts www.example.com
msf auxiliary(msfcrawler) > exploit

Видно, что был запущен сканер, с помощью которого можно найти скрытые файлы на любом веб-сайте, например:


  • about.php
  • jquery contact form
  • html и т. д.
Читать дальше →
Total votes 12: ↑8 and ↓4+10
Comments5

Защита Linux-сервера. Что сделать в первую очередь

Reading time7 min
Views85K

Habib M’henni / Wikimedia Commons, CC BY-SA

В наше время поднять сервер на хостинге — дело пары минут и нескольких щелчков мыши. Но сразу после запуска он попадает во враждебную среду, потому что открыт для всего интернета как невинная девушка на рокерской дискотеке. Его быстро нащупают сканеры и обнаружат тысячи автоматически скриптовых ботов, которые рыскают по сети в поисках уязвимостей и неправильных конфигураций. Есть несколько вещей, которые следует сделать сразу после запуска, чтобы обеспечить базовую защиту.
Читать дальше →
Total votes 50: ↑43 and ↓7+52
Comments99

Как определить метрики для Управления инцидентами

Reading time4 min
Views5.8K

Еще одна компактная статься Стюарта Рейнса про то, чем измерять результативность процессов.

Оригинал Defining Metrics for Incident Management By Stuart Rance 

Опубликовано September 23, 2014 

Достоинства - хорошая иллюстрация декомпозита цели-показатели-метрики, качественный пример показателей, настойчивое напоминание о подходе  “адаптируй и применяй”

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

Сложность материала - базовая.

Оценка - 8/10.

Здесь и ниже курсовом комментарии переводчика.

Читать далее
Total votes 3: ↑2 and ↓1+2
Comments0

Веб-разработка с нуля: руководство для молодых команд по созданию инфраструктуры CI/CD и процесса разработки

Reading time12 min
Views32K

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


  • Проверка каждой ветки проходила локально. Приходилось откатывать базу от изменений с предыдущей проверки, билдить фронт. Когда несколько разработчиков вот-вот закончат работы и осталось проверить каждую по мелочи — это превращалось в ад;
  • Различались окружения на проде и между разработчиками, что приводило к ошибкам: “у меня всё работает”.

Внутренний перфекционист жаждал организовать всё правильно. Делюсь результатами поисков ответа на вопрос: «а как, собственно, “правильно”»?


Мы добились


  • Легкого и быстрого деплоя в production (ради эксперимента выводили каждый день две недели подряд);
  • Гарантию защищённости от ошибок из-за различий в окружении приложения;
  • Можем организовать эффективное взаимодействие с заказчиком:
    • демонстрировать каждую feature-ветку;
    • давать гостевой доступ для создания задач и наблюдения над ходом работ.

Данная статья будет полезна, если вы:


  • начинающая IT-компания или в первый раз столкнулись с работой в команде над большим проектом;
  • хотите обновить свой устаревший процесс разработки (workflow);
  • ищете лучшие практики и хотите посмотреть, как у других;
  • часто натыкаетесь на статьи про DevOps, CI/CD, облака и хотите, чтобы у вас одним нажатием кнопки создавались тестовые окружения, а очередное обновление прода не было рулеткой.

Под катом вы найдёте


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

Читать дальше →
Total votes 19: ↑18 and ↓1+28
Comments48

«Конституция» для разработчиков: как страничка на GitHub помогает нам не ругаться уже год

Reading time7 min
Views17K
Год назад моя команда выросла: усложнялась бизнес-логика, по сути, мы делились на три подкоманды — в каждой были как новички, так и те, кто работал в компании годами. Подкоманды сфокусировались на своих направлениях, и хотя все пилили биллинг, перестал работать принцип общей зоны ответственности. Да и практики, которые работали у «старичков», не всегда подходили новому коллективу.



Обычно для сплочения команд мы практикуем выезды: ребята, в остальное время работающие на удаленке из своих городов, собираются в одной точке мира. Днем вместе проходят часть спринта, вечером вместе развлекаются. Но сроки поджимали, поэтому мы пошли другим путем. Вот что мы придумали — и кажется, такой подход может использовать любая команда, в которой нет авторитарного управления.
Читать дальше →
Total votes 44: ↑42 and ↓2+51
Comments22

Графики в Vuejs

Reading time4 min
Views25K


Я доволен экосистемой Vue. Как и положено, ты не городишь велосипеды, а пользуешься готовыми плагинами, которые за тебя написали умные дядьки. Когда твоя задача слишком мелкая и локальная, чтобы под неё написали плагин — ты идёшь и ищешь готовые компоненты, и только если не находишь ничего подходящего, чешешь репу и садишься писать своё решение. Таков порядок вещей, и я изрядно удивился, когда за вечер тестов не смог нормально отобразить ни одного подходящего мне графика. Пришлось немного подумать и переписать все примеры с Chart.js, чтобы разобраться с графиками раз и навсегда. Результаты ниже.
Читать дальше →
Total votes 24: ↑19 and ↓5+21
Comments7

Реализация epoll, часть 4

Reading time5 min
Views2.5K
Это — последний материал из серии четырёх статей (часть 1, часть 2, часть 3), посвящённой реализации epoll. Тут речь пойдёт о том, как epoll передаёт события из пространства ядра в пользовательское пространство, и о том, как реализованы режимы срабатывания по фронту и по уровню.



Эта статья написана позже остальных. Когда я начинал работу над первым материалом, самой свежей стабильной версией ядра Linux была 3.16.1. А во время написания данной статьи это уже версия 4.1. Именно на коде этой версии ядра и основана данная статья. Код, правда, изменился не особенно сильно, поэтому читатели предыдущих статей могут не беспокоиться о том, что что-то в реализации epoll очень сильно изменилось.
Читать дальше →
Total votes 36: ↑36 and ↓0+36
Comments0

Information

Rating
Does not participate
Registered
Activity