Search
Write a publication
Pull to refresh
22
0
Александр @alexkuzko

DevOps, системный администратор, архитектор, лид

Send message

BMW ConnectedDrive или «об этом можно долго рассказывать»

Reading time20 min
Views89K
Если говорить про современные автомобили BMW, то на том же YouTube можно найти обзор любой из моделей — там расскажут всё про двигатель, внешний вид, удобства салона и даже про ездовые характеристики. Но есть одна тема, которую почти никогда не затрагивают, а если речь и заходит о ней, то очень поверхностно. «В следующем разделе меню находятся сервисы ConnectedDrive, об этом можно долго рассказывать» и множество других вариантов ухода от темы.



Наверное вы уже догадались, о чём пойдёт речь под катом? :)  

Мониторинг производительности дисковой подсистемы при помощи zabbix и block stat

Reading time5 min
Views42K
Вряд ли кто-то будет спорить, что наблюдение за производительностью дисковой подсистемы — чуть ли не важнейшая задача для всех высоконагруженных систем хранения и баз данных. Я изначально столкнулся с этим давным-давно, еще когда приходилось наблюдать за PostgreSQL. В последнее время вернулся к этому вопросу в связи с необходимостью тестирования различных хранилищ.

Сегодня хочу поделиться с сообществом своим текущим опытом на реальном примере zabbix и его связке с block stat.


Читать дальше →

CI/CD-пайплайн на примере одного небольшого проекта Уральской Дирекции ИТ

Reading time11 min
Views55K
Действующие лица (Команда): разработчиков – 2 человека, админ – 1 человек.

Статья повествует об использовании таких технологий, как Ansible, Docker Swarm, Jenkins и Portainer для реализации CI/CD-пайплайна с возможностью контроля за ним с помощью красивого веб-интерфейса.



Вступление


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

С другой стороны, есть бизнес, который хочет денег, да побольше, и поэтому постоянно думает о снижении времени вывода продукта на рынок. Другими словами, бизнес мечтает об ускорении получения MVP (a.k.a. Minimum Viable Product) в новых продуктах или при обновлении существующих.

Ну а чего же хочет админ? А админ – человек простой, он хочет, чтобы сервис не падал и не мешал играть в Кваку Танки и чтобы его пореже дергали разработчики и бизнес.
Поскольку для реализации желаний админа, как показывает правда жизни, его силами должны реализоваться и мечты других героев, представители ИТ-тусовки много работали над этим. Часто получалось достичь желаемого, придерживаясь методологии DevOps и реализуя принципы CI/CD (Continuous Integration and Delivery).

Так получилось в одном небольшом новом проекте в Уральской Дирекции ИТ, в которой удалось в весьма сжатые сроки реализовать полный пайплайн от публикации изменений исходников в системе контроля версии разработчиком до автоматического запуска новой версии приложения в тестовой среде.
Читать дальше →

Ищем причины тормозов БД, используя sys schema в MySQL 5.7

Reading time3 min
Views15K
Есть у нас веб-приложение. Относительно большое и старое — много-много кода, в котором много-много разных запросов к базе данных. При этом мы не гугл, но несколько тысяч запросов в секунду на сервер БД приходится.

Ну и безусловно растёт наше приложение во все стороны — добавляются новые фичи, наворачиваются и усложняются старые, растёт количество клиентов и соответственно количество данных в БД. И в один не очень прекрасный момент приходит понимание, что что-то наше приложение тормозит. А значит надо или найти, что именно нагружает БД, хотя могло бы не нагружать, ну или если ничего такого нет, то взять ещё серверов побольше, да помощнее.

Стандартный совет как найти, что нагружает MySQL — включить slow-query-log и посмотреть, какие запросы будут туда попадать. Но в MySQL 5.7 по умолчанию присутствует куда лучший инструмент — sys schema, которая агрегирует данные из performance schema и позволяет их получить простыми запросами, буквально вида «Ok, MySQL, покажи мне топ запросов по максимальному суммарному времени выполнения»
Читать дальше →

Окружение для 1С-Битрикс на базе Docker

Reading time2 min
Views19K

Зачем это нужно?


Долгое время все проекты нашей компании работали на PHP5, и вот возникло желание их ускорить путём перехода на PHP7, попутно обновиви всё окружение, необходимое для работы. Сразу возник вопрос: «Как заставить разные проекты работать на разных версиях PHP?»

Что пришло в голову:

  1. Содержать 2 разных сервера
  2. Использовать виртуальную машину
  3. Применить Docker

Вариант 1, очевидно экономически не выгоден. Вариант 2 мы посчитали сложным в настройке и слишком ресурсоёмким. С этим многие, наверное, не согласятся, однако, мы приняли решение использовать технологию Docker, ввиду её легковесности и простоты переноса приложений. Главным критерием выбора стало то, что Docker решает проблему «works on my machine».
Читать дальше →

И ели они долго и счастливо: еда сегодня и завтра

Reading time12 min
Views19K


«Всё хорошо в меру» — этот постулат относится к вечным ценностям. Но давайте посмотрим правде в глаза: кое-чего лучше вообще избегать. Это относится и к веществам, которые сегодня массово используются при производстве продуктов питания. Собственно, большую часть из них даже нельзя, строго говоря, считать едой. Пищевые технологи научились подменять самые, казалось бы, привычные продукты правдоподобными подделками, а индустрия оперирует тысячами наименований, начиная от искусственных красителей и заканчивая соединениями, произнести названия которых могут только кандидаты химических наук. В обычных условиях вы не стали бы даже трогать это, а не то что пробовать. Хотя вся эта дрянь и заполонила прилавки, радуя глаз ложным изобилием, это ещё не значит, что её стоит покупать и есть.


Под катом — вопиющие примеры того, как некоторые продукты питания являются по своему составу вовсе не тем, чем должны быть.

Читать дальше →

Пряморукий DNS: делаем правильно

Reading time16 min
Views159K
Представляем вашему вниманию очень эмоциональный рассказ Льва Николаева (@maniaque) о том, как надо настраивать DNS и особенно, как делать не надо. Вот прямо после каждого пункта можете мысленно добавлять: «Пожалуйста, не делайте этого!» В своем докладе Лев так и говорит.

Статья будет состоять из трех частей:

1. Как сделать резольвер (unbound, bind)

Резольвер — это та штука, которую вы прописываете в настройках своей операционной системы, чтобы можно было превращать понятные человеку адреса типа ya.ru в непонятное 87.250.250.242.

2. Как держать зоны (PowerDNS)

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

3. Как взболтать, но не смешивать (PowerDNS + unbound)


Nextcloud Talk

Reading time5 min
Views53K
Иконка Nextcloud Talk в App Store

Talk — это расширение платформы Nextcloud, позволяет совершать защищенные аудио и видеозвонки, а также обмениваться текстовыми сообщениями через веб-интерфейс или мобильное приложение Nextcloud Talk. Для связи собеседников используется WebRTC, а для защиты передаваемой информации — end-to-end шифрование. Все компоненты Nextcloud Talk открыты.

Посты о Nextcloud на Хабре можно пересчитать по пальцам, и в них нет ни слова о Nextcloud Talk, поэтому я решил заполнить этот пробел. Под катом расскажу, как узнал о Nextcloud, Spreed.ME, Spreed и Talk, как тестировал Talk и с какими проблемами столкнулся при установке и настройке Talk.
Читать дальше →

Кто живёт у нас на лице

Reading time5 min
Views141K

Клещ демодекс, например. Чаще всего десантируется на кожу век из настенных ковров.

На вашем лице живёт сапрофитная флора фауна — микроорганизмы, которые питаются мёртвыми клетками эпителия. Если взять «здорового» человека, то при желании на его лице найдутся и железница (клещ демодекс), и колония эпидермального стафилококка в количестве до 105, и акне в небольших количествах. Тот же клещ демодекс передвигается под кожей, достигает 0,4 мм в диаметре. Шанс — 100% за 70 лет.

Пугаться не надо. Меньше 5 клещей на квадратный сантиметр — медицинская норма. Кожа чувствует себя хорошо. А вот если появились, например, угри — это повод обратиться к врачу. Иначе есть реальный шанс попасть в порочный круг: рост популяции паразита вызовет угревую сыпь, а она поспособствует ещё большему размножению клеща. Потому что в угрях клещ чувствует себя тепло и прельстиво.

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

Читать дальше →

Правительство планирует ограничить анонимные электронные платежи

Reading time3 min
Views12K
Сегодня стало известно о том, что профильные ведомства готовят по поручению правительства поправки к законодательству. Их суть — ограничение анонимных электронных платежей. Россияне получат возможность зачислять средства на электронные кошельки и предоплаченные банковские карты лишь с банковского счета. Насколько можно понять, ограничения могут быть достаточно жесткими, пишет «Коммерсант».

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

Использование Grafana с IoT-платформой DeviceHive

Reading time5 min
Views5.5K


Авторы: Игорь Трамбовецкий, Developer; Николай Хабаров, Embedded Expert

Платформа DeviceHive содержит множество различных компонентов, включая плагин Grafana. Он может собирать данные с сервера DeviceHive и отображать их с помощью различных информационных панелей, используя популярный инструмент Grafana. В этой статье я объясню, как создать дашборд Grafana с DeviceHive, а в качестве примера использую аналоговый вход чипа ESP8266 для визуализации напряжения на нем.

Читать дальше →

Система сбора, анализа, уведомлений и визуализации логов на syslog-ng, elasticsearch, kibana, grafana, elasticalert

Reading time34 min
Views131K

image


Что мы получим после этой статьи:


Систему сбора и анализа логов на syslog-ng, elasticsearch в качестве хранилища данных, kibana и grafana в качестве систем визуализации данных, kibana для удобного поиска по логам, elasticalert для отправки уведомлений по событиям. Приготовьтесь, туториал объемный.


Какие логи будем собирать:


  • все системные логи разложенные по индексам в зависимости от их facility(auth,syslog,messages и т.д.);
  • логи nginx — access и error;
  • логи pm2;
  • и др.

