Forwarded from Українська девопсарня
интересная статья о том как работают с кешами в Etsy. https://codeascraft.com/2017/11/30/how-etsy-caches/
Если коротко, то ребята используют Ketama в качестве реализации consisten hashing. Это библиотека на C или Java с обвязками для разных популярных языков программирования, которая делает hash ring (вот неплохая статья о hash ring), которую, впрочем, критикуют за то что при добавлении новой ноды требуется заново вычислять все кольцо, а значения не перераспределюятся равномерно, так что лучше использовать какой-то md5 в качестве хеш функции и большее количество бакетов.
Вторая часть статьи о так называемом “cache smearing” - технике когда к самым популярным ключам добавляют немного случайных данных, чтобы положить их сразу в несколько бакетов и читать не с одной ноды, а с нескольких. Сам механизм вычисления какой ключ популярный и как именно они добавляют случайные значения не опубликован.
Если коротко, то ребята используют Ketama в качестве реализации consisten hashing. Это библиотека на C или Java с обвязками для разных популярных языков программирования, которая делает hash ring (вот неплохая статья о hash ring), которую, впрочем, критикуют за то что при добавлении новой ноды требуется заново вычислять все кольцо, а значения не перераспределюятся равномерно, так что лучше использовать какой-то md5 в качестве хеш функции и большее количество бакетов.
Вторая часть статьи о так называемом “cache smearing” - технике когда к самым популярным ключам добавляют немного случайных данных, чтобы положить их сразу в несколько бакетов и читать не с одной ноды, а с нескольких. Сам механизм вычисления какой ключ популярный и как именно они добавляют случайные значения не опубликован.
Etsy Engineering
Etsy Engineering | How Etsy caches: hashing, Ketama, and cache smearing
At Etsy, we rely heavily on memcached and Varnish as caching tiers to improve performance and reduce load. Database and search...
👍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
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
Medium
Announcing cni-ipvlan-vpc-k8s: IPvlan overlay-free Kubernetes Networking in AWS
Lyft is pleased to announce the initial open source release of our IPvlan-based CNI networking stack for running Kubernetes at scale in…
Вы любите сервисные сетки (service mesh)? Но Linkerd со Scala как-то не оч? Те же ребята написали mesh на Rust & Go! Назывется Conduit
Зачем переписывать себя? Потому что у Conduit очень узкая специализация. Это service mesh специально для Kubernetes!
Почитать можно тут:
https://buoyant.io/2017/12/05/introducing-conduit/
Пока в альфа-версии, но попробовать уже можно
#kubernetes
Зачем переписывать себя? Потому что у Conduit очень узкая специализация. Это service mesh специально для Kubernetes!
Почитать можно тут:
https://buoyant.io/2017/12/05/introducing-conduit/
Пока в альфа-версии, но попробовать уже можно
#kubernetes
linkerd.io
Introducing Conduit
Conduit is now part of Linkerd! Read more >
Today, we’re very happy to introduce Conduit, our new open source service mesh for Kubernetes.
We’ve built Conduit from the ground up to be the fastest, lightest, simplest, and most secure service mesh in the world.…
Today, we’re very happy to introduce Conduit, our new open source service mesh for Kubernetes.
We’ve built Conduit from the ground up to be the fastest, lightest, simplest, and most secure service mesh in the world.…
Посмотрите этот замечательный доклад на Velocity Conf от шикарной Julia Grace:
Julia — Head of Infrastructure Engineering в Slack — рассказывает о то, как построить процессы в Infrastructure Team. Потому что все модные тулзы, конечно, помогают нам доставлять продукт быстрее (и как следствие возвращать инвестиции раньше). Однако, даже используя все самые новые и модные вещи, вам будет очень сложно развернуься без нормально отлаженых процессов.
Кстати, рекомендую подписаться на неё в Twitter
#culture #agile
Julia — Head of Infrastructure Engineering в Slack — рассказывает о то, как построить процессы в Infrastructure Team. Потому что все модные тулзы, конечно, помогают нам доставлять продукт быстрее (и как следствие возвращать инвестиции раньше). Однако, даже используя все самые новые и модные вещи, вам будет очень сложно развернуься без нормально отлаженых процессов.
Кстати, рекомендую подписаться на неё в Twitter
#culture #agile
O’Reilly Media
10,000 messages a minute
Lessons learned from building engineering teams under pressure.
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
Если тезисно:
- у самого понятия "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
Ian Lewis
Container Runtimes Part 1: An Introduction to Container Runtimes
One of the terms you hear a lot when dealing with containers is “container runtime”. “Container runtime” can have different meanings to different people so it’s no wonder that it’s such a confusing and vaguely understood term, even within the container community.
Окей, вы настроили мониторинг. У вас есть куча метрик, которые даже собраны в красивые дашборды
Куда смотреть? Надо ли будить половину команды, если вырос
Конечно, это всё очень индивидуально, и у разных людей разные мнения по поводу "золотых сигналов". Т.е индикаторов, что у нас сейчас всё 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
Куда смотреть? Надо ли будить половину команды, если вырос
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
Amazon теперь предупреждает, если у вас есть шанс выйти за пределы бесплатного лимита (free tier)
Удобно для ведения pet-проектов и просто знакомства с платформой
#aws
Удобно для ведения pet-проектов и просто знакомства с платформой
#aws
Amazon
AWS Free Tier usage alerts automatically notify you when you are forecasted to exceed your AWS service usage limits
Forwarded from devdigest // azure (Azure News Bot)
Hackernoon опубликовал интересное сраванение Azure Container Instances и AWS Fargate
https://hackernoon.com/azure-container-instances-vs-aws-fargate-3216607f63f4
https://hackernoon.com/azure-container-instances-vs-aws-fargate-3216607f63f4
Hackernoon
Azure Container Instances vs. AWS Fargate | Hacker Noon
Чёт я как-то заэтсамое и получился перерыв. Нехорошо.
Я на днях в Титтвере наткнулся на интересную дискуссию о том, стоит ли теперь всем париться OPS задачами. Но перед тем как сюда её загонять, надо как-то собрать всё воедино. А надо же ещё и работу работать.
Так что почитайте пока про SRE с точки зрения NewRelic, а я сегодня-завтра твиттерскую дискуссию в постик оформлю
https://blog.newrelic.com/2017/10/30/site-reliability-engineer-sre/
Я на днях в Титтвере наткнулся на интересную дискуссию о том, стоит ли теперь всем париться OPS задачами. Но перед тем как сюда её загонять, надо как-то собрать всё воедино. А надо же ещё и работу работать.
Так что почитайте пока про SRE с точки зрения NewRelic, а я сегодня-завтра твиттерскую дискуссию в постик оформлю
https://blog.newrelic.com/2017/10/30/site-reliability-engineer-sre/
New Relic Blog
New Relic: The Rise of Site Reliability Engineers
As the Site Reliability Engineer (SRE) role continues to evolve and expand, we examine the history, proliferation, and particular iteration of Site Reliability Engineering inside New Relic.
Я знаю, что многие тут используют Slack. Так что ловите тёмную тему для него :)
https://github.com/widget-/slack-black-theme
По идее должно рабоать под Mac, Linux и Windows
https://github.com/widget-/slack-black-theme
По идее должно рабоать под Mac, Linux и Windows
GitHub
GitHub - widget-/slack-black-theme: A darker, more contrasty, Slack theme.
A darker, more contrasty, Slack theme. Contribute to widget-/slack-black-theme development by creating an account on GitHub.
Итак, как и обещал, сорал воедино мнения о том, кто должен заниматься OPS. Тут как бы нет одного мнения, скорее всё оч сильно зависит от контекста (в котором вы работаете)
Аргументы за то, что OPS — это теперь общая задача:
- все пишут код
- системы стали сложными и распределенными, поэтому знать всё целиком почти невозможно, но вот знать ту часть, над которой работаешь лучше до конца
- всем должно быть не наплевать
Звучит, конечно, красиво, но есть и аргументы против. Они куда более приземлённые:
- системы стали более сложными и распределенными, соответственно есть куча штук, которые надо знать. Если вы свалите это всё на девелоперов, они охренеют
- правильное распределение задач и knowledge sharing ведёт к успеху, но всё равно останутся какие-то чисто Dev и чисто Ops штуки. И это нормально, что кадый не зватается за всё
По итогам, спор, вроде есть, но в то же время основные тезисы одинаковы. Тогда зачем об этом писать? Да потому что в реальной жизни очень часто встают вопросы, кому куда можно ходить, кто может SSH, кто нет и так далее. От ответа на вопрос: кто исполняет OPS задачи будет зависить очень много решений в вашей конторе, как по доступу, так и иногда по инфраструктуре.
И если раньше стоял вопрос: почему вы не даёте своим разрабам доступ по SSH на прод, разве вы им не доверяете? Сейчас же Kelsey Hightower на Кубконе напряму заявляет, что разработчикам kubectl ни к чему
C'est la vie
Аргументы за то, что 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
https://blog.gremlin.com/introducing-gremlin-orchestrating-chaos-b137b74f2371
Алсо, я только начал копать, так что, если вы знаете что-то интересное по теме, пишите сразу мне (@grem1in)
Ну и вообще, любой фидбэк приветствуется!
#chaos
Gremlin
Introducing Gremlin: Orchestrating Chaos
Today is an exciting day for our team at Gremlin. After nearly two years in the making, we’re proud to share that Gremlin’s “Resilience as…
Немного новостей от AWS (дайджеста ради):
- Amazon ECS теперь поддерживает Windows контейнеры. Поддержка до этого была в бета-версии
- io1 волумы можно розганять до 32,000 IOPS и 500 MB/s per volume
- Aurora теперь HIPAA Compliant
- Резилнулся Route 53 Naming API, который упрощает управление DNS для микросервисов, когда те скейлятся (вверх или вниз)
- Релизнулся AWS SSO - Single Sign In. Ну об этом уже многие писали
- Managed ElasticSearch обновили до версии 6.0
- Теперь можно кастомизировать верфикацию email в SES. Ну чтобы вы кастомерам вскую недописанную фигню не слали
- AWS нотифает, когда вы подходите к лимиту Free Tier. Ну об этом я уже тоже писал
- Можно делать кластерные проверки в CloudWatch
Пока писал, задумался, что Безос долетит до Марса раньше Маска...
#aws
- Amazon ECS теперь поддерживает Windows контейнеры. Поддержка до этого была в бета-версии
- io1 волумы можно розганять до 32,000 IOPS и 500 MB/s per volume
- Aurora теперь HIPAA Compliant
- Резилнулся Route 53 Naming API, который упрощает управление DNS для микросервисов, когда те скейлятся (вверх или вниз)
- Релизнулся AWS SSO - Single Sign In. Ну об этом уже многие писали
- Managed ElasticSearch обновили до версии 6.0
- Теперь можно кастомизировать верфикацию email в SES. Ну чтобы вы кастомерам вскую недописанную фигню не слали
- AWS нотифает, когда вы подходите к лимиту Free Tier. Ну об этом я уже тоже писал
- Можно делать кластерные проверки в CloudWatch
Пока писал, задумался, что Безос долетит до Марса раньше Маска...
#aws
В Docker Enterprise Edition и Docker для Mac и Windows добавили нативно Kubernetes. В том смысле, что вам уже не потребуется minikube
Пока что в закрытой бете, попросить доступ можно тут:
https://beta.docker.com
Но судя по реакции людей, они пока не особо доступ раздают.
#docker #kubernetes
Пока что в закрытой бете, попросить доступ можно тут:
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
Ну и народ такой: ну Ок, какая-то контора переехала на новый модный прокси. Однако, если вам интересно копнуть, что ж такое этот зверь — Envoy, вот тут неплохой дилннопост на Medium:
https://medium.com/@copyconstruct/envoy-953c340c2dca
Оригинальная статья TurbineLabs:
https://blog.turbinelabs.io/our-move-to-envoy-bfeb08aa822d
Medium
Envoy
It was November 1st, 2016. I’d spent the better part of the day at a training on Go + Distributed Computing. O’Reilly had offered me a free…
Pinterest рассказывает, как и зачем они используют монорепу для своего Python кода. В принципе, мотивация такая же как у других людей, использующих монорепы, но тут присутствуют специфические примеры для Python. Так что, если у вас проект на нём, может быть интересно
Medium
Building a Python monorepo for fast, reliable development
Suman Karumuri | Pinterest technical lead, Visibility & Ruth Grace Wong | Pinterest engineer, Core Site Reliability