Hetzner начинает двигаться по пути облачного провайдера и на днях анонсировал Hetzner Cloud Apps.
Это набор Linux-дистрибутивов с предустановленным ПО. На текущий момент это Big Blue Button, Docker, Gitlab, Jitsi, LAMP, NextCloud и WordPress.
Все это сделано с использованием средства сборки образов Packer и пакета cloud-init.
Ссылка на репозиторий - https://github.com/hetznercloud/apps
Это набор Linux-дистрибутивов с предустановленным ПО. На текущий момент это Big Blue Button, Docker, Gitlab, Jitsi, LAMP, NextCloud и WordPress.
Все это сделано с использованием средства сборки образов Packer и пакета cloud-init.
Ссылка на репозиторий - https://github.com/hetznercloud/apps
GitHub
GitHub - hetznercloud/apps: Hetzner Cloud Apps
Hetzner Cloud Apps. Contribute to hetznercloud/apps development by creating an account on GitHub.
5 августа в 18:00 по МСК будет вебинар от Selectel, в котором будут расказаны истории про миграцию инфраструктуры сервисов "Самокат" и "НаПоправку".
Программа, спикеры и расписание докладов доступны по ссылке ниже.
https://promo.selectel.ru/migration_online/
Программа, спикеры и расписание докладов доступны по ссылке ниже.
https://promo.selectel.ru/migration_online/
promo.selectel.ru
Миграция инфраструктуры
Опыт переездов: боль, страдания, результат
Очень много интересных изменений
https://about.gitlab.com/releases/2021/07/22/gitlab-14-1-released/
https://about.gitlab.com/releases/2021/07/22/gitlab-14-1-released/
GitLab
GitLab 14.1 released with Helm Chart Registry and Escalation Policies
GitLab 14.1 released with the ability to build, publish, and share Helm charts, create escalation policies to page responders, connect GitLab Runners to your Kubernetes clusters, enforce code coverage decisions, and much more!
Краткий разбор ситуации, когда синхронная репликация не совсем синхронная.
https://www.enterprisedb.com/blog/why-use-synchronous-replication-in-postgresql-configure-streaming-replication-wal
https://www.enterprisedb.com/blog/why-use-synchronous-replication-in-postgresql-configure-streaming-replication-wal
EDB
Should You Ever Use Synchronous Replication in PostgreSQL?
A PostgreSQL Database Fail
Очень популярная сейчас концепция
https://12factor.net/ru/
The twelve-factor app, которая описывает, как должно выглядеть современное приложение с точки зрения разработки, логгирования, инфраструктуры, взаимодействия с другими компонентами/сервисами и тому подобное. Часть из этих пунктов многим уже знакома из опыта системного администрирования/devops/разработки. В любом случае, если вы следуете этим пунктам интуитивно или осознанно, то вы идете правильным путем.https://12factor.net/ru/
12factor.net
The Twelve-Factor App (Русский перевод)
A methodology for building modern, scalable, maintainable software-as-a-service apps.
pg_repack, как альтернатива vacuum
https://telegra.ph/PostgreSQL---pg-repack-08-03
https://telegra.ph/PostgreSQL---pg-repack-08-03
Telegraph
PostgreSQL - pg_repack
При частом обновлении таблиц в ней скапливается много мертвых кортежей (dead_tuples). При запуске процесса vacuum c параметром full эти кортежи удаляются, и место возвращается операционной системе (ОС). Но обычно количество неактуальных кортежей увеличивается…
Утилита разрабатывается несколько лет и от этого не становится менее полезной.
Dive позволяет исследовать любой Docker-образ - из каких слоев он состоит, содержимое слоя, а также возможность интеграции с CI.
https://github.com/wagoodman/dive
Dive позволяет исследовать любой Docker-образ - из каких слоев он состоит, содержимое слоя, а также возможность интеграции с CI.
https://github.com/wagoodman/dive
GitHub
GitHub - wagoodman/dive: A tool for exploring each layer in a docker image
A tool for exploring each layer in a docker image. Contribute to wagoodman/dive development by creating an account on GitHub.
У Facebook произошло что-то серьёзное. Не работают приложения Facebook, WhatsApp и Instagram.
https://downdetector.ru/ne-rabotaet/whatsapp/
https://downdetector.ru/ne-rabotaet/whatsapp/
Подъехал разбор от инженеров Cloudflare о том, как развалился facebook и его сервисы.
https://blog.cloudflare.com/october-2021-facebook-outage/
Из-за того, что отъехали все DNS, вся внутренняя инфраструктура, похоже, тоже отъехала и люди не могли попасть в офис из-за неработающих СКУД. Основные каналы коммуникации тоже упали. По вчерашним сообщениям писали, что инженеры Facebook обновляли ПО/конфигурацию на сетевом оборудовании, что-то пошло не так и удаленно железки не получилось перезапустить (большой российский провайдер негодует, что не было филд-инженеров в ЦОДе во время проведения подобных работ). Только через несколько часов в ЦОД отправили инженеров Facebook, чтобы перезагрузить железки вручную.
В итоге на несколько часов фейсбук и его сервисы перестали существовать для всего остального интернета. Люди ломанулись в telegram, gmail, steam, netflix, snapchat и другие сервисы. Соответственно, не все выдержали нагрузку и тоже упали на какое-то время.
Интересно, что всякие умные слова и концепции вроде "Cloud computation", "SDN", "Disaster Recovery" разбиваются в пух и прах сетевой железкой, которая выказала своё "Фи", сказав "Я устал, я ухожу".
Очень интересно почитать, как проблема выглядела со стороны фейсбука, почему она возникла и как они её решали.
Стоимость акций, кстати, снизилась после вчерашнего падения.
https://www.tinkoff.ru/invest/stocks/FB/
https://blog.cloudflare.com/october-2021-facebook-outage/
Из-за того, что отъехали все DNS, вся внутренняя инфраструктура, похоже, тоже отъехала и люди не могли попасть в офис из-за неработающих СКУД. Основные каналы коммуникации тоже упали. По вчерашним сообщениям писали, что инженеры Facebook обновляли ПО/конфигурацию на сетевом оборудовании, что-то пошло не так и удаленно железки не получилось перезапустить (большой российский провайдер негодует, что не было филд-инженеров в ЦОДе во время проведения подобных работ). Только через несколько часов в ЦОД отправили инженеров Facebook, чтобы перезагрузить железки вручную.
В итоге на несколько часов фейсбук и его сервисы перестали существовать для всего остального интернета. Люди ломанулись в telegram, gmail, steam, netflix, snapchat и другие сервисы. Соответственно, не все выдержали нагрузку и тоже упали на какое-то время.
Интересно, что всякие умные слова и концепции вроде "Cloud computation", "SDN", "Disaster Recovery" разбиваются в пух и прах сетевой железкой, которая выказала своё "Фи", сказав "Я устал, я ухожу".
Очень интересно почитать, как проблема выглядела со стороны фейсбука, почему она возникла и как они её решали.
Стоимость акций, кстати, снизилась после вчерашнего падения.
https://www.tinkoff.ru/invest/stocks/FB/
The Cloudflare Blog
Understanding how Facebook disappeared from the Internet
Today at 1651 UTC, we opened an internal incident entitled "Facebook DNS lookup returning SERVFAIL" because we were worried that something was wrong with our DNS resolver 1.1.1.1. But as we were about to post on our public status page we realized something…
Вышла новая версия питона
https://feedproxy.google.com/~r/PythonInsider/~3/ojK529j7CAQ/python-3100-is-available.html
За ссылку спасибо @iliadmitriev
https://feedproxy.google.com/~r/PythonInsider/~3/ojK529j7CAQ/python-3100-is-available.html
За ссылку спасибо @iliadmitriev
Blogspot
Python Insider: Python 3.10.0 is available
У Cannonical приуныл security.ubuntu.com - не резолвится через публичные DNS
$ host security.ubuntu.com
Host security.ubuntu.com not found: 3(NXDOMAIN)
$ host security.ubuntu.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
Host security.ubuntu.com not found: 3(NXDOMAIN)
$ host security.ubuntu.com 1.1.1.1
Using domain server:
Name: 1.1.1.1
Address: 1.1.1.1#53
Aliases:
Host security.ubuntu.com not found: 3(NXDOMAIN)
Вышла бета версия Linux-дистрибутива Red Hat Enterprise Linux 9
https://www.redhat.com/en/blog/whats-new-rhel-90-beta
https://www.redhat.com/en/blog/whats-new-rhel-90-beta
Redhat
What's new in Red Hat Enterprise Linux 9 Beta
Red Hat Enterprise Linux (RHEL) 9 Beta is now available and delivers exciting new features and many more improvements. RHEL 9 Beta is based on upstream kernel version 5.14 and provides a preview of the next major update of RHEL. This release is designed for…
Сборка Docker-образа без ОС. Только ваше приложение, его зависимости и ничего лишнего.
https://github.com/GoogleContainerTools/distroless
https://github.com/GoogleContainerTools/distroless
GitHub
GitHub - GoogleContainerTools/distroless: 🥑 Language focused docker images, minus the operating system.
🥑 Language focused docker images, minus the operating system. - GitHub - GoogleContainerTools/distroless: 🥑 Language focused docker images, minus the operating system.
Скандалы, интриги, расследования...
На Debian 11 столкнулся с очень интересной ситуацией.
На хосте установлен Docker. Также имеется конфигурация docker-compose для запуска nginx.
В манифесте указаны сертификаты и файлы конфигурации с использованием bind mount
(это когда вы перед символом двоеточия указываете путь на хостовой системе, а после двоеточия -
путь внутри контейнера). Затем вы пытаетесь протестировать конфигурацию, правите файл
на хосте, в контейнере - вводите
И дело не в nginx, ведь сам файл конфигурации в контейнере не изменился.
Исторически сложилось так, что на серверах я использую vim в качестве основного текстового редактора.
И внезапно оказалось, что после правки файла через vim, этот же файл не обновляется в контейнере.
А после правки через nano - обновляется.
Оказалось, что все дело было в директиве backupcopy
(https://vimdoc.sourceforge.net/htmldoc/options.html#'backupcopy') редактора vim, которая
после сохранения файла создавала новый и меняла номер индексного дескриптора (inode), что логично с точки зрения файловой системы.
Но вот вся логика работы bind mount как раз строится на том, чтобы файл на хосте и контейнере имел
одинаковый inode. И nano не менял inode (сохранял изменения в уже созданный файл), а vim менял.
Данная проблема решается установкой параметра
На Debian 11 столкнулся с очень интересной ситуацией.
На хосте установлен Docker. Также имеется конфигурация docker-compose для запуска nginx.
В манифесте указаны сертификаты и файлы конфигурации с использованием bind mount
(это когда вы перед символом двоеточия указываете путь на хостовой системе, а после двоеточия -
путь внутри контейнера). Затем вы пытаетесь протестировать конфигурацию, правите файл
на хосте, в контейнере - вводите
nginx -t && nginx -s reload. И ваши изменения не подтягиваются.И дело не в nginx, ведь сам файл конфигурации в контейнере не изменился.
Исторически сложилось так, что на серверах я использую vim в качестве основного текстового редактора.
И внезапно оказалось, что после правки файла через vim, этот же файл не обновляется в контейнере.
А после правки через nano - обновляется.
Оказалось, что все дело было в директиве backupcopy
(https://vimdoc.sourceforge.net/htmldoc/options.html#'backupcopy') редактора vim, которая
после сохранения файла создавала новый и меняла номер индексного дескриптора (inode), что логично с точки зрения файловой системы.
Но вот вся логика работы bind mount как раз строится на том, чтобы файл на хосте и контейнере имел
одинаковый inode. И nano не менял inode (сохранял изменения в уже созданный файл), а vim менял.
Данная проблема решается установкой параметра
set backupcopy=yes в ваш личный файл конфигурации vim, который называется .vimrc.