Обоснование выбора системы


Почему я выбрал связку с syslog-ng в качестве отправителя, парсера и приемщика логов? Да потому что он очень быстрый, надежный, не требовательный к ресурсам(да да — logstash в качестве агентов на серверах и виртуальных машинах просто убожество в плане пожирания ресурсов и требованием java), с внятным синтаксисом конфигов(вы видели rsyslog? — это тихий ужас), с широкими возможностями — парсинг, фильтрация, большое количество хранилищ данных(postgresql,mysql,elasticsearch,files и т.д.), буферизация(upd не поддерживает буферизацию), сторонние модули и другие фишки.


Требования:


  • Ubuntu 16.04 или debian 8-9;
  • vm для развертывания;
  • Прямые руки.

Приступим или добро пожаловать под кат

Читать дальше →

«Взломайте нас, чтобы было красиво»

Reading time6 min
Views35K


Дисклеймер


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


Мы попытаемся обратить внимание на то, что считаем проблемой современного российского рынка услуг в сфере информационной безопасности.


Введение


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


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


Далее в ходе обсуждения выяснилось, что до этого под названием «пентест» заказчику продавали сканирование внутренней сети при помощи «nmap» с параметром «--script vuln». Естественно, в очередной раз заказчик ожидал от пентестеров подобного поведения и искренне удивился, когда они начали захватывать его контроллер домена.

Читать дальше →

Сборка и дeплой приложений в Kubernetes с помощью dapp и GitLab CI

Reading time7 min
Views27K


В предыдущих статьях о dapp было рассказано про сборку приложений и про запуск в Minikube. При этом dapp запускался локально на машине разработчика. Однако инструмент задумывался для поддержки процессов непрерывной интеграции (CI) и сами мы используем его в основном в связке с GitLab. Чем dapp помогает в процессах CI/CD?
Читать дальше →

Из засилья карликовых шпицев туда, где домоседу хочется гулять (1.5 месяца в Испании)

Reading time5 min
Views7.4K

Набережная Бланеса. Знак понятен и без знания испанского.

Не так давно провёл полтора месяца в Испании. За это время я излечился от домоседства, застал каталонский референдум, попал в детство, научился отличать испанский от каталанского, сделал предложение, нашёл на улице дефибриллятор и успокаивал девушку после столкновения с полуметровой медузой.
Читать дальше →

Непрерывная интеграция и развертывание Docker в GitLab CI

Reading time20 min
Views76K
В этом руководстве рассмотрим вариант настройки непрерывной интеграции и развертывания Flask приложения на Docker Swarm через GitLab CI.

Сначала мы рассмотрим настройку рабочей среды, включая создание серверов для нодов Docker Swarm. Затем создадим простое приложение Flask с Redis и подготовим GitLab CI для непрерывной доставки.
Читать дальше →

Двенадцать советов по повышению безопасности Linux

Reading time8 min
Views55K
imageМы живём в опасное время: едва ли не каждый день обнаруживаются новые уязвимости, на их основе создают эксплойты, под ударом может оказаться и обычный домашний компьютер на Linux, и сервер, от которого зависит огромная организация.

Возможно, вы уделяете внимание безопасности и периодически обновляете систему, но обычно этого недостаточно. Поэтому сегодня мы поделимся двенадцатью советами по повышению безопасности Linux-систем на примере CentOS 7.
Читать дальше →

Четыре типажа программистов

Reading time17 min
Views217K

Привет.


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

Читать дальше →

Создаем самодостаточный Docker-кластер

Reading time12 min
Views27K

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


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


Если вы хорошо разбираетесь в теме и хотите сразу всё понять, то система изображено на рисунке ниже.


self-sufficient-system

Читать дальше →

Большой FAQ про разные виды коррекции зрения: все вопросы гиков в одном месте

Reading time29 min
Views186K
Ниже – прямое сравнение видов коррекции (операций) с удобной сводкой по возможным осложнениям и применимости, плюс море других вопросов от профессиональных параноиков: от «что будет, если махнуть головой во время операции» до «а отдадут ли мне ткань, которую вынули из моего глаза» и «что будет в старости с моим зрением».

– Что лучше: очки, линзы или лазерная коррекция?

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

– Я решил остановиться на очках, но боюсь, что мне в лицо откроется подушка автомобиля и они станут контактными линзами. Что делать?

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

Если вы видите плохо и не надеваете очки, то вы теряете часть информации об окружающем мире и при этом создаёте дополнительную нагрузку на зрительный аппарат. Есть проблема – нужна оптическая коррекция. А испортить глаза очками можно, как один из наших коллег из клиники в г. Марбурге – он уснул в стеклянных очках за компьютером дома, упал лицом на клавиатуру, и осколок стекла вошёл в хрусталик. В итоге сначала заменили хрусталик, потом через год понадобилась трансплантация.
Читать дальше →

Information

Rating
7,301-st
Location
Минск, Минская обл., Беларусь
Registered
Activity

Specialization

DevOps, Site Reliability Engineer (SRE)
Lead
Kubernetes
Windows Azure
AWS
Google Cloud Platform