Pull to refresh
2
0
Ruslan Gaifutdinov @ruslangaifutdinov

Технический аккаунт менеджер

Send message

DDIA book (книга с кабанчиком) — сделай level up в понимании баз данных

Reading time4 min
Views38K
Несколько месяцев назад на одной из ретроспектив мы решили попробовать совместное чтение.

Наш формат:

  1. Выбираем книгу.
  2. Определяем часть, которую необходимо прочитать за неделю. Выбираем небольшой объем.
  3. В пятницу обсуждаем прочитанное.
  4. Читаем в нерабочее время, обсуждаем в рабочее.
  5. После окончания книги совместно выбираем следующую.

Что дает:

  1. Мотивация на чтение и дочитывание.
  2. Развитие скиллов (в том числе на будущее).
  3. Выравнивание майндсета и терминологии в команде.
  4. Рост доверия.
  5. Лишний повод пообщаться.

Одна из недавних книг, которую мы читали — Designing Data-Intensive Applications. Да-да, та самая книга с кабанчиком. И эта книга настолько всем понравилась, что я решил сделать здесь обзор, чтобы большее количество людей ее прочитали.


Карта в исходном качестве
Читать дальше →

Основные инструменты для локальной разработки на Kubernetes

Level of difficultyEasy
Reading time4 min
Views5.4K

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

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

В статье рассмотрим пять основных инструментов.

Читать далее

5 признаков хорошей серверной стойки

Level of difficultyMedium
Reading time6 min
Views7.8K

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

Другая ситуация с серверными стойками. Если раньше на рынке широко был известен только один достойный отечественный бренд, то сейчас таких как минимум три, производство на самом деле локализовано, производители учитывают опыт ушедших лидеров рынка, а также обратную связь потребителей, в том числе и от специалистов Linx. Однако, как и в любом новом деле, в отечественных стойках встречаются «детские» болезни, которые становятся особенно очевидны при сравнении, например, с хорошо знакомыми нам стойками APC.

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

Читать далее

Идеальная PDU для ЦОД или «в поисках утраченного»

Level of difficultyMedium
Reading time7 min
Views5.7K

За последний год с рынка ушло много вендоров и продуктов. В том числе перестали поставляться и PDU бренда APC, которые мы традиционно использовали в нашем ЦОДе. Как все участники рынка, мы стали искать им замену. Недавно к нам на тест попали сразу два отечественных PDU, и мы решили, сохранив их анонимность, сравнить их с привычной нам APC.

Перед тем как начать сравнение, авторы хотели бы обратить внимание на то, что все изложенное является их личным мнением. Это мнение, хотя и основано на многолетнем опыте эксплуатации ЦОД, субъективно, поэтому допускаем, что у читателей и коллег может быть иная точка зрения и другие предпочтения в моделях и функционале «идеальной» PDU.

Читать далее

Идеальная PDU для ЦОД (часть 2), или размер имеет значение

Level of difficultyMedium
Reading time7 min
Views3.5K

В одной из наших прошлых публикаций мы сравнили три PDU. При этом нам удалось выделить две тенденции:

 Среди предоставленных нам PDU не было дорогих и дешевых, стоимость всех примерно 100 000 рублей (или 1000 USD). За эти деньги можно купить как достойный продукт, так и весьма средний.

Многие PDU, даже с хорошими характеристиками, имеют увеличенные габариты корпуса. Мы, в свою очередь, имея обратную связь от клиентов ЦОД, пришли к выводу, что именно габариты PDU это первый параметр, на который нужно смотреть при выборе PDU.

Читать далее

Обзор гипервизора Harvester 1.3.0

Level of difficultyMedium
Reading time6 min
Views6.3K

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

Что такое Harvester? Официально - A Cloud Native Open Source Hyper-converged Infrastructure. Если попробовать сказать простыми словами - то эта операционная система, которая предназначена для запуска и управления Kubernetes, виртуальных машин и система хранения данных (СХД). Вот такая иллюстрация на сайте Harvester:

Читать далее

Тестирование PT NGFW: ранняя версия межсетевого экрана нового поколения от Positive Technologies

Level of difficultyMedium
Reading time7 min
Views9.7K

В мае 2023 года наши партнёры из Positive Technologies объявили о скором выпуске PT NGFW и показали достаточно высокие цифры производительности. Российский рынок, который испытывает явный дефицит высокоскоростных межсетевых экранов нового поколения, воспринял анонс с большим энтузиазмом и сейчас ждет выхода коммерческой версии PT NGFW. Но команда Innostage предпочитает не верить на слово, а проверять все в собственной лаборатории, поэтому мы протестировали раннюю версию PT NGFW продукта и делимся с вами отчетом этих испытаний.

