Пятничный деплой
4.46K subscribers
1.41K photos
29 videos
167 files
7.78K links
Подборка ссылок, статей и постов из мира DevOps\SRE\разработки. Если вы хотите прислать фидбек, интересную статью или просто поболтать пишите @count0ru https://xn--r1a.website/s/count0_digest
Download Telegram
DHH посчитал, что сэкономит более $10 млн, уйдя из облаков

David Heinemeier Hansson (hey.com, а также BaseCamp, Ruby-on-Rails, Rework, Remote, как говорится, to name a few) на днях поделился выкладками по экономии от перехода из клаудов в онпрем. Чтобы не читать восемь абзацов, вот вам сухие цифры в одном: потратили $700,000 на железо (Dell), облачный кост снизили с $3.2 million/year до $1.3 million. Оставшееся - 10 петабайт в S3 на Амазоне, на 4-х летнем котракте; за сумму равной годовому чеку, они закупят ещё железа, и уедут из облаков совсем. Сравнение, конечно, не совсем корректное, но в тренде! Так что следим и учимся системному дизайну и планированию мощностей, чтобы уметь в self managed или хотя бы считать и оптимизировать облачный кост 🙂

https://world.hey.com/dhh/our-cloud-exit-savings-will-now-top-ten-million-over-five-years-c7d9b5bd
🔥8
Forwarded from Enabling.team Insights
В конце октября 2024 года вышел 31-й выпуск технологического радара от компании ThoughtWorks. Мы внимательно изучили новый выпуск и подготовили краткий обзор. Напомним, что технологический радар выходит 2 раза в год на протяжении уже 15 лет, за это время на радаре появилось больше 1600 практик, платформ, фреймворков и инструментов. В подготовке радара участвуют такие эксперты, как Martin Fowler, Neal Ford, James Lewis, Rebecca Parsons и другие.

Отчет начинается с четырех инсайтов в индустрии на конец 2024 года:
1. Появление антипаттернов применения AI инструментов к процессам разработки;
2. Появление новых инструментов и рост интереса к языку Rust;
3. Распространение открытого стандарта WebAssembly (WASM);
4. Бум инструментов генеративного AI.

В новом выпуске на радаре упоминаются 23 практики, 17 платформ и более 60 инструментов, проектов и фреймворков. Что интересного мы отметили:
1. Упоминание практики Continuous Deployment. Последний раз практика появлялась на радаре в далеком 2011 году и новое упоминание связано с выходом одноименной книги Continuous Deployment от Valentina Servile (эксперта ThoughtWorks);
2. Появление нового подхода Observability 2.0 и разработка инструментов следующего поколения , подробнее в Whitepaper и выпуске подкаста Last Week in AWS с Charity Majors;
3. Развитие инструментов для локальной разработки и Dev окружений:
- Графический Git клиент GitButler, упрощающий работу с ветками;
- Консольная утилита DevBox для создания Dev окружений;
- Консольная утилита Difftastic для поиска различий в коде;
- Современный терминал Warp для macOS и Linux, написанный на Rust;
- Инструмент для MacOS для локального контроля сборок CCMenu;
4. Развитие практик, плафторм и инструментов, связанных с CI/CD:
- Практика 1% канареечного релиза;
- Continuous Delivery платформа Spinnaker;
- Платформа управления Feature флагами Unleash;
- Сервис Unblocked для поиска информации и улучшения навигации во внутренних системах и платформах;
- Проект и спецификация Score для стандартизации описания конфигураций платформ и окружений, проект активно развивается и недавно был принят в CNCF Sandbox;
- Практика Component testing и инструмент для автоматизации запуска интеграционных тестов Testcontainers;
5. Инструменты для Kubernetes:
- Консольная утилита K9s для управления кластерами;
- Дистрибутив Elastisys Compliant Kubernetes, который теперь называется Welkin;
6. Проект и фреймворк SST для развертывания приложений в облаках, более ориентированный на разработчиков;
7. Проект и спецификацию Passkeys для аутентификации от FIDO Alliance;
8. Практики и инструменты для Data Engineering и MLOps: Kedro, ReadySet, FoundationDB, ClickHouse, применение GraphQL для Data продуктов;
9. Инструменты на Rust: Mise, Iggy, Pingora, uv, Zed, Rspack, Slint;
10. Практики и инструменты для AI и LLM: RAG, Fine-tuning embedding models, Function calling, LLM as a judge, Small language models (SLMs), Synthetic data for testing and training models, Using GenAI to understand legacy codebases, AI team assistants, Dynamic few-shot prompting, LLM-powered autonomous agents, On-device LLM inference, Structured output from LLMs, FastChat, Langfuse, Qdrant, ColPali, Cursor, Instructor, LiteLLM, LLM Guardrails, Microsoft Autogen, Pingora и др.

