Forwarded from DevOps&SRE Library
Forwarded from CatOps
Forwarded from Sysadmin Tools 🇺🇦
YouTube
werf — наш инструмент для CI/CD в Kubernetes (Дмитрий Столяров, Флант, DevOpsConf 2019)
Доклад технического директора компании «Флант» (https://flant.ru/) Дмитрия Столярова на конференции DevOpsConf 2019 (фестиваль РИТ++ 2019). В нём рассказывается о тех проблемах и вызовах, с которыми сталкивается каждый при деплое в Kubernetes, а также о нюансах…
Бесплатный онлайн практикум DevOps by REBRAIN: Ansible
Регистрация - http://bit.ly/2Y0YhRO
Количество мест строго ограничено!
Практикум по освоению DevOps
Время проведения:
6 Августа (Вторник) в 19:00 по МСК
Что будет на практикуме?
🔹Зачем нужны системы управления конфигурациями?
🔹Обзор систем управления конфигурациями
🔹Основы работы с ansible - настраиваем первый сервер
🔹Деплоим докер с помощью ансибла
Кто ведет?
Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступает на RootConf, DevOpsConf Russia, HighLoad.
Открытые еженедельные DevOps практикумы - http://bit.ly/2J5Jts2
Присоединяйтесь!
Регистрация - http://bit.ly/2Y0YhRO
Количество мест строго ограничено!
Практикум по освоению DevOps
Время проведения:
6 Августа (Вторник) в 19:00 по МСК
Что будет на практикуме?
🔹Зачем нужны системы управления конфигурациями?
🔹Обзор систем управления конфигурациями
🔹Основы работы с ansible - настраиваем первый сервер
🔹Деплоим докер с помощью ансибла
Кто ведет?
Василий Озеров - основатель агентства Fevlake (fevlake.com) и действующий Devops-инженер (опыт в Devops более 5 лет). Регулярно выступает на RootConf, DevOpsConf Russia, HighLoad.
Открытые еженедельные DevOps практикумы - http://bit.ly/2J5Jts2
Присоединяйтесь!
Давайте уже писать все bulletproof'но! #golang #sre #reliability
https://medium.com/free-code-camp/how-to-write-bulletproof-code-in-go-a-workflow-for-servers-that-cant-fail-10a14a765f22
https://medium.com/free-code-camp/how-to-write-bulletproof-code-in-go-a-workflow-for-servers-that-cant-fail-10a14a765f22
Medium
How to write bulletproof code in Go: a workflow for servers that can’t fail
From time to time you may find yourself facing a daunting task: building a server that really isn’t allowed to fail, a project where the…
Долгожданный ClickHouse Meetup в Москве состоится 5 сентября, уже можно регистрироваться: https://yandex.ru/promo/clickhouse/moscow-2019
Обратите внимание, что в программе большой слот выделен под доклады пользователей — не стесняйтесь в него записываться при заполнении формы.
Обратите внимание, что в программе большой слот выделен под доклады пользователей — не стесняйтесь в него записываться при заполнении формы.
ClickHouse митап Москва, 5 сентября 2019
Приглашаем технических специалистов на митап по ClickHouse. Разработчики системы расскажут о новых функциях и планах, а пользователи — о собственном опыте.
Forwarded from Тимофей Кириллов
• В плане сборке можно начать с использования Dockerfile + werf (https://werf.io/documentation/reference/build_process.html) если нет желания завязываться на кастомный синтаксис сборки. Но кастомный сборщик дает свои плюсы: инкрементальный гит и ансибл.
• В плане деплоя и отслеживанию состояний задеплоенных ресурсов до готовности с информативным выводом аналогов чтобы все работало из коробки нету. (https://werf.io/documentation/reference/deploy_process/deploy_into_kubernetes.html)
• Werf это тулза, которая объединяет все низкоуровневые отдельные средства для сборки, деплоя, очистки в единую систему, которая легко интегрируется в любую CI/CD систему за счет того, что использует устоявшиеся общие для всех CI/CD концепции (https://werf.io/documentation/reference/plugging_into_cicd/overview.html). Это позволяет унифицировать процесс. Таких тулов тоже не видать пока в изобилии.
• По поводу откатов релизов: работает точно не хуже чистого хельма. Плюс совместимо с хельмом в обе стороны с минимальными изменениями в конфиге и без изменений в рантайме (релизы можно подхватить уже существующие). И есть всякие другие фичи, вроде автодобавления аннотаций. (https://werf.io/documentation/reference/deploy_process/differences_with_helm.html )
• В плане деплоя и отслеживанию состояний задеплоенных ресурсов до готовности с информативным выводом аналогов чтобы все работало из коробки нету. (https://werf.io/documentation/reference/deploy_process/deploy_into_kubernetes.html)
• Werf это тулза, которая объединяет все низкоуровневые отдельные средства для сборки, деплоя, очистки в единую систему, которая легко интегрируется в любую CI/CD систему за счет того, что использует устоявшиеся общие для всех CI/CD концепции (https://werf.io/documentation/reference/plugging_into_cicd/overview.html). Это позволяет унифицировать процесс. Таких тулов тоже не видать пока в изобилии.
• По поводу откатов релизов: работает точно не хуже чистого хельма. Плюс совместимо с хельмом в обе стороны с минимальными изменениями в конфиге и без изменений в рантайме (релизы можно подхватить уже существующие). И есть всякие другие фичи, вроде автодобавления аннотаций. (https://werf.io/documentation/reference/deploy_process/differences_with_helm.html )
Forwarded from PythonDigest
Разработка надёжных Python-скриптов
https://habr.com/ru/post/462007/?utm_campaign=462007&utm_source=habrahabr&utm_medium=rss
Python — это язык программирования, который отлично подходит для разработки самостоятельных скриптов. Для того чтобы добиться с помощью подобного скрипта желаемого результата, нужно написать несколько десятков или сотен строк кода. А после того, как дело сделано, можно просто забыть о написанном коде и перейти к решению следующей задачи.
Если, скажем, через полгода после того, как был написан некий «одноразовый» скрипт, кто-то спросит его автора о том, почему этот скрипт даёт сбои, об этом может не знать и автор скрипта. Происходит подобное из-за того, что к такому скрипту не была написана документация, из-за использования параметров, жёстко заданных в коде, из-за того, что скрипт ничего не логирует в ходе работы, и из-за отсутствия тестов, которые позволили бы быстро понять причину проблемы.
https://habr.com/ru/post/462007/?utm_campaign=462007&utm_source=habrahabr&utm_medium=rss
Python — это язык программирования, который отлично подходит для разработки самостоятельных скриптов. Для того чтобы добиться с помощью подобного скрипта желаемого результата, нужно написать несколько десятков или сотен строк кода. А после того, как дело сделано, можно просто забыть о написанном коде и перейти к решению следующей задачи.
Если, скажем, через полгода после того, как был написан некий «одноразовый» скрипт, кто-то спросит его автора о том, почему этот скрипт даёт сбои, об этом может не знать и автор скрипта. Происходит подобное из-за того, что к такому скрипту не была написана документация, из-за использования параметров, жёстко заданных в коде, из-за того, что скрипт ничего не логирует в ходе работы, и из-за отсутствия тестов, которые позволили бы быстро понять причину проблемы.
Forwarded from Sysadmin Tools 🇺🇦
Toshiba Memory America Optimizes RocksDB for SSDs
https://www.businesswire.com/news/home/20190801005284/en/Toshiba-Memory-America-Optimizes-RocksDB-SSDs
https://www.businesswire.com/news/home/20190801005284/en/Toshiba-Memory-America-Optimizes-RocksDB-SSDs
И снова про важность постмортемов! Ведь все уже пишут, правда? https://habr.com/ru/company/oleg-bunin/blog/458924 #sre #pm
Хабр
Аварии помогают учиться
За 3 последних года в Контуре случилось больше тысячи инцидентов разной степени эпичности. Причины разные: например, 36% вызвано некачественным релизом, а 14% — работами по обслуживанию...
Выбираем ingress для kubernetes https://itnext.io/kubernetes-ingress-controllers-how-to-choose-the-right-one-part-1-41d3554978d2 #k8s #ingress
Medium
Kubernetes Ingress Controllers: How to choose the right one: Part 1
In this article, I will share my experience with 3 major types of Kubernetes ingress solutions. Let’s go through their pros and cons and…
Forwarded from Go Дайджест
Привет пираты! 🏴☠️🙌 Я тут выпустил очередной дайджест на DOU.
https://dou.ua/lenta/digests/go-digest-9
ну и ссылочка на гугл доку для тех у кого DOU заблочен.
https://docs.google.com/document/d/1XIc4pc6MuZuyPtQjdHI-nTgm23ZHvgSTkDx5f-rZt9U/edit?usp=sharing
https://dou.ua/lenta/digests/go-digest-9
ну и ссылочка на гугл доку для тех у кого DOU заблочен.
https://docs.google.com/document/d/1XIc4pc6MuZuyPtQjdHI-nTgm23ZHvgSTkDx5f-rZt9U/edit?usp=sharing
ДОУ
Go дайджест #9: GopherCon 2019, дженерики уже близко, try не пройдёт
В выпуске: видео докладов с конференций, Yaegi - интерпретатор Go от создателей Traefik, Caddy 2 по-правильному.
Forwarded from ITGram
httpx -- http-клиент с интерфейсом как у requests, но поддержкой aiohttp, удобными моделями для url, headers и прочего, возможностью использовать с wsgi/asgi приложениями напрямую (например, для тестов во Flask). Ну и главное, в контрибьютерах нет Кеннета, зато есть авторы Django REST Framework, Sanic и urllib3 (и всё это разные люди). Так что будет очень круто и модно. Например, они хотят скоро зарелизить контекстный менеджер parallel, который работает примерно как trio: внутри контекста создаются и регистрируются запросы, а при выходе из контекста выполняются.
Ну и тут надо про trio тоже рассказать. Это такой фреймворк для async в Python, альтернатива asyncio. Гораздо более дружелюбный и простой. У автора есть статья Timeouts and cancellation for humans, в которой он рассказывает, почему trio выглядит именно так. Именно он автор той статьи Why I'm not collaborating with Kenneth Reitz. А ещё он автор библиотеки для асинхронных http запросов h11, которая как раз и используется в httpx.
#python
Ну и тут надо про trio тоже рассказать. Это такой фреймворк для async в Python, альтернатива asyncio. Гораздо более дружелюбный и простой. У автора есть статья Timeouts and cancellation for humans, в которой он рассказывает, почему trio выглядит именно так. Именно он автор той статьи Why I'm not collaborating with Kenneth Reitz. А ещё он автор библиотеки для асинхронных http запросов h11, которая как раз и используется в httpx.
#python
GitHub
GitHub - encode/httpx: A next generation HTTP client for Python. 🦋
A next generation HTTP client for Python. 🦋. Contribute to encode/httpx development by creating an account on GitHub.
Forwarded from Записки админа
⚙️ И вот тут ещё небольшое чтиво о процессах, их группах, и их остановке в системе: http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html
📗 В своё время, я показывал пару дополнительных утилит для остановки процессов - fkill и gkill: https://sysadmin.pm/fkill-gkill/
#напочитать #pkill #kill
📗 В своё время, я показывал пару дополнительных утилит для остановки процессов - fkill и gkill: https://sysadmin.pm/fkill-gkill/
#напочитать #pkill #kill
Forwarded from Sysadmin Tools 🇺🇦
Первая статья из цикла про то, как деплоиться по модному - канарейка на Kubernetes+istio+linkerd https://medium.com/glasnostic/how-canary-deployments-work-part-1-kubernetes-istio-and-linkerd-9625b427eca #linkerd #istio #cicd #k8s
Medium
How Canary Deployments Work, Part 1: Kubernetes, Istio and Linkerd
This is the first of a two-part series on canary deployments. In this post, we cover the developer pattern and how it is supported in…
Forwarded from CatOps
Лонгрид для выходного дня о распределенном трейсинге от Cindy Sridharan.
В статье описано, какие возникают проблемы при построении трейсинга и как их можно принципиально решать.
#observability
В статье описано, какие возникают проблемы при построении трейсинга и как их можно принципиально решать.
#observability
Medium
Distributed Tracing — we’ve been doing it wrong
Distributed Tracing is often considered hard to deploy and it’s value proposition considered to be questionable at best. A variety of…