CatOps
5.08K subscribers
94 photos
5 videos
19 files
2.57K links
DevOps and other issues by Yurii Rochniak (@grem1in) - SRE @ Preply && Maksym Vlasov (@MaxymVlasov) - Engineer @ Star. Opinions on our own.

We do not post ads including event announcements. Please, do not bother us with such requests!
Download Telegram
Хорошая статья от хороших ребят на хорошем канале!
интересная статья о том как работают с кешами в Etsy. https://codeascraft.com/2017/11/30/how-etsy-caches/


Если коротко, то ребята используют Ketama в качестве реализации consisten hashing. Это библиотека на C или Java с обвязками для разных популярных языков программирования, которая делает hash ring (вот неплохая статья о hash ring), которую, впрочем, критикуют за то что при добавлении новой ноды требуется заново вычислять все кольцо, а значения не перераспределюятся равномерно, так что лучше использовать какой-то md5 в качестве хеш функции и большее количество бакетов.

Вторая часть статьи о так называемом “cache smearing” - технике когда к самым популярным ключам добавляют немного случайных данных, чтобы положить их сразу в несколько бакетов и читать не с одной ноды, а с нескольких. Сам механизм вычисления какой ключ популярный и как именно они добавляют случайные значения не опубликован.
👍1
Lyft зарелизили cni-ipvlan-vpc-k8s: IPvlan для Kubernetes в AWS

https://eng.lyft.com/announcing-cni-ipvlan-vpc-k8s-ipvlan-overlay-free-kubernetes-networking-in-aws-95191201476e

В сопутствующей статье они описали, с какими проблемами пришлось столкнуться при деплое Kubernetes в AWS VPC: ограничение в 50 маршрутов роут-таблицы для VPC, что ведёт к развертыванию своих overlay сетей с BGP и профурсетками.

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

В общем, если вы разворачиваете Kubernetes в AWS, вам это будет полезно at scale

P.S: Lyft -- это как Uber, только чуточку дешевле и покрывает только США

#kubernetes #aws #networking
Вы любите сервисные сетки (service mesh)? Но Linkerd со Scala как-то не оч? Те же ребята написали mesh на Rust & Go! Назывется Conduit

Зачем переписывать себя? Потому что у Conduit очень узкая специализация. Это service mesh специально для Kubernetes!

Почитать можно тут:

https://buoyant.io/2017/12/05/introducing-conduit/

Пока в альфа-версии, но попробовать уже можно

#kubernetes
Реакция Твиттера:
Посмотрите этот замечательный доклад на Velocity Conf от шикарной Julia Grace:

Julia — Head of Infrastructure Engineering в Slack — рассказывает о то, как построить процессы в Infrastructure Team. Потому что все модные тулзы, конечно, помогают нам доставлять продукт быстрее (и как следствие возвращать инвестиции раньше). Однако, даже используя все самые новые и модные вещи, вам будет очень сложно развернуься без нормально отлаженых процессов.

Кстати, рекомендую подписаться на неё в Twitter

#culture #agile
Ian Lewis объясняет, что такое container runtime, какие они бывают и почему это словосочетание вызывает путанницу

Если тезисно:
- у самого понятия "runtime" тоже несколько определений.
- в статье опираются на то, что рантайм — это некая сущность, которая поддерживает исполнение. Пример: HotSpot Runtime в Java
- таким образом есть low level и high level рантаймы
- первые позволяют вам лишь запускать контейнеры (lxc, runc)
- вторые уже содержат какие-то API, фичи вокруг менеджмента имаджей и проч

to be continued

Часть I:
https://www.ianlewis.org/en/container-runtimes-part-1-introduction-container-r

#containers
​​Окей, вы настроили мониторинг. У вас есть куча метрик, которые даже собраны в красивые дашборды

Куда смотреть? Надо ли будить половину команды, если вырос cpu_wio на 7% бэкэндов? А на 20%? Или мы просто будем сомтреть на valid_response_p95_rate и алерить по данной метрике?

Конечно, это всё очень индивидуально, и у разных людей разные мнения по поводу "золотых сигналов". Т.е индикаторов, что у нас сейчас всё overall good или overall bad. Почитать о разных мнениях можно тут:

https://medium.com/devopslinks/how-to-monitor-the-sre-golden-signals-1391cadc7524

В кратце о методах:

