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

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

Для лиги лени: Современный 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/
Сложность вопросов только в том, что для такого числа вариантов, иногда вопрос выбора что лучше А или Б - может быть предметом веры, или потому что так сложилось давно. Или что-то может называться не совсем так, как описано в статье, а исправлено в комментарии.

 

Источник: https://habr.com/ru/articles/792990/


Интересные статьи

Интересные статьи

Продолжаем говорить о безопасной разработке и Secure SDLC. Сегодня на примере платформы T1 Cloud SDP покажем, какие облачные сервисы привнесут уровень безопасности в жизненный цикл ПО. Среди них есть ...
Мы в облачном провайдере T1 Cloud уделяем серьезное внимание защищенности клиентских сервисов, поэтому решили подготовить серию материалов о разработке приложений в облаке. Начнем с вводных и расскаже...
Практический опыт применения Референсной архитектуры в крупном swap-проекте для мобильного оператора связи.
Цитируя автора книги Managing Information Technology Projects Джеймса Тейлора, «жизненный цикл проекта охватывает всю деятельность проекта». Задачей же разработки ПО является выполнен...
Этой статьей мы завершим небольшой цикл о построении процесса безопасной разработки на основе SAST — статического анализа кода на безопасность. В первой части мы разобрали основные во...