Записки молодого девопсера
153 subscribers
94 photos
7 files
623 links
Здесь выкладываются различные команды и решения проблем, с которыми приходится сталкиваться, а также интересные статьи и видео из мира IT.
Download Telegram
Вчера был на митапе по Postgres. Посоветовали вот эту книжку для того, чтобы въехать в их мир.
P.S. Книжка бесплатная
https://postgresql.leopard.in.ua/
Сегодня в 11:00 по МСК шел вебинар "SRE — хайп или будущее?".
Вот содержимое письма из почты:
Звук подлагивает и пережимается. Улучшить звук я не сумел. Опубликовал «как есть», а завтра выложу на хабр расшифровку вебинара.

Если вам режет уши, дождитесь текста.

https://youtu.be/JUmR9YDkZdg

Вопросы Эдуарду можно задавать в твиттере: https://twitter.com/ohaithear

На интенсиве Слёрм SRE мы будем все разбирать на практике: организацию команд, определение и мониторинг метрик, действия команды в зависимости от состояния метрик, инцидерты, постмортемы, архитектуру и многое другое. Там вы сможете попробовать руками все, о чем говорил Эдуард, и еще много сверх того. Регистрация на Слёрм SRE: https://clc.to/oSXihQ

В чате спрашивали, сколько будет открыта регистрация на Слёрм SRE.

Регистрация открыта, пока есть места. Сейчас у нас свободно 50 мест. Если придет 2-3 крупные команды, как регулярно случается на Слёрмах, места сразу кончатся. Онлайна точно не будет, повторять курс будем ориентировочно осенью 2020.

Рекомендации Эдуарда:

Читать и смотреть про SRE:

https://landing.google.com/sre/books/

https://cloud.google.com/blog/products/gcp/sre-fundamentals-slis-slas-and-slos

Keys to SRE: https://www.youtube.com/watch?v=n4Wf14e2jxQ

SRE at Dropbox: https://www.youtube.com/watch?v=ggizCjUCCqE

Who/What is SRE: https://www.youtube.com/watch?v=P83XESU3oZ8

Netflix: 190 Countries and 5 CORE SREs: https://www.youtube.com/watch?v=koGaH4ffXaU

Читать про Chaos Engineering:

https://principlesofchaos.org/

https://github.com/Netflix/SimianArmy

Список публикаций Awesome Lists:

https://github.com/dastergon/awesome-chaos-engineering

https://github.com/dastergon/awesome-sre

https://github.com/squadcastHQ/awesome-sre-tools

Интересное:

Статья SRE as a Lifestyle Choice: https://medium.com/@bellmar/sre-as-a-lifestyle-choice-de9f5a82d73d

Перевод девяток SLA во время даунтайма: https://royal.pingdom.com/wp-content/uploads/2015/04/pingdom_uptime_cheat_sheet.pdf

Буду рад видеть вас на Слёрмах!

Антон Скобин
Осталось дождаться видосиков)
На DevOpsDays Moscow 2019 выдали такой простенький кард-холдер, который интересен QR-кодом, расположенным на обратной стороне. В коде ссылочка на Github-репозиторий с множеством всяких интересностей и полезностей.

https://github.com/devops-ru/awesome-devops_ru
https://xakep.ru/2019/12/20/vivaldi-ua/
Не самая хорошая тенденция.
Основатель Vivaldi Technologies - бывший CEO из Opera Software. А вот Opera ушла с рынка как раз из-за того, что ей постоянно приходилось догонять другие браузеры, делая всё новые и новые костыли для того, чтобы популярные сайты нормально отображались и в их браузеры (а популярные сайты не шли им навстречу и каждые новые изменения ломали отображение в Opera). В общем, очень походит на те же грабли, на которые Opera ещё на движке Presto наступала ранее.
Подробности про догоняющий темп Opera можно глянуть в видео "Зачем Опере Вебкит, или Опиум для народа — Вадим Макеев"
https://youtu.be/n54sXmUQLBo
Там как раз рассказывают про свои страдания и про костыли, которыми подпирались топовые сайты (репозиторий на гитхабе, наверное до сих пор жив :) )
Вот такую скромную статистику прислали. Каналу 10 октября исполнился 1 год 🥳
Всех подписчиков поздравляю с наступающим (а может и наступившим 2020 годом).
Этому каналу чуть больше года и я стараюсь выкладывать в него интересные материалы, которые мне попадаются и ещё больше стараюсь выкладывать решения проблем, с которыми мне приходится сталкиваться на работе и дома.
Я надеюсь, что эти материалы несут для вас определённую ценность.
Спасибо вам за то, что читаете этот канал.
Желаю всем вам здоровья, любви, успехов во всех ваших начинаниях, хороших зарплат, адекватного коллектива.
Увидимся в 2020 году 🥳🥳🥳
ХАКАТОН ПРОФУНКТОРА 17-19 ЯНВАРЯ

Словарь определений:
Команда — от 1 до 5 человек пилящих один проект, из них один капитан
Капитан — автор идеи, презентует проект на демо
Чекпоинт — команда сабмитит текущий прогресс судьям
Судьи — админы профунктора
Проект — что угодно что можно задеплоить или по тегам: telegram, memes, profunctor api, ML, dev tools, whatever

Формат:
17-ого (ПТ) в 21-00 МСК дедлайн заявок команд, LIVE где пересчитываем тимы и стартуем
18-ого (СБ) в 15-00 МСК первый чекпоинт
19-ого (ВС) в 12-00 МСК второй чекпоинт
19-ого в 20-00 Финиш, публикуем ссылки на проекты, LIVE где капитаны презентуют проекты
22-ого судьи совещаются и объявляют победителей

Как подать заявку (идею) ?
Через бота @libmustdie_hackaton_bot

Где?
Все онлайн и ремоут. Команды сами координируют действия и пользуются удобными тулами.

Как найти проект/команду?
Зайти в чат и выбрать идеи из запиненного поста: https://t.iss.one/joinchat/DWka6hBjhmayFl3g0_wv9A

Какие призы?
Уникальные.

Сode of Conduct:
В случае неадеквата: БАН БАН БАН

Еще вопросы:
https://t.iss.one/joinchat/DWka6hBjhmayFl3g0_wv9A
2020 год наступил. Закончились новогодние праздники. Люди приходят в себя и настраиваются на рабочий лад. Мне наконец-то удалось дочитать книгу «Руководство по DevOps»
(авторы Джин Ким, Патрик Дебуа, Джон Уиллис, Джез Хамбл).
Хотелось сказать о ней несколько предложений.

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

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

P.S. После прочтения приходит понимание, что люди, развивающие методологию DevOps в компании, как раз являются связующим звеном между тем же отделом разработки и эксплуатации. И навык нахождения компромиссов в данной ситуации крайне необходим для того, чтобы предложить простое и лаконичное решение.

Советую к прочтению тем, кто врывается в мир DevOps и тем, кто хочет взглянуть на процессы разработки и доставки продукта бизнесу с разных сторон.
Наступивший год уже приносит свои плоды.
У канала уже аудитория в 100 подписчиков (101 на момент публикации).
Всем большое спасибо за то, что присоединились к моему каналу и читаете его. Каждый новый подписчик мотивирует продолжать заниматься развитием канала.

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

P.S. Большое спасибо админам @libmustdie за упоминанием моего канала в своём посте.
Если работаете с Powershell (я использую версию 5.1), то вас не должно удивлять следующее поведение:
$VAR="123","456"
$VAR
123
456
$VAR[0]
123
$VAR[1]
456

Тут все нормально, это массив
$VAR.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array

Но вот, если вы создаете переменную вот так:
$VAR="123"
$VAR[0]
1
$VAR[1]
2
$VAR[2]
3

То перед вами уже строка и обращение по индексам идет уже по-другому
$VAR.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object

Если все-таки хочется сделать массив из строк, то можно воспользоваться следующей конструкцией:
$VAR=$VAR.Split("`n")
$VAR.GetType()

IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String[] System.Array

$VAR[0]
123
Для сдающих сертификацию от RedHat может пригодиться данный момент, дающий скидку 50% на Red Hat Learning Subscription:

QUESTION: Can a Red Hat Certified Architect (RHCA) purchase the Red Hat Learning Subscription at a discount? Are there discounts for other levels of Red Hat Certified Professionals?

ANSWER: Yes, there will be a 50% discount offered for current RHCAs. At this time this discount is exclusive to RHCAs. We do not offer any discounts for other levels of Red Hat Certified Professionals.

Про Red Hat Learning Subscription подробнее по ссылочке:

https://www.redhat.com/en/resources/learning-subscription-faq
docker-compose для официального образа Atlassian Confluence и использованием БД PostgreSQL и nginx в качестве реверс-прокси.
На днях постараюсь всё это оформить в виде Github-репозитория в и README.md указать больше подробностей.
version: '2'                                                                                                                          
services:
db:
image: postgres:11
volumes:
- postgresqldata:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=YOURSTRONGPASSWORD
- POSTGRES_USER=confluence_user
- POSTGRES_DB=confluence_db
- POSTGRES_ENCODING=UNICODE
- POSTGRES_COLLATE=utf8
- POSTGRES_COLLATE_TYPE=utf8
logging:
driver: "json-file"
options:
max-size: "500k"
max-file: "50"
container_name: postgresql-confluence
restart: always
networks:
- confluencenet

confluence:
image: atlassian/confluence-server:6.8.3-adoptopenjdk8
volumes:
- confluencedata:/var/atlassian/application-data/confluence
container_name: confluence
networks:
- confluencenet
environment:
- ATL_DB_TYPE=postgresql
- "ATL_JDBC_URL=jdbc:postgresql://db:5432/confluence_db"
- ATL_JDBC_USER=confluence_user
- ATL_JDBC_PASSWORD=YOURSTRONGPASSWORD
- ATL_TOMCAT_CONTEXTPATH=
- "CATALINA_OPTS=-Duser.timezone=Europe/Moscow ${CATALINA_OPTS}"
- ATL_PROXY_NAME=SERVER_FQDN
- ATL_PROXY_PORT=443
- ATL_TOMCAT_SCHEME=https
- ATL_TOMCAT_SECURE
- JVM_MAXIMUM_MEMORY=4096m
- JVM_SUPPORT_RECOMMENDED_ARGS='-Djavax.net.ssl.trustStore=/opt/java/openjdk/jre/lib/security/cacerts'
depends_on:
- db
restart: always

nginx:
image: nginx:1.17.7
depends_on:
- confluence
container_name: nginx
restart: always
volumes:
- /etc/nginx/nginx.conf:/etc/nginx/nginx.conf
- /etc/nginx/ssl:/etc/nginx/ssl
- /etc/nginx/conf.d:/etc/nginx/conf.d
- /var/log/nginx:/var/log/nginx
- /etc/localtime:/etc/localtime:ro
ports:
- 80:80
- 443:443
networks:
- confluencenet

volumes:
confluencedata:
external: false
postgresqldata:
external: false

networks:
confluencenet:
ipam:
driver: default
config:
- subnet: 172.16.235.0/24