Pull to refresh
1
0

WEB-программист, сетевой администратор

Send message

Введение в Traefik 2.0

Reading time13 min
Views134K

Traefik — это обратный прокси-сервер с открытым исходным кодом, обеспечивающий простую работу с микросервисами и/или просто контейнерами с вашими приложениями.


Обратный прокси-сервер (reverse proxy, реверс-прокси) служит для ретрансляции запросов из внешней сети к каким-либо серверам/сервисам внутренней сети (например веб-сервера, БД или файловые хранилища) и позволяет:


  • обеспечить сокрытие структуры внутренней сети и подробностей о находящейся в ней сервисах;
  • осуществлять балансировку нагрузки (load balancing) между экземплярами одного и того же сервиса или серверами с одинаковыми задачами;
  • обеспечить зашифрованное (HTTPS) соединение между клиентом и любым сервисом, в таком случае SSL сессия создается между клиентом и прокси, а между прокси и сервисом во внутренней сети устанавливается незашифрованное HTTP соединение, если сервис поддерживает HTTPS то можно организовать зашифрованное соединение и во внутренней сети;
  • организовать контроль доступа к сервисам (аутентификацию клиента), а также установить файрвол (брандмауэр).

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


image

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments31

Знакомство с хранилищем Ceph в картинках

Reading time11 min
Views280K
Облачные файловые хранилища продолжают набирать популярность, и требования к ним продолжают расти. Современные системы уже не в состоянии полностью удовлетворить все эти требования без значительных затрат ресурсов на поддержку и масштабирование этих систем. Под системой я подразумеваю кластер с тем или иным уровнем доступа к данным. Для пользователя важна надежность хранения и высокая доступность, чтобы файлы можно было всегда легко и быстро получить, а риск потери данных стремился к нулю. В свою очередь для поставщиков и администраторов таких хранилищ важна простота поддержки, масштабируемость и низкая стоимость аппаратных и программных компонентов.

Знакомьтесь: Ceph


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



При выходе любого диска, узла или группы узлов из строя Ceph не только обеспечит сохранность данных, но и сам восстановит утраченные копии на других узлах до тех пор, пока вышедшие из строя узлы или диски не заменят на рабочие. При этом ребилд происходит без секунды простоя и прозрачно для клиентов.
Читать дальше →
Total votes 44: ↑42 and ↓2+40
Comments67

Визуализируй это: как я обучаю джунов и ставлю задачи через диаграммы и графики

Level of difficultyEasy
Reading time7 min
Views5.5K

Привет, меня зовут Сергей, я ведущий разработчик в DDoS-Guard и человек из мемов xkcd, который любит всё экстраполировать, истовый фанат визуализации данных. Диаграммы и графики решают кучу моих проблем с онбордингом джунов и объяснением задачи исполнителям. 

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

Читать далее
Total votes 11: ↑12 and ↓-1+13
Comments3

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views29K

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

Читать далее
Total votes 78: ↑79 and ↓-1+80
Comments44

Привычка быть SOLIDным разработчиком

Level of difficultyMedium
Reading time20 min
Views10K

Привет, Хабр! Меня зовут Грант, я уже 5 лет занимаюсь backend-разработкой в SimbirSoft, а с 2021 года возглавляю Backend-отдел компании в Краснодаре. В последние несколько лет неоднократно замечаю, что на входном интервью соискатели часто путают принципы разработки. Поэтому в этой статье решил разобрать, как проще их понимать, какие связи между ними прослеживаются, стоит ли учить все или что-то можно пропустить. А еще попробую раскрыть некоторые особенности, какие секреты скрывают популярные принципы разработки.

Погрузиться 👀
Total votes 14: ↑12 and ↓2+10
Comments5

Как настроить работу на Канбан-досках с нуля за 15 минут? Руководство для начинающих

Level of difficultyEasy
Reading time6 min
Views9K

На канбан-досках могут быть различные виды задач, в зависимости от конкретного проекта, типа бизнеса или потребностей команды. В этой статье разберём основы ведения учета задач на Канбан-доске, необходимые колонки, виды и типы задач, в том числе Epic, userstory, task.

Читать далее
Total votes 9: ↑8 and ↓1+7
Comments5

Bash-completion: как сделать удобно в CLI

Level of difficultyMedium
Reading time6 min
Views4.4K

Так получилось что в рамках моей основной деятельности пришла пора сделать сервис для манипуляции с ресурсами СХД для виртуальных машин (ВМ). Они подаются в SAN в виде "LUN" ("Logical Unit Number"). Пока речь шла о десятках .. первых сотнях LUN, хватало моего старого решения (оно изначально про телефонию и блок-схемы, но на самом деле всё равно подо что делать очередной модуль). А потом он рос, рос, и…

Читать далее
Total votes 8: ↑8.5 and ↓-0.5+9
Comments4

Радиоэфир без регистрации и СМС

Level of difficultyEasy
Reading time23 min
Views23K

Пост для тех, кто любит радиосвязь, но не радиолюбитель с позывным

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

В старшем возрасте я понял, что могу позволить завалить себя радейками и время от времени покупал различные недорогие модели, которые выбирал лишь по цене и внешнему виду. Но на удивление связать серенькие радиостанции с фиолетовыми или чёрными не получалось, даже если выбрать один и тот же номер канала. Пришлось разбираться, и всё оказалось куда сложнее, чем просто выбрать переключателем номер канала и нажать кнопку PTT (Push-To-Talk). Ну и осложнилось всё задачей не получить по шапке за эфир на частотах, где не следует этого делать. Для прояснения ситуации для начинающих и создан этот пост.
Читать дальше →
Total votes 84: ↑95 and ↓-11+106
Comments93

Настраиваем приватный Docker-репозиторий

Reading time3 min
Views81K

Docker одна из горячих тем в разработке. Большинство новых проектов строится именно на Docker. Как минимум, он отлично зарекомендовал себя для распространения ПО, например, наша система поиска по документам Ambar устанавливается с помощью docker-compose.


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

Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments14

Работа с Kubernetes: поднимаем локальный кластер и деплоим в него приложения

Reading time5 min
Views12K

Павел Агалецкий, ведущий разработчик юнита Platform as a Service Авито, написал, как поднять кластер Kubernetes на локальном компьютере Mac с помощью подручных инструментов, а потом задеплоить в него простейшие приложения.

Читать далее
Total votes 13: ↑11 and ↓2+9
Comments5

Настраиваем логирование с помощью Loki и Grafana

Level of difficultyEasy
Reading time6 min
Views12K

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

Читать далее
Total votes 16: ↑15 and ↓1+14
Comments6

Исследование деградации Li-ion аккумуляторов в результате “быстрой” зарядки

Level of difficultyEasy
Reading time4 min
Views91K

Задача выяснить, как влияет “быстрая” зарядка на скорость деградации Li-ion аккумуляторов в устройствах с высоким током потребления.

В рамках исследования провел ряд экспериментов. Эксперимент заключается в зарядке аккумулятора током в 4-5 раз выше номинального. Номинальный ток заряда для исследуемых аккумуляторов от 2 до 5А, я буду использовать ток 20А.
В результате эксперимента будет видно, как “быстрая” зарядка увеличивает скорость деградации аккумуляторов.

В качестве испытуемых выбраны Li-ion аккумуляторы Sanyo NSX и LG 18650HG2 в формфакторе 18650.Выбор формфактора обусловлен тем, что именно данный они чаще всего применяется в устройствах с высоким током потребления. А именно: аккумуляторный электроинструмент, электронные сигареты, мощные фонари и некоторые виды электротранспорта.

Читать далее
Total votes 122: ↑119 and ↓3+116
Comments132

Hello-Packet. Быстрая идентификация mikrotik

Level of difficultyEasy
Reading time2 min
Views4K

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

Часто бывает так, что администратор, ответственный за управление сетью в каком-либо филиале, звонит с просьбой о срочной помощи по настройке Ethernet портов, VLAN или Wi-Fi. Он может быть не знаком с моделью роутера, ничего не подписано, и обстановка выглядит довольно запутанно. В таких ситуациях возникают вопросы, особенно если у вас много дел и задача требует немедленного решения.

Процедура идентификации осуществляется путем отправки письма на электронную почту, содержащего следующую информацию: имя устройства, IP-адреса интерфейсов, DynDNS, и время срабатывания. Пользователь нажимает кнопку "MODE", после чего роутер издает одиночный звуковой сигнал, затем собирает данные и отправляет их по протоколу SMTP на указанный адрес. Таким образом, нужный роутер определен, и в общем уравнении остается меньше неизвестных, что позволяет продолжить работу без лишних препятствий.

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

Апгрейд карьеры: как расти внутри компании

Level of difficultyEasy
Reading time10 min
Views8.5K

Что делать, если хочется изменить роль, траекторию профессионального развития, а менять работу не хочется?

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

Читать далее
Total votes 11: ↑8 and ↓3+5
Comments7

Настройка CI/CD для самых маленьких разработчиков

Level of difficultyEasy
Reading time8 min
Views32K

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments40

Как совмещать основную работу и проекты на стороне

Level of difficultyEasy
Reading time5 min
Views47K

У многих из нас остается достаточно свободного времени в сутках. А почему бы не монетизировать это время, думает начинающий IT левак? Если работать по три часа в день в будние, брать по 2 тысячи за час, то получится 120 тысяч дополнительного дохода в месяц. Звучит отлично!

Меня зовут Даниил, и я через выгорание, увольнение, споры с заказчиками и успешные проекты научился совмещать карьеру в компании и ведение проектов на стороне.

Читать далее
Total votes 111: ↑109 and ↓2+107
Comments48

Почтовый сервер с нуля. Часть первая

Level of difficultyMedium
Reading time17 min
Views24K

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

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments26

Шпаргалка для алгособеса 2 — графовые и строковые алгоритмы

Level of difficultyMedium
Reading time22 min
Views20K

Привет, Хабр!

В наше неспокойное время, когда сфера AI стремительно движется вперёд, хочется немного стабильности и уверенности в завтрашнем дне. Как это связано с темой статьи?

Самым прямым образом — алгоритмы прокачивают умение системно мыслить, искать нестандартные пути решения; человека, у которого эти скиллы на высоте, вряд ли заменит ИИ. Так что, тратя бесценное время на алгоритмы, вы занимаетесь очень полезным делом, расслабьтесь и получайте удовольствие) В качестве бонуса к прокачиванию серого вещества вы получите сверхспособность пройти любой алгособес в FAANG и удовлетворить любые потребности пирамиды Маслоу — довольно приятно)

В этой статье мы разберём графовые алгоритмы типо DFS, Флойда–Уоршелла и строковые наподобие Ахо-Корасик.

Читать далее
Total votes 41: ↑39 and ↓2+37
Comments35

Сложные проекты для программистов, чтобы учиться новому

Level of difficultyEasy
Reading time6 min
Views28K

В основном я учился программированию самостоятельно. Когда у меня появлялась захватывающая идея, я разбирался, что необходимо для решения этой задачи. Например, когда я заинтересовался работой поисковых движков, то начал читать о вычислительной эффективности множеств. Так я обнаружил задачу «как понять, что я уже выполнил краулинг этого URL?», если их уже были тысячи. Чтобы ускорить ответ на этот вопрос, я использовал множество, поиск по которому занимает O(1), а не O(n).

Изучение того, что нужно для решения задачи, увлекательно, но при движении по собственному пути в кодинге в твоих знаниях остаются пробелы. Мне кажется, что если постоянно ставить перед собой сложные задачи, то эти пробелы будут заполняться по ходу. (Даже если это займёт больше времени, чем при прохождении курса. Интерес — важный мотиватор движения вперёд; стремитесь к тому, что любопытно вам.)

В тот момент, когда я начал понимать вычислительную эффективность и стремиться к ускорению своих программ, я как раз решал задачу, связанную с поисковым движком. С тех пор я иногда задаюсь вопросом: что стоит сделать дальше? Каким будет моё следующее сложное задание? Это сильно зависит от имеющихся у вас на текущий момент знаний; некоторые идеи имеют смысл, другие пока недостижимы. Так мы и учимся.

Я решил составить собственный список проектов, поддерживающих мой интерес к программированию. Это список в стиле серии Challenging projects every programmer should try Остина Хенли.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments8

Сканируем сеть. Собираем информацию об организациях

Reading time7 min
Views13K

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

Дисклеймер: Все данные, предоставленные в данной статье, взяты из открытых источников, не призывают к действию и являются только лишь данными для ознакомления, и изучения механизмов используемых технологий.

Читать далее
Total votes 11: ↑10 and ↓1+9
Comments3
1
23 ...

Information

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