Google: Latency, Traffic, Errors, and Saturation
Brendan Gregg: Utilization, Saturation, and Errors
Tom Wilkie: Rate, Errors, and Duration

Ну а дальше уже в статье всё разжёвано детальней

#monitoring #observability
Forwarded from devdigest // azure (Azure News Bot)
Hackernoon опубликовал интересное сраванение Azure Container Instances и AWS Fargate

https://hackernoon.com/azure-container-instances-vs-aws-fargate-3216607f63f4
Чёт я как-то заэтсамое и получился перерыв. Нехорошо.

Я на днях в Титтвере наткнулся на интересную дискуссию о том, стоит ли теперь всем париться OPS задачами. Но перед тем как сюда её загонять, надо как-то собрать всё воедино. А надо же ещё и работу работать.

Так что почитайте пока про SRE с точки зрения NewRelic, а я сегодня-завтра твиттерскую дискуссию в постик оформлю

https://blog.newrelic.com/2017/10/30/site-reliability-engineer-sre/
Я знаю, что многие тут используют Slack. Так что ловите тёмную тему для него :)

https://github.com/widget-/slack-black-theme

По идее должно рабоать под Mac, Linux и Windows
Итак, как и обещал, сорал воедино мнения о том, кто должен заниматься OPS. Тут как бы нет одного мнения, скорее всё оч сильно зависит от контекста (в котором вы работаете)

Аргументы за то, что OPS — это теперь общая задача:
- все пишут код
- системы стали сложными и распределенными, поэтому знать всё целиком почти невозможно, но вот знать ту часть, над которой работаешь лучше до конца
- всем должно быть не наплевать

Звучит, конечно, красиво, но есть и аргументы против. Они куда более приземлённые:
- системы стали более сложными и распределенными, соответственно есть куча штук, которые надо знать. Если вы свалите это всё на девелоперов, они охренеют
- правильное распределение задач и knowledge sharing ведёт к успеху, но всё равно останутся какие-то чисто Dev и чисто Ops штуки. И это нормально, что кадый не зватается за всё

По итогам, спор, вроде есть, но в то же время основные тезисы одинаковы. Тогда зачем об этом писать? Да потому что в реальной жизни очень часто встают вопросы, кому куда можно ходить, кто может SSH, кто нет и так далее. От ответа на вопрос: кто исполняет OPS задачи будет зависить очень много решений в вашей конторе, как по доступу, так и иногда по инфраструктуре.

И если раньше стоял вопрос: почему вы не даёте своим разрабам доступ по SSH на прод, разве вы им не доверяете? Сейчас же Kelsey Hightower на Кубконе напряму заявляет, что разработчикам kubectl ни к чему

C'est la vie
Я так подумал, что надо соответствовать никнейму, потому решил немного копнуть в сторону chaos engineering. А тут как раз Gremlin Inc зарелизили свою Resilience as a Service платформу. В двух словах, это SaaS Chaos Monkey с возможностью роллбека. Вы платите деньги за то, что вашу инфраструктуру кто-то ломает. Шикарно, я считаю!

https://blog.gremlin.com/introducing-gremlin-orchestrating-chaos-b137b74f2371

Алсо, я только начал копать, так что, если вы знаете что-то интересное по теме, пишите сразу мне (@grem1in)
Ну и вообще, любой фидбэк приветствуется!

#chaos
В Docker Enterprise Edition и Docker для Mac и Windows добавили нативно Kubernetes. В том смысле, что вам уже не потребуется minikube

Пока что в закрытой бете, попросить доступ можно тут:

https://beta.docker.com

Но судя по реакции людей, они пока не особо доступ раздают.

#docker #kubernetes
Как-то месяц назад (кстати ровно месяц назад) Turbine Labs написали статью о том, как переехали с Nginx на Envoy. Тогда об этом все очень много писали.

Ну и народ такой: ну Ок, какая-то контора переехала на новый модный прокси. Однако, если вам интересно копнуть, что ж такое этот зверь — Envoy, вот тут неплохой дилннопост на Medium:

https://medium.com/@copyconstruct/envoy-953c340c2dca

Оригинальная статья TurbineLabs:
https://blog.turbinelabs.io/our-move-to-envoy-bfeb08aa822d
Pinterest рассказывает, как и зачем они используют монорепу для своего Python кода. В принципе, мотивация такая же как у других людей, использующих монорепы, но тут присутствуют специфические примеры для Python. Так что, если у вас проект на нём, может быть интересно