#devopsспитав_devopsвідповів
Terraform та AWS: у чому різниця?
AWS управляє лише ресурсами AWS. А Terraform може управляти і AWS, і Azure, і Docker. Внутрішні інструменти AWS працюють майже без вад і одночасно оновлюються. У ситуації з Terraform може спізнюватися провайдер, але є плюс – платформу підтримує ком'юніті.
Terraform та AWS: у чому різниця?
AWS управляє лише ресурсами AWS. А Terraform може управляти і AWS, і Azure, і Docker. Внутрішні інструменти AWS працюють майже без вад і одночасно оновлюються. У ситуації з Terraform може спізнюватися провайдер, але є плюс – платформу підтримує ком'юніті.
🤔5👍4👎3😁1
CeresDB ー розподільча, високоефективна, schema-less та cloud native база даних, яка одночасно може обробляти навантаження з аналітики та часових рядків.
GitHub
GitHub - apache/incubator-horaedb: HoraeDB is a high-performance, distributed, cloud native time-series database.
HoraeDB is a high-performance, distributed, cloud native time-series database. - apache/incubator-horaedb
👍4
pre-commit
Фреймворк для управління та підтримки мультимовних pre-commit hooks.
Фреймворк для управління та підтримки мультимовних pre-commit hooks.
GitHub
GitHub - pre-commit/pre-commit: A framework for managing and maintaining multi-language pre-commit hooks.
A framework for managing and maintaining multi-language pre-commit hooks. - pre-commit/pre-commit
👍5
Цікава стаття про деплоймент у Kubernetes: від самого початку до налаштування конфігурацій власноруч.
Рекомендуємо 👍
Рекомендуємо 👍
www.airplane.dev
A Guide to Kubernetes Deployments
In this article, we'll cover the use cases and benefits of Kubernetes deployment, as well as the different strategies for executing deployments.
👌6👍2
#devopsспитав_devopsвідповів
Terraform: інфраструктура є, а tfstate немає. Як бути?
Можна підтягувати як remote state, і він буде використовуватися в режимі read only. Можна створити користувача в консолі, з правами адміністратора. У тестовому режимі не потрібні дозволи – це нічого не порушить. Якщо є старий tfstate, використовуєте cli. Або можна зробити експорт ресурсів, наприклад, експорт інфраструктури. Потрібно вказати фільтр по ресурсу та запустити експорт. Використовується в режимі read only.
Terraform: інфраструктура є, а tfstate немає. Як бути?
Можна підтягувати як remote state, і він буде використовуватися в режимі read only. Можна створити користувача в консолі, з правами адміністратора. У тестовому режимі не потрібні дозволи – це нічого не порушить. Якщо є старий tfstate, використовуєте cli. Або можна зробити експорт ресурсів, наприклад, експорт інфраструктури. Потрібно вказати фільтр по ресурсу та запустити експорт. Використовується в режимі read only.
👍3🤔2😁1
furiko ー cron-job платформа для Kubernetes. Базується в хмарах та підходить для рівня enterprise.
👍4
Брет Фішер розкриває тему поєднання Node.js і Docker у своєму виступі з DockerCon 2022 Talk. Пропонуємо послухати, як Node.js Rocks in Docker з прикладами. Буде цікаво тим, хто вже розбирається з обома платформами та хоче трохи магії.
GitHub
GitHub - BretFisher/nodejs-rocks-in-docker: DockerCon "Docker for Node.js" examples
DockerCon "Docker for Node.js" examples. Contribute to BretFisher/nodejs-rocks-in-docker development by creating an account on GitHub.
🔥4
🚀 prowler ー open-source інструмент безпеки для платформи AWS. Він допомагає розкрити всі потужності AWS на максимумі: найкращі практики з оцінки, аудиту, повідомлення про інциденти, моніторинг тощо. Містить в собі більше 240 фіч: CIS, PCI-DSS, ISO27001, GDPR, HIPAA, FFIEC, SOC2, AWS FTR, ENS та кастомні налаштування фреймворків.
👏5
Непоганий розбір Prometheus Querying ー стаття рекомендована до прочитання.
Timescale Blog
How Prometheus Querying Works (and Why You Should Care)
Learn how Prometheus indexing works to understand your PromQL queries perform the way they do—and get some tips to achieve faster results.
👍4
#devopsспитав_devopsвідповів
Чи можна робити roll back у Terraform?
Версії в Terraform – умовні, але можна повернутись до попередньої версії, на попередній стан коду. Немає такого поняття як previous state або журнал стейтів. Існує політика back up – можна встановити, що зберігається попередня версія. Але це є максимум.
Чи можна робити roll back у Terraform?
Версії в Terraform – умовні, але можна повернутись до попередньої версії, на попередній стан коду. Немає такого поняття як previous state або журнал стейтів. Існує політика back up – можна встановити, що зберігається попередня версія. Але це є максимум.
👍7
Чудові новини до Дня української писемності та мови від Grammarly Ukraine! 🇺🇦
Компанія виклала у вільний доступ UA-GEC 2.0 – другу версію анотованого GEC-корпусу української мови. Версія містить майже 34 000 речень, і її можна завантажити прямо зараз на GitHub.
UA-GEC – волонтерський проєкт зі створення набору даних, точніше, анотованих GEC-корпусів (GEC – grammatical error correction). Цей ресурс може бути корисним для обробки природної мови, досліджень та Machine Learning. Наприклад, GEC-корпус англійської містить 1 млн 167 тис. речень, німецької – 25 тис. речень, української (UA-GEC) – 33 735 речень.
Над проєктом працюють понад 800 волонтерів. Тож подякуємо цим людям за можливість практично досліджувати українську та покращувати програмні інструменти для роботи з нею!
Компанія виклала у вільний доступ UA-GEC 2.0 – другу версію анотованого GEC-корпусу української мови. Версія містить майже 34 000 речень, і її можна завантажити прямо зараз на GitHub.
UA-GEC – волонтерський проєкт зі створення набору даних, точніше, анотованих GEC-корпусів (GEC – grammatical error correction). Цей ресурс може бути корисним для обробки природної мови, досліджень та Machine Learning. Наприклад, GEC-корпус англійської містить 1 млн 167 тис. речень, німецької – 25 тис. речень, української (UA-GEC) – 33 735 речень.
Над проєктом працюють понад 800 волонтерів. Тож подякуємо цим людям за можливість практично досліджувати українську та покращувати програмні інструменти для роботи з нею!
🔥6
#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