Как стать автором
Обновить

Реферат для старшей школы: SDLC

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров1.9K

Для лиги лени: Современный SDLC – это такая боль. Под катом – душнота, еще и с ошибками, какой-то набор ссылок почти без пояснений. Поэтому убран в чулан.

Часть 0. Найм и HR 2024 — чего нового
Заранее неправильные ответы - 1 или проходим первого босса найма – HR
Заранее неправильные ответы - 2 или неправильные ответы, которые многие хотят услышать на техническом интервью: Сети.

Это, значит, часть 3, она же и последняя.

Напоминаю вводные условия: У моего отца есть брат, у него-племянник, у племянника – двоюродный брат, а у того был сосед по комнате, так вот он меня и спросил, как вкатываться в ИТ сразу после ЕГЭ, и как пройти первого и второго босса.

Большая часть 1. Теория

Поиск литературы

Я начал с простого, Google: SDLC site:habr.com

Что такое SDLC? Этапы, методология и процессы - Перевод, Автор оригинала: Adam Naor
IaC Development Life Cycle
DevOps vs. SDLC  
What is CI/CD?
Basics of CI/CD
CI/CD Process: Flow, Stages, and Critical Best Practices
CI/CD Testing: Why It’s Essential and How to Make It Great
Implementing QA in a CI/CD Pipeline - Best Practices & Tips

И, в обязательном порядке, читать Мифический человеко-месяц и Дедлайн.

Факультативно

От Kubernetes в мечтах к Kubernetes в проде: как построить инфраструктуру для деплоя. Часть 1
От Kubernetes в мечтах к Kubernetes в проде. Часть 2: о Kubernetes
От Kubernetes в мечтах к Kubernetes в проде. Часть 3. Доставка кода, GitOps, ArgoCD
От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault

Сам процесс с технической стороны

Частично описан по одной из ссылок - Lessons learned from testing Over 200,000 lines of Infrastructure Code . В нем (наконец-то!) упомянута база - е2е (End to End - системное) тестирование, интеграционное тестирование, юнит тесты, и статическое, со списком инструментов, с зависимостями, итд и даже с APB (Ansible Playbook Bundle). Которое не надо путать с схемой развертывание – канареечное, Blue/Green, Rolling.

Жизненный путь кода. Source

Жизнь кода начинается с запроса со стороны бизнеса \ заказчика «хотим вот такое».
Затем «такое» описывается чуть-чуть строже, рисуются какие-то макеты, схемы движения данных, хоть что-то кроме «постарайся раздобыть, что чего не может быть».

Git. git add, git commit -m 'Tut bul Grisha', git push .. GIT PURR!

И вот с этого момента начинается ад на интервью. Потому что следующим номером идут мерж, ребейз и сквош, и это надо помнить, а не кнопочки в VSCode жать. К тому же они там еще и не так работают, как ты хотел. Или как хотел разработчик, что-то у себя нажавший и запушивший.

Статья по теме: Basics of CI/CD

Continuous integration (CI). Build

Код надо собрать и протестировать. Для этого есть Gradle, Maven, Jenkins, TeamCity, GitLab CI, Azure DevOps (Team Foundation Server) и что-то я точно забыл. Concourse конечно же и Bamboo

Ссылки:
4 инструмента автоматизации для DevOps, заслуживающих внимания — по версии TechRepublic (внутри еще много ссылок на полезные статьи)
Azure DevOps (Team Foundation Server)
Apache Maven — введение в автоматизированную сборку проектов (часть 1) (Интересно, за что автору выдали -10 и ни одного комментария «что не так» ?
Maven, где мои артефакты? Еще одна статья про управление зависимостями
Введение в Maven от Balaji Varnasi и Sudha Belida (перевод)
Или - все может сразу в Dockerimage собираться.
Автотесты: SonarCloud, Jenkins, etc.

И на этом, вроде, CI все. В какое-то хранилище готового кода или артефактов сборки выпала свежая как-то протестированная версия.
Читать: JFrog Artifactory Vs. Sonatype Nexus

CD. Эта собака делает больно иначе

После получения кода, пригодного «к выкатыванию на stage», начинается вопрос «как катить» и «куда катить».При этом появляются Ansible, Puppet, Terraform, Chef, SaltStack, etc
Chef vs. Puppet vs. Ansible vs. SaltStack – configuration management tools compared
И на их фоне появляются K3s, K8s, docker, podman, Docker Compose, Podman Compose и бонусом Helm. А может быть корова, а может быть собака, а может Docker swarm и Nomad. И смешать с Lens.

Читать: Podman Compose or Docker Compose: Which should you use in Podman?

Там и до прода недалеко. Где-то сразу за управлением сертификатами, ключами (HashiCorp Vault ), Observability (ELK, EFK, FluentD, prometheus, etc) и прочим GitOps (ArgoCD, FluxCD, Werf)

Реальность

После прохождения первого босса – HR у вас будет 1-2-4 разных технических интервью. Для разминки пройдутся по базовым вещам, от grep до curl, немного (или много) могут спросить про специальные файловые права. Затем от bach пройдут немного к сетям, причем вопросы про сети иногда будут странными, иногда – очень, наподобие TTL в корневых DNS. Или про куки и работу Apache \ Nginx.

Все как описано в сборниках вопросов типа "2000 очень простых вопросов про SDLC\Devops" - раз, два,три - тысячи их.

Готовьтесь, что на финальной стадии вас будут спрашивать про работу K8s:
Kubernetes: шпаргалка для собеседования
Kubernetes: шпаргалка для собеседования часть 2

Как легко заметить, ничего сложного во всем выше нет. Исключительно простые вопросы, на которые легко ответить после даже беглого изучения документации и десятка статей s/
Сложность вопросов только в том, что для такого числа вариантов, иногда вопрос выбора что лучше А или Б - может быть предметом веры, или потому что так сложилось давно. Или что-то может называться не совсем так, как описано в статье, а исправлено в комментарии.

Теги:
Хабы:
Всего голосов 16: ↑3 и ↓13-10
Комментарии2

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн