Pull to refresh
2
0
Michael Savin @jtprogru

SRE / Photographer / Writer

Send message

Запускаем Vagrant на MacOS Apple M1/M2

Reading time5 min
Views11K

Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей.

Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.

Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.

В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments10

Покер планирование: Коллективная оценка трудоемкости задач в Agile (Planning Poker)

Level of difficultyEasy
Reading time2 min
Views4.3K

В 2002 году Джеймс Греннинг представил миру концепцию Покера планирования (Planning Poker) в своей публикации. Стоит отметить, что он является соавтором Agile-манифеста, который по сей день является одним из фундаментальных принципов разработки программного обеспечения.

Итак, что такое Покер планирования?

Покер планирования – это техника, применяемая в Scrum-командах в рамках Agile-разработки для коллективной оценки трудоемкости задач.

Другими словами, это эффективный метод коллективного принятия решений в процессе разработки программного продукта. Когда команда состоит из трех человек, достичь единого мнения может быть легко, но когда в ней участвуют 10, 20 или даже больше сотрудников, мнения часто расходятся. Именно для таких случаев было создано покер планирование. Это удобно, практично и, главное, эффективно.

Часто при разработке программного продукта участники команды оценивают сложность поставленных задач по-разному. Покер планирование помогает достичь консенсуса. С его помощью можно не только оценить сложность задачи в целом, но и разбить ее на более мелкие компоненты для более быстрого решения.

Если вам нужен онлайн-сервис для покер планирования на русском языке, рекомендуем обратить внимание на https://pplanning.ru.

Но также существуют зарубежные сервисы для покер планирования:

Читать далее
Total votes 8: ↑0 and ↓8-8
Comments1

Для чего нужны «золотые сигналы» мониторинга и SRE?

Reading time5 min
Views24K
Прим. перев.: То, что сегодня принято называть SRE (Site Reliability Engineering — «обеспечение надежности информационных систем»), включает в себя большой спектр мероприятий по эксплуатации программных продуктов, направленных на достижение ими необходимого уровня надежности. Мониторинг — одно из ключевых мероприятий, а «золотые сигналы» образуют главные метрики, которые должны в нём учитываться. Не найдя на Хабре ни одного материала про них, мы решили перевести небольшую заметку от авторов платформы для управления инцидентами (VictorOps), дающую представление общее представление об этом подходе.



Эффективный site reliability engineering (SRE) опирается на глубокое понимание базовой инфраструктуры сервиса и архитектуры. Повышение прозрачности состояния приложения и инфраструктуры — это только начало проактивной работы над созданием надежных систем. При этом наилучшей отправной точкой для мониторинга состояния систем считаются так называемые «четыре золотых сигнала» (four golden signals) SRE. Наладив эти четыре базовых метода мониторинга, можно переходить к дальнейшему повышению прозрачности системы.
Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments1

Личный профессиональный блог — полное руководство для начинающих

Reading time23 min
Views35K

Всем привет! На связи Олег Громов, автор телеграм-канала Приключения Громова, где я рассказываю про свой опыт работы программистом в крупных компаниях и стартапах, карьеру, переход из найма в в предпринимательство, способы развития для разработчиков, софт-скиллы и другие полезные в работе и жизни навыки и идеи.

Сегодня я расскажу про ведение личного профессионального блога. По моим наблюдениям, а также по результатам небольшого опроса (результаты ниже), единицы разработчиков ведут блоги, либо как-то ещё активны публично.

И это несмотря на то, что множество моих коллег в нынешней и прошлых компаниях (Facebook, Toptal, Klarna, Яндекс) — прекрасные профессионалы с огромным опытом, которым явно есть чем поделиться. Тем не менее, большинство из них неактивны публично. Почему?

Читать далее
Total votes 27: ↑17 and ↓10+7
Comments32

Telegram Django Bot за пару строк

Reading time7 min
Views25K

На Хабре много статей про разработку Телеграм ботов на Python, в том числе при помощи Django. Однако, большинство из них направлено на первичное ознакомление с API Телеграм.

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

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments5

