#devopsспитав_devopsвідповів
Як зробити scale services через таргет-групу?
Розберемо ситуацію: робимо scale services на основі метрик у VCS, використовуючи два інстанси та різні task definitions. Прописуємо в task definitions контейнери, і виходить, що вони нічого не знають. Фактично доводиться використовувати хард-код, щоб зв'язати їх між собою по internal IP ec2-машинах. Питання: як можна по-іншому реалізувати процес, щоб уникнути хард-коду?
Відповідь: через таргет-групи. У цій ситуації послуги і не повинні знати один про одного. Є autodiscover таргет-групи, а скейлити повинна і таргет-група, і автоскейлінг-група. Наприклад, якщо кластеру не вистачає ресурсів, підключається автоскейлінг-група.
Таким чином, скейлінг може дати нову ноду. І якщо на новій ноді розгортається новий інстанс сервісу, на основі чого решта сервісу знатиме, що це новий контейнер і туди подаватиме трафік? В такому випадку таргет-група робить autodiscover сервісів.
Є варіант із SRV-записом, але він не найкращий – ви змушені перескакувати через таргет-групу. Так задумано, що весь трафік йде через таргет-групу, таргет-група робить discover сервіси і сервіси починають приймати трафік. Можна рано посилати трафік, або сервіс вже помер, а ви все ще намагаєтеся послати трафік. Тому і рекомендуємо робити все через таргет-групи.
Як зробити scale services через таргет-групу?
Розберемо ситуацію: робимо scale services на основі метрик у VCS, використовуючи два інстанси та різні task definitions. Прописуємо в task definitions контейнери, і виходить, що вони нічого не знають. Фактично доводиться використовувати хард-код, щоб зв'язати їх між собою по internal IP ec2-машинах. Питання: як можна по-іншому реалізувати процес, щоб уникнути хард-коду?
Відповідь: через таргет-групи. У цій ситуації послуги і не повинні знати один про одного. Є autodiscover таргет-групи, а скейлити повинна і таргет-група, і автоскейлінг-група. Наприклад, якщо кластеру не вистачає ресурсів, підключається автоскейлінг-група.
Таким чином, скейлінг може дати нову ноду. І якщо на новій ноді розгортається новий інстанс сервісу, на основі чого решта сервісу знатиме, що це новий контейнер і туди подаватиме трафік? В такому випадку таргет-група робить autodiscover сервісів.
Є варіант із SRV-записом, але він не найкращий – ви змушені перескакувати через таргет-групу. Так задумано, що весь трафік йде через таргет-групу, таргет-група робить discover сервіси і сервіси починають приймати трафік. Можна рано посилати трафік, або сервіс вже помер, а ви все ще намагаєтеся послати трафік. Тому і рекомендуємо робити все через таргет-групи.
🔥4🤔1
💥 Дуже цікаві роздуми про те, що прогрес у технологіях та інженерне масштабування ー це постійне зростання ризиків відмов. Що більше ми винаходимо, тим більше створюємо проблем на інженерному рівні. Статтю можна прочитати або послухати.
Medium
Engineering For Failure
A set of practical patterns to recover from failures in external services
👍3
Можна вічно дивитись на вогонь, воду та як ком’юніті сперечається, хто ж такий DevOps 🤔 Є думка, що в культурі DevOps можна виділити такі ролі:
✔️ Build Engineer – спеціаліст, що відповідає за збірку коду (підтягування залежностей, розбір конфліктів у коді тощо).
✔️ Release Engineer – відповідальний за доставку коду від розробки до продакшену (гілки, білди тощо).
✔️ Automation Engineer – людина, що автоматизує все (збірка при пуші в Git, прогон тестів, деплой на стейджингу та в продакшен тощо).
✔️ Security Engineer – фахівець, що працює з безпекою (тести, вразливість компонентів тощо).
На вашу думку, чи можна ці ролі віднести до DevOps? Пишіть в обговорені 👇
✔️ Build Engineer – спеціаліст, що відповідає за збірку коду (підтягування залежностей, розбір конфліктів у коді тощо).
✔️ Release Engineer – відповідальний за доставку коду від розробки до продакшену (гілки, білди тощо).
✔️ Automation Engineer – людина, що автоматизує все (збірка при пуші в Git, прогон тестів, деплой на стейджингу та в продакшен тощо).
✔️ Security Engineer – фахівець, що працює з безпекою (тести, вразливість компонентів тощо).
На вашу думку, чи можна ці ролі віднести до DevOps? Пишіть в обговорені 👇
🤔3🤨1
Using Kubectl Scale ーTutorial and Best Practices. Kubectl Scale ー один з інструментів, що допомагає керувати деплойментами в Kubernetes. Дізнайтеся, як це робити на прикладах best practices.
👍5
😳А ви знали, що cтандартне ядро Linux сьогодні має понад 10 000 000 рядків коду, і ця цифра щорічно зростає на 10%?
Це відбувається через те, що до ядра додається близько 4500 рядків коду, й щодня змінюється 1500 рядків. Для порівняння: у 1991 році версія ядра Linux 0.01 містила 10239 рядків.
Це відбувається через те, що до ядра додається близько 4500 рядків коду, й щодня змінюється 1500 рядків. Для порівняння: у 1991 році версія ядра Linux 0.01 містила 10239 рядків.
👍7
Критичні помилки системного адміністратора
❌ Покладатися на систему резервного копіювання.
✅Бажано періодично перевіряти бекапи мануально.
❌ Відсутність документації.
✅Всі зміни у налаштуваннях інфраструктури мають бути зафіксовані.
❌ Відсутність планування.
✅Сисадмін повинен мати як довго- й середньострокові плани, так і сценарії оперативного розв’язання задач.
❌ Пласка побудова мережі.
✅Краще сегментувати мережу та використовувати VLAN.
❌ Однотипне ПЗ.
✅Рекомендовано використовувати в інфраструктурі альтернативні операційні системи, якщо це можливо.
А як у вас із цим? Обговоримо у коментарях ⬇️
❌ Покладатися на систему резервного копіювання.
✅Бажано періодично перевіряти бекапи мануально.
❌ Відсутність документації.
✅Всі зміни у налаштуваннях інфраструктури мають бути зафіксовані.
❌ Відсутність планування.
✅Сисадмін повинен мати як довго- й середньострокові плани, так і сценарії оперативного розв’язання задач.
❌ Пласка побудова мережі.
✅Краще сегментувати мережу та використовувати VLAN.
❌ Однотипне ПЗ.
✅Рекомендовано використовувати в інфраструктурі альтернативні операційні системи, якщо це можливо.
А як у вас із цим? Обговоримо у коментарях ⬇️
👌5
Плагін helm-dashboard
Цей плагін дозволяє переглядати встановлені Helm Charts (Helm – пакетний менеджер для Kubernetes, Charts – спеціальний формат пакетів у Helm). З його допомогою є можливість аналізувати історію та відповідні ресурси k8s. Також доступні прості дії, як от повернення до попередньої версії або оновлення.
Цей плагін дозволяє переглядати встановлені Helm Charts (Helm – пакетний менеджер для Kubernetes, Charts – спеціальний формат пакетів у Helm). З його допомогою є можливість аналізувати історію та відповідні ресурси k8s. Також доступні прості дії, як от повернення до попередньої версії або оновлення.
👍6❤1
🤔 Про вічне: стосунки девів та опсів. Чи є у них майбутнє? Цікавий огляд панельної дискусії The New Stack.
The New Stack
Devs and Ops: Can This Marriage Be Saved?
At The New Stack's KubeCon North America event, panelists and audience debated whether platform engineering can help alleviate pain points. #platformengineering #DevOps #sponsored #KubeCon #CloudNativeCon
👍7
DevSecOps дедалі стає активною та невід'ємною частиною процесу розробки за принципами DevOps. Безпека вбудовується в продукт за допомогою активних перевірок і тестування безпеки у робочих процесах. Безпека – важлива частина конвейєру Continuous Integration and Continuous Delivery 👌
👍4
💥CRDs-catalog – корисний репозиторій Kubernetes CRDs (CustomResourceDefinition) у форматі JSON. У каталозі знайдете понад 100 популярних CRD. Ці схеми можна використовувати в різних інструментах на кшталт Datree, Kubeconform, Kubeval як альтернативу kubectl --dry-run. Можна виконувати валідацію на кастомних та оригінальних ресурсах Kubernetes.
👍5
Підбірка продуктів Atlassian, які можна використовувати в циклі DevOps.
🛠 Build:
-Bitbucket
✔️ Plan:
-Jira Software
-Confluence
-Trello
🔍 Discover:
-Jira Product Discovery (beta)
📬 Continuous Feedback:
-Jira Service Management
⚙️ Operate:
-Opsgenie
-Statuspage
-Compass
-Jira Service Management
🚀 Deploy:
-Bitbucket
🤝 Collaboration and Communication:
-Confluence
-Trello
🛠 Build:
-Bitbucket
✔️ Plan:
-Jira Software
-Confluence
-Trello
🔍 Discover:
-Jira Product Discovery (beta)
📬 Continuous Feedback:
-Jira Service Management
⚙️ Operate:
-Opsgenie
-Statuspage
-Compass
-Jira Service Management
🚀 Deploy:
-Bitbucket
🤝 Collaboration and Communication:
-Confluence
-Trello
🔥5
💥 Незалежно від того, використовуєте ви контейнер чи віртуальну машину, такі опції як моніторинг, пайплайни, GitOps тощо – повністю у вашому розпорядженні. Багато цікавого й корисного у статті про майбутнє віртуалізації інфраструктури.
👍4
🦾 Sidekick – дебагер застосунків, що робить траблшутинг у режимі реального часу можливим, без зупинки програм. Що ще? Можна додавати динамічні логи та нерозривні точки зупинки у застосунку, що працює, без стопу та ре-деплойменту. Sidekick – відмінне рішення для траблшутингу в режимі реального часу.
🔥5
Стаття, варта вашої уваги: Infrastructure Cost Optimization In The Cloud. Практичний розбір заходів, що допоможуть розробникам та архітекторам заощадити на хмарній інфраструктурі.
⚡️ Швидкість – одна з ключових характеристик девопс-культури. Команди, які використовують DevOps, набагато швидше випускають стабільні релізи високої якості. Згідно даним DevOps Research and Assessment (DORA), вони виконують розгортання у 208 разів частіше та у 106 разів швидше, аніж ті, що не використовують принципи девопс в своїй роботі. А створювати, тестувати та доставляти ПЗ швидше дозволяє автоматизація, яка можлива завдяки безперервній доставці.
Поділіться в коментарях, чи впливають інструменти DevOps на швидкість у ваших проєктах? Як саме?
Поділіться в коментарях, чи впливають інструменти DevOps на швидкість у ваших проєктах? Як саме?
👍5🤔1
💥 Terraform version check (tfvc) – репортінг-інструмент для перевірки доступних оновлень для провайдерів та модулів вашого коду в Terraform. Terraform version check видає зрозумілий план дій, якщо виявляє якісь інциденти.
👍4🔥1
💥 Ну дуже корисна стаття!
Адже метрики та логи – то порядок денний всіх DevOps. У матеріалі дізнаєтесь про концепцію спостереження, чому вона необхідна у розробці програмного забезпечення, а також про три її стовпи – метрики, відстеження та логування. Саме ці компоненти створюють повну картину того, що відбувається у вашій інфраструктурі.
Адже метрики та логи – то порядок денний всіх DevOps. У матеріалі дізнаєтесь про концепцію спостереження, чому вона необхідна у розробці програмного забезпечення, а також про три її стовпи – метрики, відстеження та логування. Саме ці компоненти створюють повну картину того, що відбувається у вашій інфраструктурі.
Coder Society
Article Detail
In this article, you’ll learn about the concept of observability, why it's essential in modern software delivery, and how the three pillars of observability (metrics, tracing, and logging) work together to provide a complete picture of what's going on in…
👍5