Описал что за штука такая этот Terraformer, зачем нужен, как использовать и мой опыт работы с ним.
Блог начинающего сисадмина
Здесь уже не будет ничего интересного, лучше загляните сюда: https://medium.com/@Amet13
четверг, 23 июля 2020 г.
Инфраструктура в код: Terraformer
Попробовал опубликовать статью не в личный и не в корпоративный блог, а в специализированный хаб с уклоном на девопс: https://medium.com/faun/terraformer-5036241f90cc
вторник, 5 мая 2020 г.
Проблемы с DNS в Kubernetes. Публичный постмортем
Написал о том, как мы столкнулись с проблемой conntrack на продакшн кластере кубера.
вторник, 3 марта 2020 г.
Разворачиваем Jenkins как код
Написал тут о том, как можно рулить Дженкинсом полностью из кода без всякого наклацывания руками.
RU: https://habr.com/en/post/490756/
EN: https://medium.com/preply-engineering/jenkins-omg-275e2df5d647
RU: https://habr.com/en/post/490756/
EN: https://medium.com/preply-engineering/jenkins-omg-275e2df5d647
среда, 5 февраля 2020 г.
FOSDEM 2020
В этом году я снова съездил на FOSDEM.
В связи с тем, что это был юбилейная 20я конференция, то народу там было больше чем в прошлом году. На некоторые доклады попасть было нереально, даже если занимать очередь за час до доклада.
В принципе, доклады чуть интереснее в прошлом году для меня. Но в этом году мне удалось прослушать всего 10.
Вот некоторые из них:
- Introducing Tanka — Grafana Labs выпустили какую-то штуку типа ksonnet, очень спорно, мне так показалось
- Over Twenty Years Of Automation — как изменялась автоматизация, начиная от баш-скриптов до Docker
- Preserve kubernetes state using heptio velero — неплохой ознакомительный доклад по Velero (бывший Ark)
- Below Kubernetes: Demystifying container runtimes — обзор существующих CRI для кубера
- HTTP/3 for everyone —отличный доклад по HTTP/3, еще бы, ведь его вел сам создать cURL
- PostgreSQL on K8S at Zalando: Two years in production —на этот доклад был прям аншлаг, пришлось час отстоять в очереди и еще час просидеть на предыдущем докладе, чтобы остаться в этой аудитории. В общем как обычно, Zalando крутые ребята и пилят класные штуки, в частности Patroni. Рассказ о том, как PostgreSQL работает в кубере и какие проблемы при этом есть.
Не удалось попасть на доклад про мониторинг клубники и eBPF+Cilium.
А, ну да, приложение под iOS ужасное, в отличие от Android.
Записи докладов: https://video.fosdem.org/2020/
пятница, 27 декабря 2019 г.
XP Days Ukraine 2019
22-23 ноября, в Киеве прошла ежегодная конференция XP Days. Доклады были посвящены инженерным практикам, DevOps, архитектуре и т.д.
Конференция шла в три параллельных потока, я отметил что не наблюдал ни одной задержки между докладами, так хорошо все было организовано. Единственное что из-за смены местами одного из докладов, так и не удалось на него попасть. Но зато есть его запись.
Несколько докладов, на которых я побывал и они мне понравились:
- Effectiveness tips from Kubernetes trenches by Captain Obvious, линк
- Lego from Containers, линк
- 30 minutes to prod, линк
Конференция шла в три параллельных потока, я отметил что не наблюдал ни одной задержки между докладами, так хорошо все было организовано. Единственное что из-за смены местами одного из докладов, так и не удалось на него попасть. Но зато есть его запись.
Несколько докладов, на которых я побывал и они мне понравились:
- Effectiveness tips from Kubernetes trenches by Captain Obvious, линк
- Lego from Containers, линк
- 30 minutes to prod, линк
- Practical GitOps on Kubernetes with ArgoCD, линк
- The movement steps to the high-load tolerant and scalable infrastructure based on the AWS and Kubernetes, линк
понедельник, 11 ноября 2019 г.
kops vs EKS: что выбрать?
Короткое сравнение разницы между использованием kops и EKS: https://medium.com/@Amet13/kops-eks-79a267f58d81
суббота, 19 октября 2019 г.
Перестаньте хранить корпоративные пароли в Google Docs или Slack
Довелось тут недавно заняться немного security, по долгу службы какое-то время назад нужно было часто людям выдавать различные доступы внутри корпоративной сети.
В статье описал, как обычно я генерю и храню свои пароли и как это делают люди.
Также описал, как можно легко в кубере развернуть PrivateBin внутри корпоративной сети:
https://medium.com/@Amet13/privatebin-369ffe5f4e6b
В статье описал, как обычно я генерю и храню свои пароли и как это делают люди.
Также описал, как можно легко в кубере развернуть PrivateBin внутри корпоративной сети:
https://medium.com/@Amet13/privatebin-369ffe5f4e6b
воскресенье, 29 сентября 2019 г.
Обзор GitHub Actions и Package Registry
На днях поковырял новые сервисы GitHub, написал статью на хабр: https://habr.com/en/post/468345/
Перевел сразу на medium: https://medium.com/@Amet13/gh-actions-package-registry-d29ceff4e6f4
Перевел сразу на medium: https://medium.com/@Amet13/gh-actions-package-registry-d29ceff4e6f4
понедельник, 19 августа 2019 г.
Как и зачем мы мигрировали Preply в Kubernetes
Написал статью о том, как мы мигранули нашу инфраструктуру в кубер: https://medium.com/preply-engineering/k8s-b22c298476cb
Заодно и на хабр перевел: https://habr.com/en/post/464465/
Заодно и на хабр перевел: https://habr.com/en/post/464465/
суббота, 27 июля 2019 г.
Вопросы на собеседовании на позицию DevOps-инженера которые задавал я
Я чуть больше года назад оставлял заметку о том, какие вопросы мне задавали на собеседованиях.
В последние несколько месяцев мне самому доводилось достаточно собеседовать людей, поэтому в этой заметке я расскажу какие вопросы задавал я и почему.
Техническое интервью с кандидатом у нас занимало примерно 1.5 часа.
Собеседование с применением обычной белой доски (whiteboard) и маркера. Мы не использовали схему вопрос-ответ, а само собеседование шло в виде беседы, по мере которой с каких-то общих тем мы углублялись в конкретные детали.
В первую очередь мы со своей стороны рассказывали, что у нас за продукт с технической точки зрения, что мы делаем по инфраструктурной части, как проиходит работа в команде платформы и взаимодействие с разработчиками и другими отделами. Объясняли кандидату почему мы сейчас ищем человека в команду, какие ближайшие планы по развитию команды и продукта с технической точки зрения, и т.д.
По резюме кандидата мы особо не спрашивали, но учитывали во внимание то, что если человек 5 лет работал с сетями и прочими цисками, то нет смысла спрашивать его про модель OSI и что такое пиринг VPC.
Первый часть с которой мы начинали, это попросили кандидата на доске нарисовать как он видит схему инфраструктуры какого-нибудь веб-проекта. Начиная с самого простенького что у нас просто есть инстанс или железный сервер (мы кстати рекомендовали привязываться к любому удобному облачному провайдеру или вообще bare-metal).
По мере роста инфраструктуры задавались наводящие вопросы по теме:
- как бы ты реализовывал балансинг на инстансах, автоскейлинг группу, и т.д.
- что бы ты делал если начинает расти нагрузка на базу, репликации, индексы, кеш, очереди
- если сломался сервер, как бы ты траблшутил все это
- зачем нужен CDN, как ходит трафик к твоему приложению, зашифрован ли он, на каком этапе происходит терминирование SSL
- как бы ты реализовывал бекапы
- какой мониторинг бы использовал и почему, когда стоит платить деньги за какой-нибудь datadog, а когда уже стоит завозить свой условный Prometheus-стек, то же самое касается логгинга
Вторая часть плавно переходила в понимание и огранизацию процесса CI/CD.
Как кандидат видит пайплайн, какие инструменты бы он использовал, как поддерживать адекватные косты для всего этого хозяйства (например юзать спот инстансы) и прочее.
Если у кандидата имелся опыт работы с Kubernetes задавали несколько вопросов по куберу, так как у нас его уже активно используют. Вопросы больше были из разряда:
- какие проблемы решает кубер, а какие нет
- в чем отличие контейнерной виртуализации от полной
- для чего придумали HELM и как его используют
Обычно этого было достаточно для понятия уровня кандидата. Но иногда если оставалось время, то могли спросить какой-то каверзный вопрос из разряда, где на жестком диске находится каталог /proc или как посмотреть нетстатом established UDP соединения.
В последние несколько месяцев мне самому доводилось достаточно собеседовать людей, поэтому в этой заметке я расскажу какие вопросы задавал я и почему.
Техническое интервью с кандидатом у нас занимало примерно 1.5 часа.
Собеседование с применением обычной белой доски (whiteboard) и маркера. Мы не использовали схему вопрос-ответ, а само собеседование шло в виде беседы, по мере которой с каких-то общих тем мы углублялись в конкретные детали.
В первую очередь мы со своей стороны рассказывали, что у нас за продукт с технической точки зрения, что мы делаем по инфраструктурной части, как проиходит работа в команде платформы и взаимодействие с разработчиками и другими отделами. Объясняли кандидату почему мы сейчас ищем человека в команду, какие ближайшие планы по развитию команды и продукта с технической точки зрения, и т.д.
По резюме кандидата мы особо не спрашивали, но учитывали во внимание то, что если человек 5 лет работал с сетями и прочими цисками, то нет смысла спрашивать его про модель OSI и что такое пиринг VPC.
Первый часть с которой мы начинали, это попросили кандидата на доске нарисовать как он видит схему инфраструктуры какого-нибудь веб-проекта. Начиная с самого простенького что у нас просто есть инстанс или железный сервер (мы кстати рекомендовали привязываться к любому удобному облачному провайдеру или вообще bare-metal).
По мере роста инфраструктуры задавались наводящие вопросы по теме:
- как бы ты реализовывал балансинг на инстансах, автоскейлинг группу, и т.д.
- что бы ты делал если начинает расти нагрузка на базу, репликации, индексы, кеш, очереди
- если сломался сервер, как бы ты траблшутил все это
- зачем нужен CDN, как ходит трафик к твоему приложению, зашифрован ли он, на каком этапе происходит терминирование SSL
- как бы ты реализовывал бекапы
- какой мониторинг бы использовал и почему, когда стоит платить деньги за какой-нибудь datadog, а когда уже стоит завозить свой условный Prometheus-стек, то же самое касается логгинга
Вторая часть плавно переходила в понимание и огранизацию процесса CI/CD.
Как кандидат видит пайплайн, какие инструменты бы он использовал, как поддерживать адекватные косты для всего этого хозяйства (например юзать спот инстансы) и прочее.
Если у кандидата имелся опыт работы с Kubernetes задавали несколько вопросов по куберу, так как у нас его уже активно используют. Вопросы больше были из разряда:
- какие проблемы решает кубер, а какие нет
- в чем отличие контейнерной виртуализации от полной
- для чего придумали HELM и как его используют
Обычно этого было достаточно для понятия уровня кандидата. Но иногда если оставалось время, то могли спросить какой-то каверзный вопрос из разряда, где на жестком диске находится каталог /proc или как посмотреть нетстатом established UDP соединения.