Интеграция Telegram ботов в Django приложениях

Level of difficultyEasy
Reading time4 min
Views11K

Как же объединить Django и Telegram бота в одном проекте?

Этой статьей я хотел дополнить тот маленький клочок информации доступный в интернете по теме создания ботов который мне явно бы пригодился в прошлом. Сегодня речь пойдет о соединения вашего серверного приложения с Telegram ботом на примере языка Python, его фреймворка для разработки серверных приложений - Django и библиотеки для создания Telegram ботов - pyTelegramBotApi.

Читать далее
Total votes 7: ↑6 and ↓1+5
Comments18

Почему я возмущен хабрапостом на 75 минут, или Вы неправильно нанимаете DevOps

Level of difficultyMedium
Reading time12 min
Views15K
Достаточно часто я сталкиваюсь с существенной проблемой, которую допускают многие компании на уровне почти всех отделов при найме DevOps. Она многоуровневая и затрагивает как взаимодействие и зоны ответственности HR-отдела и нанимающей команды, так и выстраивание общих процессов внутри компании, например актуальной базы знаний и открытость дальнейших планов для лидов.

Меня зовут Андрей Сухоруков, я DevOps TeamLead в «Лаборатории Касперского». В IT я в общей сложности более 11 лет и в течение карьеры очень часто примерял на себя роль антикризисного лида, разрешая большие проблемы в больших проектах практически во всех отраслях бизнеса: металлургия, банки, госструктуры; был консультантом на аутсорсе. А еще — нанимал и, соответственно, собеседовал. Поэтому отлично знаю, о чем говорю.
Читать дальше →
Total votes 41: ↑30 and ↓11+19
Comments25

Сначала войдите через Телеграм

Reading time5 min
Views38K

Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится.

Читать далее
Total votes 67: ↑64 and ↓3+61
Comments51

Покрытие архитектуры as Code тестами

Level of difficultyEasy
Reading time16 min
Views5.3K

💬 На самом деле, моя идея написания тестов на архитектуру настолько проста, легко реализуема и при этом полезна, что я до сих пор толком не понимаю, почему я не встречал материалов на эту тему, и сама тема всё ещё не используется повсеместно 🙂
Статья написана по следам моих докладов на трёх крупных ИТ-конференциях, на каждой из которых ко мне подходили архитекторы и разработчики российских бигтехов, говорили, что я очень точно попал в их боли и предложил суперпрактику, которую они теперь будут внедрять. На всех трёх конференциях я получил высшие оценки от аудитории, а на двух из них доклад был признан лучшим в своей секции. В конце статьи приведена ссылка на видео доклада с одной из конференций.
В статье я поделюсь своей идеей и OpenSource-реализацией решения для написания тестов, разберу примеры тестов на небольшой учебной микросервисной архитектуре, а также расскажу про личный опыт и профит от применения этой практики.
Для разработчиков монолита тоже есть небольшой бонус: в OpenSource-репозитории появилась реализация и примеры тестов на архитектуру модульного монолита.

Читать далее
Total votes 26: ↑24 and ↓2+22
Comments8

Повесть «НИИЧОСИ. S.A.Day»

Reading time13 min
Views18K
image

Опубликовав повесть «НИИЧОСИ. Дежурная ночь», решил не останавливаться. Я все так же продолжаю работать в крупной IT-компании дежурным админом. В дневных дежурствах родилось продолжение повести.
Читать дальше →
Total votes 52: ↑45 and ↓7+38
Comments15

Повесть «НИИЧОСИ. Дежурная ночь»

Reading time16 min
Views39K


Работа в крупной IT-компании на дежурствах в отделе центра обработки данных накладывает свои отпечатки на образ жизни. В ночных дежурствах родилась данная повесть. Представляю вашему вниманию it-параллель с братьями Стругацкими.
Читать дальше →
Total votes 52: ↑47 and ↓5+42
Comments28

Квест-рассказ «НИИЧОСИ. Новичок»

