Технологический стек, выбранный для разработки программного продукта, критически важен для успешности последнего, а выбор инструментов DevOps не менее важен, чем процесс архитектурирования будущего сервиса.
Технологический стек - это набор инструментов, которые будут использоваться для разработки, сборки и доставки кода программного продукта его пользователям, и, что самое важное, управления процессом доставки его изменений, которых в быстро меняющихся условиях бизнеса может быть очень много.
Стек технологий можно представить на следующем изображении:
Считается, что у компании аутсорсера DevOps используется свой стек технологий, которого эта компания придерживается. В таком случае, обращаясь в такую компанию, вы автоматически становитесь заложником того стека, который эта компания пропагандирует. Это хорошо и плохо одновременно. Хорошо, поскольку такая компания хорошо знакома с этим стеком и использует его профессионально, а плохо, потому что система заказчика теряет гибкость. Наша точка зрения заключается в том, что продукт должен строиться на базе лучших практик и использовать надо тот стек, который принесет максимальную эффективность в жизненном цикле продукта, а особенности и нюансы реализации должны быть за пределами планирования.
Основными категориями стека в процессе пути к DevOps-подходу можно выделить следующие:
- система версионирования
- система автоматической сборки и доставки кода
- система тестирования и проверки кода
- процесс разработки
- процесс контроля за состоянием программного продукта
- выбор площадки для хостинга
Детальнее о каждой из групп читайте в статье: https://efsol.ru/articles/devops-stack.html