Подробнее про практики, платформы и инструменты читайте в новом 31-м выпуске технологического радара от ThoughtWorks.
🔥5👍2
Forwarded from Мониторим ИТ
Build an Interactive OpenStack Compute Node Monitoring System with Prometheus, Grafana, and Telegram Bot for Real-Time and On-Demand Queries

В этой статье рассматривается, как создать интерактивную систему мониторинга узлов OpenStack с проволокой и куском изоленты Prometheus, Grafana и ботом Telegram для запроса статистики в реальном времени по требованию. В результате у вас будет решение для мониторинга, которое предоставляет информацию в реальном времени и мгновенные настраиваемые ооповещения в Telegram. Читать статью.

❗️Статья на medium.com
Forwarded from DevOps FM
Делимся полезным постом от @DevOpsKaz

👩‍💻 Основные команды Kubernetes для восстановления после сбоев, которые помогают в 99% случаев:

kubectl get pods --all-namespaces Проверить статус всех подов во всех неймспейсах, чтобы найти сбои.

kubectl describe pod pod_name Получить подробную информацию о неудачном поде.

kubectl logs pod_name -c container_name Просмотреть логи конкретного контейнера в поде для устранения проблем.

kubectl get events --all-namespaces --sort-by='.metadata.creationTimestamp Просмотреть последние события для нахождения ошибок и сбоев.

kubectl get nodes Проверить статус нод в кластере и выявить возможные сбои на нодах.

kubectl drain node_name --ignore-daemonsets Безопасно эвакуировать и изолировать ноду для восстановления.

kubectl cordon node_name Пометить ноду как недоступную для планирования новых подов во время восстановления.

kubectl delete pod pod_name --grace-period=0 --force Принудительно удалить сбойный под, чтобы перезапустить его или освободить ресурсы для восстановления.

kubectl rollout undo deployment deployment_name Откатить деплоймент, если новый релиз вызывает сбои.

kubectl exec -it pod_name -- /bin/sh Получить доступ к контейнеру для отладки и решения проблем прямо внутри пода.

kubectl get componentstatuses Проверить здоровье ключевых компонентов кластера, таких как etcd и kube-apiserver.

kubectl top nodes Мониторить использование ресурсов нод, чтобы выявить проблемы с исчерпанием ресурсов.

kubectl top pods --all-namespaces Проверить использование ресурсов подов во всех неймспейсах для выявления узких мест.

kubectl delete node node_name Удалить неработающую ноду из кластера для восстановления.

etcdctl --endpoints=https://etcd-server:2379 snapshot restore backup.db Восстановить etcd из снимка в случае сбоя.

kubectl apply -f backup.yaml Применить конфигурации из резервной копии во время восстановления.

kubectl taint nodes node_name key=value Запретить планирование подов на ноду, которая имеет проблемы, в процессе восстановления.

kubectl get endpoints service_name Проверить конечные точки сервиса, чтобы убедиться в их корректной работе во время восстановления.

😛 #партнёрский_пост
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Forwarded from /usr/bin
Surprising Applications for PostgreSQL You Probably Didn’t Know About

Необычные применения БД PostgreSQL:

🚀 Postgres as the Cluster Datastore for Kubernetes

🚀 Postgres as the Backend for Helm Releases

🚀 Promscale — PostgreSQL for Metrics, Tracing, and Logs

🚀 Dapr: Using Postgres for Application Configuration

🚀 MassTransit and Postgres as a Message Queue

❗️статья на medium.com
🖇 Battle of the RabbitMQ Queues: Performance Insights on Classic and Quorum - о классических и кворумных очередях в RabbitMQ. Какой тип очереди выбрать для решения тех или иных задач, какие есть плюсы у каждого из типов...

https://dzone.com/articles/battle-of-the-rabbitmq-queues-performance-insights

#rabbitmq #напочитать
👍1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⚒️ Как создавать отказоустойчивые системы: #инфографика для разработчика

👉 Источник
👍4
Forwarded from DevOps&SRE Library
Why I like discussing actions items in incident reviews

https://incident.io/blog/why-i-like-discussing-actions-items-in-incident-reviews
👍2
🛠️ Бенчмаркинг и тестирование производительности в Go

Насколько быстр ваш код? Тесты расскажут вам об этом. К счастью, в Go есть бенчмаркинг, интегрированный в toolchain, наряду с тестированием. Вот руководство по бенчмаркингу для новичков в Go👇