Reading time16 min
Views12K
image

Всем привет! Поздравляю с Днем Программиста! К моему горькому сожалению, в прошедший День Сисадмина я не нашел на просторах интернета каких-либо конкурсов или квестов, как было в прошлые года (есть вероятность, конечно, что плохо искал). Поэтому я решил создать свой квест для Вас. Чтобы совместить приятное с интересным, я написал квест-рассказ продолжение про НИИЧОСИ.
Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments9

sudo rm -rf, или Хроника инцидента с базой данных GitLab.com от 2017/01/31

Reading time15 min
Views64K

Он пьянел медленно, но все-таки опьянел, как-то сразу, скачком; и когда в минуту просветления увидел перед собой разрубленный дубовый стол в совершенно незнакомой комнате, обнаженный меч в своей руке и рукоплещущих безденежных донов вокруг, то подумал было, что пора идти домой. Но было поздно.

Аркадий и Борис Стругацкие

31 января 2017 года произошло важное для мира OpenSource событие: один из админов GitLab.com, пытаясь починить репликацию, перепутал консоли и удалил основную базу PostgreSQL, в результате чего было потеряно большое количество пользовательских данных и сам сервис ушел в офлайн. При этом все 5 различных способов бэкапа/репликации оказались нерабочими. Восстановились же с LVM-снимка, случайно сделанного за 6 часов до удаления базы. It, как говорится, happens. Но надо отдать должное команде проекта: они нашли в себе силы отнестись ко всему с юмором, не потеряли голову и проявили удивительную открытость, написав обо всем в твиттере и выложив в общий доступ, по сути, внутренний документ, в котором команда в реальном времени вела описание разворачивающихся событий.


Во время его чтения буквально ощущаешь себя на месте бедного YP, который в 11 часов вечера после тяжелого трудового дня и безрезультатной борьбы с Постгресом, устало щурясь, вбивает в консоль боевого сервера роковое sudo rm -rf и жмет Enter. Через секунду он понимает, что натворил, отменяет удаление, но уже поздно — базы больше нет...


По причине важности и во многих смыслах поучительности этого случая мы решили целиком перевести на русский язык его журнал-отчет, сделанный сотрудниками GitLab.com в процессе работы над инцидентом. Результат вы можете найти под катом.

Читать дальше →
Total votes 93: ↑87 and ↓6+81
Comments129

System Design 101

Level of difficultyMedium
Reading time42 min
Views76K



О сложных системах простыми словами.


В шпаргалке на высоком уровне рассматриваются такие вещи, как протоколы коммуникации, DevOps, CI/CD, архитектурные паттерны, базы данных, кэширование, микросервисы (и монолиты), платежные системы, Git, облачные сервисы etc. Особую ценность представляют диаграммы — рекомендую уделить им пристальное внимание. Полагаю, шпаргалка будет интересна всем, кто хоть как-то связан с разработкой программного обеспечения и, прежде всего, веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий, терминологии, логики/алгоритмов работы систем (в рамках того, что по этому поводу содержится в оригинале), а также в обнаружении очепяток.


Выражаю благодарность Анне Неустроевой за помощь в редактировании материала.


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


System Design (сборник на английском языке).

Читать дальше →
Total votes 79: ↑79 and ↓0+79
Comments17

Вопросы по DevOps. Часть 1

Level of difficultyMedium
Reading time75 min
Views23K


Hello world!


В первой части шпаргалки (вопросника, если угодно) на высоком уровне рассматриваются такие вещи, как сеть, HTTP, операционная система, виртуализация, хранилище etc., а также несколько технологий, используемых в сфере DevOps, таких как Prometheus, OpenStack, Puppet, Elastic etc. (вопросы с ответами из основного репозитория оригинала). Полагаю, шпаргалка будет интересна всем, кто связан с разработкой программного обеспечения, прежде всего, с разработкой веб-приложений. Буду признателен за помощь в уточнении/исправлении понятий/терминов, а также в обнаружении очепяток.


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

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments9

Palo Alto Networks. Учимся думать как firewall. Сессии и состояния

Reading time7 min
Views11K

Настоящей статьей начинаем цикл статей, посвященных траблшутингу (решению проблем) и анализу работы межсетевых экранов производства Palo Alto Networks – одного из мировых лидеров в сфере разработки оборудования для обеспечения информационной безопасности.

Давайте разберемся, – что такое сессия, и как она работает в разрезе межсетевого экрана Palo Alto Networks.

Читать далее
Total votes 2: ↑2 and ↓0+2
Comments3

Grafana as code, или как я перестал кликать мышкой в UI и полюбил grafonnet

Reading time15 min
Views31K

Когда мы в Tarantool столкнулись с задачей настройки мониторинга для сдачи проекта заказчику, мы решили её с помощью grafonnet. Это библиотека для написания дашбордов Grafana с помощью кода на языке jsonnet, которая заметно облегчила нам жизнь.


Рассказ поделён на две части. В первой я делюсь нашей историей знакомства с grafonnet, причинами, по которым мы выбрали этот инструмент, и задачами, которые мы решили с его помощью. Вторая представляет собой пошаговое обучение написанию простого дашборда для Prometheus. Так что если ситуации, описанные мной в первой половине статьи, покажутся вам знакомыми, вторая позволит вам совершить первый шаг на пути к их разрешению.


Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments7

Time series данные в реляционной СУБД. Расширения TimescaleDB и PipelineDB для PostgreSQL

Reading time21 min
Views59K
Time series данные или временные ряды — это данные, которые изменяются во времени. Котировки валют, телеметрия перемещения транспорта, статистика обращения к серверу или нагрузки на CPU — это time series данные. Чтобы их хранить требуются специфичные инструменты — темпоральные базы данных. Инструментов — десятки, например, InfluxDB или ClickHouse. Но даже у самых лучших решений для хранения временных рядов есть недостатки. Все time series хранилища низкоуровневые, подходят только для time series данных, а обкатка и внедрение в текущий стек — дорого и больно.



Но, если у вас стек PostgreSQL, то можете забыть о InfluxDB и всех остальных темпоральных БД. Ставите себе два расширения TimescaleDB и PipelineDB и храните, обрабатываете и проводите аналитику time series данных прямо в экосистеме PostgreSQL. Без внедрения сторонних решений, без недостатков темпоральных хранилищ и без проблем их обкатки. Что это за расширения, в чем их преимущества и возможности, расскажет Иван Муратов (binakot) — руководитель отдела разработки в «Первой Мониторинговой Компании».
Total votes 50: ↑48 and ↓2+46
Comments16

Девопсу на заметку: готовим Helm правильно

Reading time13 min
Views19K

Несколько несложных примеров того, как на практике можно использовать продвинутые возможности Helm для эффективной организации безупречной continuous delivery в Kubernetes. Полезные рецепты, чтобы поддерживать конфигурации множества тестовых и production сред - удобно, безопасно, без копипасты и приятно на вид. Методы поддержания целостности сред - чтобы "зелёный" статус пайплайна всегда означал удачный деплоймент, а в случае неудачи среда бы сама восстанавливалась.

Читать далее
Rating0
Comments2

Helm Best Practices (Part 1)

Level of difficultyEasy
Reading time5 min
Views3K

По мере понимания рабочего процесса Helm и разработки своих чартов замечаешь, что у нас обычно есть несколько путей, чтобы добиться поставленной задачи.

Если у нас есть 5 вариантов решений, то новичку трудно понять, какой из них лучше.

Здесь я попробовал создать список общих указаний и рекомендаций, чтобы получить представление об оптимальных способах работы с helm-чартами.

Здесь будет 7 тем в 3-х постах, и в основном это есть в документации Helm по ссылке https://helm.sh/docs/chart_best_practices/

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0
1
23 ...

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Chief Product Officer (CPO), SRE
Lead
From 1,000,000 ₽
Linux
High-loaded systems
Nginx
Kubernetes
Docker
Git
People management
Project management
Business process management