DevOps дайджест #25: як деплоить за 50ms і не прокидатися о 4 ранку від алертів

У випуску: як побудувати Graphite stack, зробити distributed tracing, навчитися Helm, а також класні Grafana дашборды для натхнення.

CI/CD

How Dark deploys code in 50ms
Дуже цікаво, як хлопці побудували свої процеси. Замість звичайних 35 кроків у них 6. Docker билдить не обов'язково, контейнер деплоить не обов'язково. Все не як у людей! Але дуже цікавий погляд, як можна зробити по-іншому.

Modeling continuous delivery
Автор розглядає проблеми, які є в CD процесах. У даній статті не так цікаво його рішення (otto), як ці проблеми. Думаю, ви знайдете корисності для себе.

Creating a Helm Chart Repository — Part 1 , Part2 , Part3
Якісний цикл статей з 3 частин, як організувати роботу з Helm, Helm репозиторіями, чартами, тестуванням і т. д. Зверху на все це можна відмінно накрутити helsman .

Моніторинг

Big-picture архітектури Graphite stack в AWS

Scaling Graphite in a cloud environment
Як побудувати Graphite stack в клауде, щоб він опрацьовував 400k data points p/sec в хмарі на 14 інстансах c5d.4xlarge.

Retaining Logs For A Year: Boring or Useful?
Скільки часу дійсно корисно зберігати логи? Протягом якого часу вони будуть для вас корисними? В більшості випадків відповідь індивідуальний і залежить від умов роботи, типу сервісу та багатьох інших факторів.

Tinder & Grafana: A Love Story in Metrics and Monitoring
Хороший доповідь про історію використання і поліпшення Grafana в Tinder. У доповіді обговорюється процес міграції з Cloudwatch на Prometheus і потім на prometheus-operator .

Public Wikimedia Grafana graph

Worth a Look: Public Grafana Dashboards
Класні відкриті Grafana дашборды для натхнення. Є посилання на GitLab, Вікісховище, CNFC, Zabbix та інші.

Куди надсилати сповіщення, якщо критично і не дуже

Nobody wants to be woken up at 4 am
Хороша стаття з відсиланнями до SRE Book від Google. У двох словах: якщо вам приходить алерт, ви на нього дивіться і нічого не робите чи відкладаєте на потім — потрібно переглянути необхідність цього сповіщення. Не потрібно надсилати severity:INFO або severity:WARNING у Opsgenie.

Lessons learned

When do you need a Site Reliability Engineer?
Хто такий SRE? Які зони відповідальності? Відмінний відповідь від інженера з InfluxData.

Intro to Distributed Tracing
Хороша стаття про Distributed Tracing: автор розглядає причини виникнення, основні фреймворки та реалізації. Якщо у вас ще немає Zipkin/Jaeger — буде сверхполезно.

debugging in production
Чергове підтвердження, що далеко не всіма статтями і блогах можна довіряти. Автор рекомендує робити coredumps у production оточенні. Нагадаю, це антипаттерн — debug повинен бути де завгодно, але не в реальному «бойовому» оточенні. Що робити, якщо не відтворюється? Уніфікувати оточення, зробити їх максимально ідентичними, відтворювати, тиражувати трафік. Але не робити coredumps на запити реальних користувачів.

Serverless Security Workshop
Workshop, як правильно захистити і побудувати безпеку для Serverless додатків в AWS Lambda.

How to write ідемпотентний Bash scripts
Якщо ви ще пишете bash скрипти (а я знаю, періодично доводиться), то краще робити їх идемпотентными.

Lessons learned from running Kafka at Datadog
У компанії більше 40 кластерів з Kafka, і вони діляться досвідом про своїх помилках і рішеннях. У статті багато графіків та варіантів рішення. Наприклад, їх kafka-kit .

Висновок

Наступного DevOps дайджест ми плануємо додати ще кілька авторів. Основна причина — різниця експертиз. Друга — bus factor. Разом ми зможемо зробити більш великий і якісний дайджест. Поки є 2 вакантних місця, докладніше — у моєму Telegram-каналі: DevOps дайджест на dou.ua


? Попередній випуск: DevOps дайджест #24

Опубліковано: 27/07/19 @ 10:00
Розділ Блоги

Рекомендуємо:

Kanban як основа для виробництва software
Як направити трафік з instagram на сайт
Ми хотіли найняти штат програмістів в продукт. Навіть з бюджетом це виявилося не так просто
Зарплати українських розробників — червень 2019
Front-end дайджест #35: Hermes, JS-in-CSS і VS Code на стероїдах