Читать далее

Как управлять Kubernetes с помощью Ansible

Reading time18 min
Views19K

Делимся переводом статьи об интеграции Kubernetes и Ansible. Из статьи вы узнаете, как подготовить среду для работы, как развернуть кластер Kubernetes с помощью Ansible, как управлять ресурсами Kubernetes и автоматизировать обновления. Кроме того, вы узнаете, как развернуть плейбук Ansible в Kubernetes на облачном провайдере и использовать Ansible для CI/CD в Kubernetes.

Читать далее

Разворачиваем среду для работы с микросервисами. Часть 1 установка Kubernetes HA на bare metal (Debian)

Reading time21 min
Views71K


Здравствуйте уважаемые читатели Хабра!


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


Данный цикл будет состоять минимум из четырех статей:


  1. В первой из них я расскажу, как на голое железо установить отказоустойчивый кластер kubernetes, как установить стандартный дашборд и настроить доступ к нему, как установить ingress контроллер.
  2. Во второй статье я расскажу, как развернуть отказоустойчивый кластер Ceph и как начать использовать RBD тома в нашем кластере Kubernetes. Также немного затрону остальные виды стораджей (storages) и более подробно рассмотрю local-storage. Дополнительно расскажу, как на базе созданного кластера CEPH организовать отказоустойчивое хранилище S3
  3. В третьей статье я расскажу, как в нашем кластере Kubernetes развернуть отказоустойчивый кластер MySql, а именно — Percona XtraDB Cluster on Kubernetes. И также опишу все проблемы с которыми мы столкнулись, когда решили перенести БД в kubernetes.
  4. В четвертой статье я постараюсь собрать все вместе и рассказать, как задеплоить и запустить приложение, которое будет использовать БД и тома ceph. Расскажу, как настроить ingress контроллер для доступа к нашему приложению извне и сервис автоматического заказа сертификатов от Let's Encrypt. Еще — как автоматически поддерживать данные сертификаты в актуальном состоянии. Также немного затронем тему RBAC в контексте доступа до панели управления. Расскажу в двух словах про Helm и его установку.
    Если Вам интересна информация данных публикаций, то — добро пожаловать!
Читать дальше →

Kerberos простыми словами

Level of difficultyMedium
Reading time46 min
Views65K

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

Данную статью я написал после того, как сделал собственную библиотеку, генерирующую сообщения протокола Kerberos, а также после того, как я протестировал «стандартный клиент» Kerberos в Windows — набор функций SSPI. Я научился тестировать произвольные конфигурации сервисов при всех возможных видах делегирования. Я нашёл способ, как выполнять пре‑аутентификацию в Windows как с применением имени пользователя и пароля, так и с помощью PKINIT. Я также сделал библиотеку, которая умещает «стандартный» код для запроса к SSPI в 3–5 строк вместо, скажем, 50-ти.

Хотя в названии статьи фигурирует «простыми словами» однако эта статья предполагает, что читатель уже имеет какое‑то представление о Kerberos.

Читать далее

Database, Data Warehouse и Data Lake: что это и когда следует использовать каждое?

Level of difficultyEasy
Reading time4 min
Views17K

Данных становится все больше. Важно уметь эффективно хранить и обрабатывать их для решения сложных бизнес-задач. Одним из первых шагов на пути к успешной стратегии является выбор технологии хранения, поиска, анализа и отчетности по данным. Как выбрать между базой данных, Data Warehouse и Data Lake? Рассмотрим ключевые различия и когда следует использовать каждое.

Читать далее

Гайд для новичков по установке Kubernetes

Level of difficultyMedium
Reading time33 min
Views96K

© кадр из к/ф «Пираты Карибского моря»

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

Мы потренируемся ставить как вырожденный кластер «все-в-одном», состоящий только из одного узла, так и настоящий высокодоступный (high available) кластер с полным резервированием. В процессе работы мы рассмотрим применение различных контейнерных движков (Container Runtimes): cri-o, containerd, связки Docker + cri-dockerd plugin. Кроме этого, потренируемся настраивать отказоустойчивый балансировщик нагрузки на базе keepalived и haproxy.

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

Основы работы с хранилищами в Kubernetes

Level of difficultyEasy
Reading time6 min
Views9.7K

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

В Kubernetes принято разделение хранилищ на два основных типа: постоянные и временные.

Постоянные хранилища (PV) представляют собой сегменты дискового пространства, которые могут быть подключены к подам и сохранять данные даже после перезапуска или удаления контейнеров. Эти объемы предоставляются через механизм Persistent Volume Claims, который позволяет юзерам и приложениям запрашивать хранилище определенного размера и класса, абстрагируясь от физической реализации хранилища.

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

