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

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

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

Апгрейд для ленивых: как PostgreSQL 12 повышает производительность

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

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


По-моему, в отличие от прошлых выпусков, PostgreSQL 12 не содержит одной-двух революционных функций (как, например, секционирование или параллелизм запросов). Я как-то пошутил, что главная фишка PostgreSQL 12 — в большей стабильности. А разве не это нужно, когда вы управляете критически важными данными вашего бизнеса?


Но PostgreSQL 12 этим не ограничивается: с новыми возможностями и усовершенствованиями приложения будут работать лучше, а от вас всего-навсего требуется сделать апгрейд!


(Ну, может, еще индексы перестроить, но в этом релизе это не так страшно, как мы привыкли.)

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

GitLab 12.2: направленные ациклические графы для пайплайнов и управление дизайном

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


Потрясающий выпуск GitLab 12.2 поможет командам оптимизировать пайплайны, расширить возможности совместной работы и управлять взаимозависимостями между проектами. Подробности ниже.


Более быстрые и гибкие пайплайны


Пайплайны CI нужны для автоматизации задач сборки и тестирования, чтобы ускорить поставку ПО и избежать ошибок, присущих обработке вручную. Но в некоторых случаях эффективность пайплайнов GitLab CI/CD далека от идеала. GitLab 12.2 теперь поддерживает направленные ациклические графы (DAG), чтобы создавать зависимости детализированных заданий и управлять ими, а не полагаться на последовательные этапы. Это суперэффективный инструмент, с которым ваши пайплайны CI станут работать быстрее и продуктивнее.

Всего голосов 25: ↑24 и ↓1+23
Комментарии5

Хранилища в Kubernetes: OpenEBS vs Rook (Ceph) vs Rancher Longhorn vs StorageOS vs Robin vs Portworx vs Linstor

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


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


Если честно, я сдался и отказался от Kubernetes (во всяком случае, пока). Буду использовать Heroku. Почему? Из-за хранения! Кто бы мог подумать, что я буду больше возиться с хранилищами, чем с самим Kubernetes. Я использую Hetzner Cloud, потому что это недорого и производительность хорошая, и с самого начала я развертывал кластеры с помощью Rancher. Я не пробовал управляемые сервисы Kubernetes от Google/Amazon/Microsoft/DigitalOcean и проч., проч., потому что всему хотел научиться сам. А еще я экономный.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии4

Настраиваем Out-Of-Memory Killer в Linux для PostgreSQL

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


Когда в Linux сервер базы данных непредвиденно завершает работу, нужно найти причину. Причин может быть несколько. Например, SIGSEGV — сбой из-за бага в бэкенд-сервере. Но это редкость. Чаще всего просто заканчивается пространство на диске или память. Если закончилось пространство на диске, выход один — освободить место и перезапустить базу данных.


Out-Of-Memory Killer


Когда у сервера или процесса заканчивается память, Linux предлагает 2 пути решения: обрушить всю систему или завершить процесс (приложение), который съедает память. Лучше, конечно, завершить процесс и спасти ОС от аварийного завершения. В двух словах, Out-Of-Memory Killer — это процесс, который завершает приложение, чтобы спасти ядро от сбоя. Он жертвует приложением, чтобы сохранить работу ОС. Давайте сначала обсудим, как работает OOM и как его контролировать, а потом посмотрим, как OOM Killer решает, какое приложение завершить.

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

Слияние OpenTracing и OpenCensus: путь к конвергенции

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


Авторы: Тед Янг, Притам Шах и «Комитет технических спецификаций» (Карлос Альберто, Богдан Друту, Сергей Канжелев и Юрий Шкуро).


Совместный проект обзавелся названием: http://opentelemetry.io


Очень, очень коротко:

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

Kubernetes tips and tricks: как повысить продуктивность

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


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


Вот вам полезные советы, как быстрее кодить и деплоить в Kubernetes.

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

Как Dark развертывает код за 50 мс

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


Чем быстрее процесс разработки, тем быстрее развивается технологическая компания.


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


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


От скорости этих пайплайнов зависит скорость разработки. У лучших команд развертывание занимает 5–10 минут, но обычно все делается гораздо дольше, и для одного развертывания требуется несколько часов.

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

Подробности сбоя в Cloudflare 2 июля 2019 года

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


Почти 9 лет назад Cloudflare была крошечной компанией, а я не работал в ней, был просто клиентом. Через месяц после запуска Cloudflare я получил оповещение о том, что на моем сайтике jgc.org, похоже, не работает DNS. В Cloudflare внесли изменение в Protocol Buffers, а там был поломанный DNS.

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

Настройка PHP-FPM: используем pm static для максимальной производительности

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


Неотредактированная версия статьи была изначально опубликована на haydenjames.io и публикуется здесь с разрешения ее автора.


Я в двух словах расскажу, как лучше всего настроить PHP-FPM, чтобы увеличить пропускную способность, снизить задержку и более стабильно использовать процессорные ресурсы и память. По умолчанию строка PM (process manager, менеджер процессов) в PHP-FPM имеет значение dynamic, а если у вас не хватает памяти, то лучше установить ondemand. Давайте сравним 2 варианта управления на основе документации php.net и посмотрим, чем от них отличается мой любимый static pm для большого объема трафика:


pm = dynamic — количество дочерних процессов настраивается динамически на основе следующих директив: pm.max_children, pm.start_servers,pm.min_spare_servers, pm.max_spare_servers.
pm = ondemand — процессы создаются по требованию (в отличие от динамического создания, когда pm.start_servers запускаются при запуске сервиса).
pm = static — количество дочерних процессов фиксировано и указывается параметром pm.max_children.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии1

Создаем инфраструктуру как код с GitLab и Ansible

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


Вся мощь GitLab CI в демонстрации плейбуков Ansible при подходе «инфраструктура как код».


GitLab CI — это эффективный инструмент для самых разных сценариев, включая инфраструктуру как код. GitLab можно использовать с разными инструментами, но в этой демонстрации мы возьмем Ansible, потому что именно его чаще всего используют разработчики при подходе «инфраструктура как код». Вот демо с двумя маршрутизаторами из курса по сетям Ansible.

Всего голосов 27: ↑26 и ↓1+25
Комментарии10

Резервное копирование, часть 5: Тестирование Bacula и Veeam Backup for Linux

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


В данной заметке будут рассматриваться различные "большие" программные средства для резервного копирования, включая коммерческие. Список кандидатов: Veeam Agent для Linux, Bacula.


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


Ожидаемые результаты


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

Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии19

GitLab: с выходом версии 12.1 мы прекращаем поддержку MySQL

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


Сейчас мы расскажем, почему, начиная с версии 12.1, GitLab перестанет поддерживать MySQL.


В июле 2017 GitLab предупредил, что прекратит поддержку MySQL. Так вот, с выпуском 12.1 период подготовки к этому завершится, и больше мы MySQL поддерживать не будем. Решение непростое, и мы хотели бы поделиться доводами.

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

Развертывание приложений на нескольких кластерах Kubernetes с Helm

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


Как Dailymotion использует Kubernetes: развертывание приложений


Мы в Dailymotion начали использовать Kubernetes в продакшене 3 года назад. Но развертывать приложения на нескольких кластерах то еще удовольствие, поэтому в последние несколько лет мы старались улучшить наши инструменты и рабочие процессы.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии1

Непрерывная репликация из старой в новую версию PostgreSQL с помощью Slony

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


Нативная потоковая репликация в PostgreSQL работает только между серверами с одинаковой основной версией. О логической репликации мы говорили в предыдущем посте. Мы увидели, как логическая репликация помогает перенести данные из одной версии PostgreSQL в другую. Но логическая репликация подходит только для поддерживаемых версий PostgreSQL, например, для PostgreSQL 9.4 и PostgreSQL 11. Что делать с версиями до 9.4? Использовать Slony-I.


Используйте репликацию с помощью Slony-I, чтобы перенести данные из старых баз в последнюю версию PostgreSQL. Что такое Slony и как он работает?

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

Новый GitLab 12.0 с визуальными ревью и списком зависимостей

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


Dev, Sec и Ops


GitLab 12.0 — это ключевой выпуск на пути к реализации подхода, который будет охватывать все элементы DevSecOps и позволит всем вносить свой вклад.


У нас был очень увлекательный год — мы много работали над решением, которое объединило бы все команды. Сообщество внесло тысячи дополнений, чтобы GitLab стал еще круче.



Мы верим, что каждый может внести свой вклад, поэтому добавили функции для сотрудничества между разными командами, быстрой поставки отличного кода и объединения Dev, Sec и Ops.

Всего голосов 20: ↑19 и ↓1+18
Комментарии3

Как Verizon и BGP Optimizer устроили большой оффлайн

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


Крупная утечка маршрутов повлияла на большие секторы интернета, включая Cloudflare


Что случилось?


24.06 в 10:30 UTC в интернете случился коллапс: на небольшую компанию на севере Пенсильвании хлынул поток трафика из множества маршрутов, проходящих через крупного провайдера Verizon (AS701), — с тем же успехом навигатор мог бы отправить поток машин с многополосного шоссе на узкую улочку. В результате у многих веб-сайтов на Cloudflare и многих других провайдеров возникли проблемы с доступом. Этого вообще не должно было произойти, ведь Verizon не должен был рассылать эти маршруты всему интернету. Чтобы узнать, как так вышло, читайте дальше.

Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии12

Логическая репликация между версиями PostgreSQL

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


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


В предыдущих статьях мы уже говорили о методах обновления PostgreSQL (Обновление версии PostgreSQL с помощью pg_dumpall и Обновление версии PostgreSQL с помощью pg_dump/pg_restore) в рамках серии Обновление или миграция старых версий PostgreSQL в новые. Но оба этих метода не исключают простоя.

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

KubeCon EU 2019: 10 ключевых выводов

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


Мы с ребятами из Datawire недавно вернулись с потрясающих конференций KubeCon и CloudNativeCon в Барселоне. Мы участвовали в 6 выступлениях на KubeCon, раздали на своем стенде кучу классных (без ложной скромности) футболок, пообщались с десятками людей и посетили крутые выступления. На KubeCon EU было столько всего интересного, что я решил написать пост с ключевыми итогами.


И вот какие выводы я сделал (не в порядке важности):


  1. Многоплатформенность и гибридное облако (все еще) популярны.
  2. Объединение технологий набирает обороты.
  3. Анонс Service Mesh Interface (SMI): следите за новостями.
  4. (Туманное?) будущее Istio.
  5. Политика как код поднимается по стеку.
  6. Облачный DevEx по-прежнему не обходится без проблем.
  7. Компании (все еще) на начальных этапах внедрения технологий.
  8. Локальный Kubernetes реален (но заковырист).
  9. Считайте кластеры стадом.
  10. Успех Kubernetes по-прежнему зависит от сообществ.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии3

Tupperware: «убийца» Kubernetes от Facebook?

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

Эффективное и надежное управление кластерами в любом масштабе с Tupperware



Сегодня на конференции Systems @Scale мы представили Tupperware — нашу систему управления кластерами, которая оркестрирует контейнеры на миллионах серверов, где работают почти все наши сервисы. Впервые мы развернули Tupperware в 2011 г., и с тех пор наша инфраструктура разрослась с 1 датацентра до целых 15 геораспределенных датацентров. Все это время Tupperware не стоял на месте и развивался вместе с нами. Мы расскажем, в каких ситуациях Tupperware обеспечивает первоклассное управление кластерами, включая удобную поддержку stateful-сервисов, единую панель управления для всех датацентров и возможность распределять мощности между сервисами в реальном времени. А еще мы поделимся уроками, которые усвоили по мере развития нашей инфраструктуры.


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

Читать дальше →
Всего голосов 27: ↑18 и ↓9+9
Комментарии7

Полное руководство по Prometheus в 2019 году

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


DevOps- и SRE-инженеры уже, наверное, не раз слышали о Prometheus.


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


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


Что такое Prometheus?
Зачем он нужен?
Чем он отличается от других систем?


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

Всего голосов 30: ↑29 и ↓1+28
Комментарии30

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность