Saboteur, не привышайте свою важность. Девопс - это раб отдела Разработки, который освобождает программиста от грязной работы по разворачиванию окружения. И не важно как его называть - эникейщик, сис админ или девопс-инженер. Они нужны для того чтобы разработчики не тратили свое время на настройку рабочего окружения. А все остальное это уже вторично. Программисту на работе создают условия чтобы он мог работать - заводят учетки, регистрируют корпоративную почту, создают докер-контейнеры под проект, которым он будет заниматься, создают базы данных, создают роли - все это делает не программист. Программист только пишет код и проектирует и в его должностные обязанности ничего другого не входит.
Если у любого прогера какие-то неполадки в системе или ему нужно запустить тестовую виртуалку с настроенным веб-сервером под его версию пакетов, он оставляет заявку своему руководителю, руководитель идет в IT отдел и говорит - эй, мальчики, программист не может работать. Идите, настройте ему то, что он скажет. И сделай так чтоб когда он сохраняет что то на git чтоб автоматически запускались автотесты и происходил автодеплой на тест сервер. Вопросы есть? Вопросов нет... И девопс подрывается делать свою работу от самой простой до самой сложной. А программист в ус не дует и ему плевать как там что это называется. Ему должны все предоставить. Если нужно, то список комманд, запускающих скрипты, которые запросят только имя проекта, который потом создастся и пропишется где надо.
Это как "вот тебе машина" и меня не волнует в какой гараж ты ее поставишь и как ты на ней поедешь. Не умеешь пользоваться - проходи автошколу. Тоже самое и с сервером. вот моя программа. инструкция по запуску такая. дальше уже сами со своими бездельниками из it отдела, которые целыми днями режутся в сетевые игрушки и 5 минут в неделю затрачивают чтоб что-то запустить удаленно...
Разработчики пишут код, тестировщики его проверяют, а администраторы устанавливают финальный продукт на производственное окружение.
а инженер Девопс - это прокачанный администратор. А следовательно только он должен заниматься установкой софта на сервер или компьютер. Программист просто пишет код, а задача инженера подготовить окружение, чтоб на нем завелась программа.
А то что вы гооворите задача девопс инженера это оркестрирование контейнерами и т.п. - да это бред полнейший. Это так же нелепо как если бы программист сказал что его задача заниматься только серьезными проектами - разработкой операционных систем. А мелкие задачи пусть другие делают - не программисты.
И еще раз:
Если клиент тебе не дает root доступа к серверу и не предоставляет тебе UI для настройки и закачки твоей программы, то какого хрена ты должен тратить время на рутинные операции в командной строке? это уж точно не работа программиста.
На своем сервере программист один раз настроит VPS со всем нужным софтом и удобной для администрирования панелью и весь его рабочий процесс будет сводиться к его основной работе - к написанию кода. А на заливку на сервер он будет тратить минимум времени.
Нет ни одной причины, по которой программист должен делать все это сам - возиться с чужим незнакомым серваком кроме случаев, когда ему хорошо за это заплатят и за моральный ущерб.
Вот у меня был клиент. Вроде бы меня попросил решить проблемы с сайтом на php. Я залез к ним, а у них там все на докерах и помимо php там было еще два сайта на nodejs которые все вместе взаимодействовали друг с другом и еще и с какими-то платежными и внешними системами.
И что бы вы подумали? Я пытался сам развернуть через докер все у себя локально, но ничего не выходило. У них были настолько древние пакеты, что уже отсутствовали в репозиториях и не разворачивались. Вылезали сплошные ошибки.
Я клиенту сообщил об этом - что мол если хотите чтоб я вам сделал все по красоте, наймите девопс инженера чтоб он разобрался с вашим сервером и потом воссоздал окружение на моем локальном компьютере. Ато я не могу больше тратить время на это.
Я с вами соглашусь только в одном - бэкэнд прогер должен уметь развернуть свою программу локально и на удаленном сервере со стандартной распространенной операционной системой - Debian или Ubuntu.
А если у них там на серваке стоит какая-нибудь древняя CentOS ИЛИ FreeBSD и отсутствует нормальная панель, то прогер не обязан подряжаться на решение этих проблем. Максимум, что он должен сделать - это передать их сис админу инструкцию по подключении базы данных и по установке прав доступа на папки, файлы .... И если там есть специфические для фреймворка настройки он тоже должен прислать ссылку на раздел доки, где указано это.
Saboteur, это кто это сказал? у меня в анкете было указано что я бэкэнд разработчик. Мне предложили выполнить заказ - я сказал что занимаюсь только бэкэндом. Тогда мне сказали что насчет фронтэнда не стоит заморачиваться - подойдет обычный бутстрап или подобный фреймворк. Ладно. я согласился.
Но потом выяснилось что я должен через Энидеск подключиться к его VPS И с той vps уже подключаться к рабочей станции на MacOS при этом ни файлового менедже6ра, ни рутового пароля, ни фтп доступа мне дали. На рабочей версии стояла очень старая версия php которая несовместима с современными фреймворками. А без рутовых паролей я не мог себе установить доп ПО и тратил лишнее время на то чтобы рыскать по их диску в поиске веб-сервера. Ну и в веб-сервере конечно же я не смог ничего менять пришлось локально через .htaccess прописывать путь к рут каталогу проекта. Плюс я не мог сам залить туда ничего и мне приходилось ждать пока заказчик сделает это сам. Я не мог поменять права на папки и файлы - это опять приходилось ждать заказчика. По итогу вместо 5 часов я потратил не менее 15ти на ненужные простои и костыли. хотя если бы мне дали рутовые права и фтп доступ я бы все за час залил и настроил.
И какой договор? вы что смеетесь? Заказчик расплачивается криптой. Он из другой страны.. НИ о каких договорах кроме устных не идет и речи.
Программист должен писать код. А настраивать окружение должен человек заточенный под это - у которого есть множество контейнеров с разными драйверами, версиями ОС, пакетов и т.п. А программист не должен тратить на это время. И не важно сколько там в команде человек. Для программиста это грязная работа заниматься не программированием.
Это так же унизительно, как если ты приходишь куда-нибудь, а тебе говорят "а почисти нам компьютер. тыж программист". Программист - это Элита общества. Он даже флешку в системник не должен вставлять сам - за него это должны делать те, кто его вызвал. А что касается опыта - у меня то его побольше чем у многих. Я с 14 лет занимаюсь разработкой. Это уже 30 лет. Через что только я не прошел. И фирма своя была по продаже и разработке ПО, и работал в крупных компаниях, и являюсь совладельцем IT проекта.
В частности когда прогер приходит на работе у него должно быть уже подготовленное место со всеми установленными пакетами, необходимыми для его работы, все IDE, и настроены контейнеры.
Или вы считаете что он сам должен тратить на это время? так это же нерациональный расход времени разработчика. Он свою работу будет делать быстро, а на всяких настроках окружения он потеряет много времени и если такое происходит, значит в компании неправильно поставлены бизнес-процессы.
А уж про мальчика не побегушках это вообще что то выходящие за рамки здравого смысла. За хорошим специалистом очередь на нескольког месяцев вперед. Меня некоторые заказчики ждут больше года пока я освобожусь и найчну заниматся их проектом. И они понимают, что обязаны подчиняться моим правилам, потому что тяжело найти замену, а те, кто круче они заняты и не подбирают заказы особенно серой тематики.
а с чего я должен тратить время на то чтобы подключиться к чужому серверу, разобратья в незнакомой для меня ОС, ждать пока мне дадут доступы пока их нет, через консоль передвигаться по серверу и т.п. ? это должен делать админ если не девопс. Задача прогера писать код в песочнице, которую ему предоставили где все настроено.
Vitaly Karasik, а почему человек обязан помечать ответы решением? Есть же люди, которые готовы помогать другим безвозмездно. Имх не интересуют рейтинги внутри данного сайта. Сделай добро и не жди отклика, тогда добро придет в другом виде.
12rbah, там такое не проодит. то есть если вы понимаете, я не могу подключится к серверу напрямую. я должен сначала подключиться к его компу через программу удаленного доступа и лишь с его компа подключиться по SSH к удаленному серверу, который почему то на мак ос. и туда я должен залить проект притом сначала я даю ссылку на скачку проекта ему - он на своей машине скачивает его и доставляет до сервера на маке а в маке есть уже развернутая песочница на index.php одностраничника, который рабтает. но у меня то проект и моря папок и подпакок на laravel и мне надо чтоб он настроил ссылку запускаемого файла на нужную папку и ее файл. но там то доступов нет то редиректы не работают. а я даже не знаю где веб-сервер находится и где можно повлиять на его настройкки чтоб задать рут директорию для проекта. а через консольк делать это ну такое...
Drno, вычислить можно любого человека если есть ресурс... А когда к нему позвонят бородатые дядьки с акцентом, пришлют фотографию его дочки и адрес, где он проживает, то он потом и квартиру свою перепишет...
Если у любого прогера какие-то неполадки в системе или ему нужно запустить тестовую виртуалку с настроенным веб-сервером под его версию пакетов, он оставляет заявку своему руководителю, руководитель идет в IT отдел и говорит - эй, мальчики, программист не может работать. Идите, настройте ему то, что он скажет. И сделай так чтоб когда он сохраняет что то на git чтоб автоматически запускались автотесты и происходил автодеплой на тест сервер. Вопросы есть? Вопросов нет... И девопс подрывается делать свою работу от самой простой до самой сложной. А программист в ус не дует и ему плевать как там что это называется. Ему должны все предоставить. Если нужно, то список комманд, запускающих скрипты, которые запросят только имя проекта, который потом создастся и пропишется где надо.
Это как "вот тебе машина" и меня не волнует в какой гараж ты ее поставишь и как ты на ней поедешь. Не умеешь пользоваться - проходи автошколу. Тоже самое и с сервером. вот моя программа. инструкция по запуску такая. дальше уже сами со своими бездельниками из it отдела, которые целыми днями режутся в сетевые игрушки и 5 минут в неделю затрачивают чтоб что-то запустить удаленно...