Классификация хранилищ в Kubernetes не ограничивается только этим разделением. Существуют различные StorageClasses, которые позволяют определять классы хранилищ с разными характеристиками.

Также в Kubernetes реализован контейнерный интерфейс хранения.

Основы всего из этого рассмотрим в этой статье.

Читать далее

Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform

Reading time14 min
Views18K


Привет, Хабр! Меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложений и построения CI/CD-процессов вокруг него. Я постараюсь показать на практическом примере, который вы можете повторить сами, как развернуть за сравнительно небольшое время полноценный CI/CD с рабочим приложением, доступным для внешних пользователей.
Читать дальше →

Disaster Recovery Plan: Как правильно заваривать чай, когда горит серверная

Level of difficultyEasy
Reading time9 min
Views11K

Компания у нас на full-remote, поэтому заседание кружка параноиков мы проводим как-то так. Иногда под банджо в углу.

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

Насчет бобров, я, кстати, не шутил. В Канаде они перегрызли кабель и оставили целый район Tumbler Ridge без оптоволоконной связи. Причем, животные, как мне кажется, делают все для того, чтобы внезапно лишить вас доступа к вашим ресурсам:

Макаки жуют провода. Цикады принимают кабели за ветки, и расковыривают их, чтобы отложить внутрь яйца. Акулы жуют трансатлантические кабели Google. А в топе источника проблем для крупной телекоммуникационной компании Level 3 Communications вообще были белки.

Короче, рано или поздно, кто-то обязательно что-то сломает, уронит, или зальет неверный конфиг в самый неподходящий момент. И вот тут появляется то, что отличает компании, которые успешно переживают фатальную аварию от тех, кто бегает кругами и пытается восстановить рассыпавшуюся инфраструктуру - DRP. Вот о том, как правильно написать Disaster Recovery Plan я сегодня вам и расскажу.

Читать далее

Курс «PostgreSQL для начинающих»: #4 — Анализ запросов (ч.1 — как и зачем читать планы)

Level of difficultyMedium
Reading time16 min
Views45K

Продолжаю публикацию расширенных транскриптов лекционного курса "PostgreSQL для начинающих", подготовленного мной в рамках "Школы backend-разработчика" в "Тензоре".

В этой лекции мы узнаем, что такое план выполнения запроса, как и зачем его читать (и почему это совсем непросто), и о каких проблемах с производительностью базы он может сигнализировать. Разберем, что такое Seq Scan, Bitmap Heap Scan, Index Scan и почему Index Only Scan бывает нехорош, чем отличается Materialize от Memoize, а Gather Merge от "просто" Gather.

Как обычно, для предпочитающих смотреть и слушать, а не читать - доступна видеозапись (часть 1, часть 2) и слайды.

Читать далее

Бэкапы для самых маленьких и матерых

Level of difficultyEasy
Reading time9 min
Views16K

Представьте: вы недавно основали небольшое веб-приложение. Но только он стал расти как полноценный проект — Бац! — серверы легли, а данные не сохранились. Нужно было делать бэкапы. Казалось бы, совет достаточно простой и базовый, но какой тип резервного копирования выбрать? И как правильно к нему «подойти»?

Сегодня — международный день бэкапов. Кажется, это отличный повод, чтобы вспомнить, почему резервное копирование так важно, какое оно бывает и как его настроить. Подробности под катом!
Читать дальше →

Как работает etcd с Kubernetes и без него

Reading time23 min
Views23K

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

Этот перевод статьи от learnk8s познакомит вас с принципами работы etcd, чтобы вы могли глубже понять внутреннюю работу Kubernetes и получить дополнительные инструменты для устранения неполадок в вашем кластере. Мы установим и сломаем кластер etcd с тремя нодами и узнаем, почему Kubernetes использует etcd в качестве базы данных.

Читать далее

Давайте поговорим о Kubernetes

Level of difficultyMedium
Reading time12 min
Views15K

Всем привет! Меня зовут Андрей, я DevOps инженер.

Когда я начинал изучать Kubernetes (K8s), я перечитал много статей, и, что в статьях, что в документации, информация была сильно разрознена, обрывочна. Сложно было скомпоновать информацию в единое целое.

На тот момент, мне бы хотелось найти одну большую статью, пусть и не полностью, но достаточно подробно описывающую процессы управления кластером K8s, деплоя и обслуживания приложений в нём.

Примерно такую статью я постарался написать.

Читать далее

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity