100 Days DevOps challenge

Автор | 13.03.2023

Я давно хотів описати в свому блозі свій експіріанс зі своїх спроб почати челендж розвитку із простого системного адміністратора в DevOps, було кілька думок про перехід на англійську мову, але кількість змін виявилась завелика, а життєві зміни доволі непланові (про це буде окремо в колонці про мене, життя і хобі).
Цей шлях я вже починав і починав неправильно. Починав без мети і цілі, тому думаю варто виправитись і, документуючи свої дії і успіхи, спробувати ще раз.

Для початку визначимо, що план для челенджу 100 днів DevOps містить такі етапи:

1. Ознайомлення з основними поняттями DevOps і інструментами, що використовуються в цій сфері.
2. Навчання засобам автоматизації розробки, тестування, розгортання та моніторингу програмного забезпечення.
3. Практичне застосування знань, шляхом створення власного проекту на платформі DevOps.
4. Участь у спільноті та обмін досвідом з іншими учасниками челенджу.
5. Рефлексія та аналіз досягнень на кожному етапі.
Цей план можна налаштувати відповідно до своїх потреб і рівня знань.
Головне – це визначити конкретну мету і дотримуватися її на протязі 100 днів, щоб досягти успіху в сфері DevOps.

Крім того існує безліч інструментів, що використовуються в DevOps.
Ось кілька з них, які можна розглянути для використання в челенджі 100 днів DevOps:
Контроль версійного Git: це дуже потужний інструмент для збереження, управління та спільної роботи з кодом.
Сервер автоматизації розгортання Jenkins: він допомагає автоматизувати розгортання програмного забезпечення на різних серверах.
Контейнеризація з Docker: цей інструмент дозволяє вам упаковувати ваше програмне забезпечення з усіма залежностями в контейнер, що дозволяє легко переносити його на різні середовища.
Інструменти моніторингу, такі як Nagios або Zabbix: вони допомагають відслідковувати стан вашого сервера та програмного забезпечення.
Системи управління конфігурацією, такі як Ansible або Chef: вони дозволяють вам автоматизувати управління конфігурацією вашого програмного забезпечення та інфраструктури.
Ці інструменти можуть бути початковою точкою для вивчення DevOps, але існує багато інших інструментів, які також можна використовувати в залежності від вашої конкретної сфери діяльності.

Стартовий етап
Ми визначаємо поточний статус, інструменти, рівень, цілі, а також ліміти та обмеження; відкриті і закриті джерела, тощо.

Маємо зараз – мені без двох днів 33 роки, маю комп’ютер з Windows, Лептоп з MacOS, старенький, але ще актуальний та потужний HP 360 Gen9 на якому крутиться цей сайт і будуть виконані описані далі тести. Маю круту роботу в ІТ, але переважно (та не виключно) з Windows стеком. Маю неабиякий досвід з Linux та Windows, FreeBSD та ще купою систем, але багато з цього може бути не систематизованим, чи без знань про те, що деякі задачі можуть мати інший підхід. Знаю англійську і вільно читаю, але вести нею блог певно не зможу.

Ресурси:
Скласти список ресурсів що використовую для навчання – це і підписки на навчальних сервісах, і канали на ютубі (я більше не користуюсь російськими джерелами інформації, хоча скажу що коли геть не мав досвіду – це був доволі не поганий варіант, так як дуже багато інформації було на зрозумілій для мене мові і це викликало менше стресу у навчанні, але тепер – я не можу піти в будь-яку міжнародну компанію, бо там англомовне спілкування і навіть до рівня поточної роботи довелось підтягати мову).
Телеграм канали та чати, сайти та блоги, стріми та підкасти, розсилки, тренінги, підписки на тематичних сайтах та блогах типу medium, саті на telegra.ph, тощо

Цілі:
Я люблю експерименти, люблю все нове. Люблю експерименти, мене це драйвить. Я перечитую пабліки що пишуть про 0day вразливості і люблю оновлювати системи щоб цьому запобігти. Я вважаю себе технічним творцем – мережі, інфраструктури, тощо і мені подобається така незвичайна не визнана мистецтвом творчість. Мені подобається реалізовувати нестандартні задачі та використовувати нестандартні методи (про це є в кейсах, чи буде, бо ще не все переклав).
Окрім моїх хобі – це джерело мого заробітку, знання можуть збільшити вартість працівника у компанії, зробити можливість брати додаткові задачі на роботі чи фрілансі і навіть просто залишитись на місці у ці не дуже стабільні часи.
Для мене зараз – це експеримент по збільшенню зарплати, по систематизації знань, по навичкам викладати свої думки у текст і систематизувати його.
Я не хочу змінити роботу чи позицію, але, якщо на якомусь з кроків челенджу моя компанія запропонує мені брати задачі з описаних кейсів – я буду вважати експеримент вдалим.

ToDo:
Як це все відбуватиметься?! Я не буду щодня брати якусь тему і писати нову статтю, але постараюсь це зробити. Я кілька раз відредагую цей допис, якщо в мене з’являться якісь думки, ідеї, доповнення. Я складу список посилань на всі ресурси, з яких я беру приклад по матеріалом і плану, і почну відлік. Це не буде 100 днів по календарю – я не думаю, що зможу щодня уділяти достатньо часу для цього, і навіть, якщо за день розберу якусь тему, не певен, що зможу про це відразу написати.

Я певен, що трішки організувавшись у мене будуть і інші речі, що я хотів зробити, але не мав потреби – починаючи від того щоб доставити якісь плагіни для коду і моношрифтів на сайт, так і щось оновити на сервері, комп’ютері, домашній інфраструктурі, тощо.

Тому буду готуватись до нульового дня цієї подорожі, а на сьогодні це все.