🔗 Читать
👍2
аж комментарии открыть захотелось!
👍3👎3
Forwarded from Мониторим ИТ
Zabbix vs Prometheus. Что выбрать для гетерогенной инфраструктуры?

Плюсы, минусы, подводные камни 🙃 На самом деле в этой статье рассказано в деталях об установке обоих решений и некоторые детали по ним. Читать статью.
👎8👍1
Forwarded from k8s (in)security (r0binak)
Начинаем эту неделю с неплохой статьи "Kubernetes RBAC Permissions You Might Not Know About, but Should". Она поможет разобраться с опасными RBAC правами в Kubernetes, а также разъяснит потенциальный импакт от использования таких прав.

Конечно, в статье описаны далеко не все такие права. Так например, у нас в Luntry используется около 40 правил для проверки опасных прав RBAC. Кроме этого есть возможность создавать свои правила.
🔥2
Forwarded from /usr/bin
Linux Beyond the Basics: How Linux Reads and Writes Files

В статье подробно разобран механизм чтения и записи данных на ФС Linux.

❗️Статья на medium.com
Forwarded from Библиотека программиста | программирование, кодинг, разработка
⚒️ Фундаментальные основы Redis: на заметку разработчику

👉 Источник

#инфографика
Forwarded from linkmeup
Скажу честно, у самого руки пока до Talos (для куба, а не эти ваши циски и что там ещё есть с таким же названием) не дошли, но с мест докладывают, что проект очень интересный. Потому что кластер, потому что минималистичность без мусора, так необходимая подам, и потому что просто работает, позволяя на ходу доставать из широких штанин напильник любого размера.
Собственно, по ссылке курс молодого бойца.

https://a-cup-of.coffee/blog/talos/
👍2
Forwarded from DevOps&SRE Library
How to Structure a Terraform Project

As exciting as starting a new Terraform project may sound, the first question is where and how we begin. What should be the first file that needs to be created? When the project grows, we realize a few things and learn our lessons about structuring a project in a certain way, but it is too late to put in refactoring efforts.

Various aspects influence the way we manage our Terraform config in a repository. In this post, we will learn about them and discuss a few important strategies and best practices around structuring Terraform project files in an efficient and standardized way.


https://dev.to/spacelift/how-to-structure-a-terraform-project-1ojn
👍2
Forwarded from linkmeup
Я обычно не люблю, когда программисты вещают про сети, но тут прям хорошо. Без заумных слов и чтобы понял даже самый отбитый девопс. Мне кажется, это верный признак того, что автору пришлось усиленно разбираться в теме, перед тем как делать и выходить на публику.
Даже от набросов сетевиков в конце отбился достойно.
https://www.youtube.com/watch?v=-6iWRYkeF14
👎5👍4
Товарищи настраивали web application firewall․ Прислали им новый список айпишников‚ которые надо добавить в whitelist․
Полетел список по процедуре к инженерам‚ те копипастнули и фиганули на прод.
Конечно, всё упало․
А почему упало
Потому что в условно 5 из 200 айпишниках вместо обычной точки использовалась армянская точка․

Будьте внимательнее‚ когда получаете данные! Ну нельзя же спутать

127։0։0։1
127·0·0·1
127․0․0․1

Правда

Вам кажется‚ что вы никогда не попадёте в такую ситуацию
Тогда обратите внимание‚ что в этом тексте нет НИ ОДНОГО стандартного знака препинания!
‚ ‒ это не ,
․ ‒ это не .
и даже вот чёрточки ‒ которые использовались выше - это не дефисы, и даже не тире․
👍3👎2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Дорогие программисты (особенно кто кодит не профессионально и не часто), если не пользовались Cursor — рекомендую попробовать.

Это редактор кода на основе VS Code, в который встроили хорошую поддержку AI. Можно выбирать API из множества провайдеров, он сам корректно добавляет контекст, очень удобно подсвечивает добавления/изменения кода.

Я часто прошу накинуть прототип, который дальше довожу до ума. Можно выделить кусочек кода и попросить в нем что-то поменять.

Лично для меня полезно, потому что я программирую редко и часто не помню интерфейсы библиотек (и даже части синтаксиса), но хорошо понимаю, что хочу получить.

Хорошие фул-тайм программисты говорят, что им полезно как мощный инструмент рефакторинга, который берет на себя рутину.

Я сижу на бесплатном тарифе, больше тяжелых запросов — за 20$ в месяц.

Upd. Коллеги напоминают, что совсем недавно Lex Fridman взял интервью у создателей — занимательный разговор!
👎12👍1