Найти - Пользователи
Полная версия: Выбор облачного сервиса для Python-приложения
Начало » Web » Выбор облачного сервиса для Python-приложения
1
userforum
Если кто разбирается в теме, хотел бы уточнить по сравнению возможностей расположения Python-приложения в облаке.
Предположим, есть Python приложение с небольшим Flask каркасом. Я был изумлен обилию вариантов облачных сервисов.
Сложилось ощущение, что расположить приложение в облаке (то есть сконфигурировать сервер, нормально установить в облаке все модули) на порядок сложнее,
чем собственно разработать приложение на локальном компьютере.
Вопрос 1 Так ли это?
Вопрос 2 Все эти варианты сервисов - Microsoft Azure, AWS, Google Cloud, VPS, Digital Ocean, обычный хостинг, Heroku, pythonanywhere.com, cloud.yandex. -
если их оценивать по функции расположения там Python- приложения -чем они по сути отличаются? В плане удобства работы, удобства конфигурирования?
Вопрос 3 Какой из этих вариантов в практике разработчиков является самым распространенным, что называется, основным вариантом?
Вопрос 4 В каком порядке желательно изучать их, чтобы иметь навыки развертки Python-приложения в облаке, пригодные в большинстве случаев?
Вопрос 5 Правильно ли что на них нужно заливать уже готовое приложение, а разработку и отладку выполнять до заливки на своем компьютере?
Или в облачных сервисах отладка также удобна?
Вопрос 6 На каких их них есть уже установленный пакет Anaconda?
Вопрос 7. Действительно ли Python-разработчик должен становиться также специалистом по настройке веб-серверов, нормально ли это?
Или настройка веб-серверов - это совсем другая область, которую Python-миддл не должен осваивать ?
Есть среди сервисов такие, которые абстрагируют нас от работы с серверами, где все уже установлено и сконфигурировано, в том числе например Anaconda,и Python-разработчику достаточно залить туда свое приложение?

Хотелось бы узнать по всем этим вопросам мнение тех, у кого большой опыт работы в этой области.
Буду благодарен за ответы
FishHook
userforum
Сложилось ощущение, что расположить приложение в облаке (то есть сконфигурировать сервер, нормально установить в облаке все модули) на порядок сложнее,
чем собственно разработать приложение на локальном компьютере.
Вопрос 1 Так ли это?
Дык разумеется, среда в которой ваш сайт будет работать в продакшене под нагрузкой - возможно - тысяч запросов в минуту с аптаймом в - возможно - десятки месяцев или годы, с постоянно растущей базой данных, под угрозой взломов и ДДоСов это не то же самое, что развернуть песочницу на домашнем компьютере. Деплой, это отдельная большая задача, которой обычно заведуют специально обученные люди из девопс.

Вопрос 2
Вам для начала надо понять в чем разница между виртуальным сервером и облачным движком. Если вам нужна просто виртуальная машина, то с точки зрения кода приложения нет никакой разницы какой провайдер вам эту машину предоставляет. А вот если вы хотите заюзать мощь PaaS вроде Google App Engine то вы очень сильно привязаны к конкретному поставщику услуг

Вопрос 3 Какой из этих вариантов в практике разработчиков
Все разработчики занимаются разными задачами, все зависит от проекта, нет никакого “основного варианта”

Вопрос 4 В каком порядке желательно изучать их, чтобы иметь навыки развертки Python-приложения в облаке, пригодные в большинстве случаев?
Обычно те кто программируют и те, кто разворачивает это разные люди, редко друг с другом пересекающиеся. Вы, собственно, какие скиллы качаете то?

Вопрос 7. Действительно ли Python-разработчик должен становиться также специалистом по настройке веб-серверов, нормально ли это?
Это зависит от того, как вы видите свою карьеру. В любой мало мальски серьезной организации люди занимаются каждый своим делом - разрабы кодят, девопс деплоит, QA тестирует, и так далее. Вы должны сами себе ответить на вопрос, как вы видите применение своих скиллов на практике.
userforum
Большое спасибо за ответ. По вопросу 7 - “люди занимаются каждый своим делом” - тем не менее вопрос появился как раз потому, что в вакансиях python - разработчика (не девопс) часто есть запросы по деплою, разворачиванию приложений на сервере, в облачных сервисах… То есть получается что от python - разработчиков эти умения тоже желательны, правильно?
FishHook
Или настройка веб-серверов - это совсем другая область, которую Python-миддл не должен осваивать ?

Осваивать в каком объеме? Если ваша фирма активно использует облачное решение то вам как разработчику так или иначе придется взаимодействовать с облаком. То есть в каком-то объеме вы будет знать. Если нет, то не придется. Если вы хотите быть специалистом по, скажем, AWS то это уведет вас далеко от программирования. Вы кажется пытаетесь объять необъятное
FishHook
userforum
То есть получается что от python - разработчиков эти умения тоже желательны, правильно?
это значит, что такую вакансию не надо воспринимать всерьёз.
py.user.next
userforum
тем не менее вопрос появился как раз потому, что в вакансиях python - разработчика (не девопс) часто есть запросы по деплою, разворачиванию приложений на сервере, в облачных сервисах… То есть получается что от python - разработчиков эти умения тоже желательны
Это выглядит так: 1) один человек создаёт фирму, а потом думает “а как бы мне теперь продукт сделать, чтобы не тратиться на целую команду?”; 2) дальше этот человек даёт объявление куда-нибудь “требуется разработчик на Python, зарплата высокая”; 3) потом кандидат приходит на собеседование и этот человек, хозяин фирмы из одного человека, ему предлагает “если будешь на питоне писать и сервер настраивать и в принтерах картриджи менять, то будешь у нас работать, в нашей большой и процветающей компании, разработчиком на Python и получать зарплату, как ведущий разработчик на Python, на питоне будешь писать много, я тебя уверяю”; 4) дальше кандидат соглашается и начинает работать этим всем три в одном; 5) дальше он не справляется со всем этим и они уже вдвоём с первым человеком, хозяином фирмы, начинают искать ему помощников так же через объявления; 6) новые кандидаты приходят, хозяин фирмы выглядит уже солиднее, а первый кандидат уже стал главным разработчиком на Python в этой фирме, тоже уже освоился; 7) так фирма растёт и потом этого первого кандидата увольняют или он сам увольняется, потому что больше так не может, деньги постоянно задерживают, продукт-то не продаётся особо, потому что мало что сделано; 8) проходят месяцы и в этой фирме все как-то работают, но уже никто ничего не помнит.

Если тебе оно надо, можешь поучаствовать в становлении фирмы; годы потеряешь и опыт получишь колоссальный, опыт в том, чего не надо делать. Если оно тебе надо, то учи всё, что просят выучить. Просят правильные тряпки ездить покупать в магазине, чтобы окна мыть, - изучай правильные тряпки, ходи по магазинам и консультируйся с продавщицами, какая тряпка лучше, какая хуже. И не спрашивай, почему ты программист, ведущий разработчик на Python, ездишь по магазинам за тряпками для окон. Так портфельчик поносишь за кем-нибудь, потом, может, и президентом станешь. Бывает всякое.

userforum
Microsoft Azure, AWS, Google Cloud, VPS, Digital Ocean, обычный хостинг, Heroku
Heroku был хороший. А сейчас с Ноября 2022 платным станет для всего, придётся оттуда всех ботов убирать. Его хорошесть была только в том, что он был бесплатный.

Если тебе нужно DevOps'ом быть, то это тяжёлая профессия. Это сисадмин с навыками программирования. Но если у обычного сисадмина навыки программирования задействуются по желанию и он может без программирования обходиться, то у DevOps'а навыки программирования будут задействоваться в обязательном порядке. И если ты программировать не умеешь, то тебе очень тяжело придётся. А чтобы уметь программировать, надо, во-первых, учиться программировать (читать кучу теории и проверять всё на практике ещё), а во-вторых, надо постоянно программировать, повышая уровень своих программ (сначала пишешь маленькие программы, потом пишешь побольше программы, потом ещё больше и так далее). Где ты будешь постоянно программировать?

Вон возьми любую задачу и попрограммируй, не имея навыков. Вот прямо сейчас один делает задачу, он программировать не умеет. Фактически я за него всё проделываю постепенно, потому что сам он не знает ничего из этого. Как он напишет алгоритм, если он не умеет записывать алгоритмы? Чтобы уметь записывать алгоритмы, нужно сидеть и пачками их записывать один за другим. Ну, он пытается сделать, но одного желания-то мало. Я-то когда-то просидел сотни дней и ночей с этими программками учебными, поэтому я умею всё это делать. А он нет, в любую сторону тык-мык и всё, ступор.

Поэтому если ты думаешь, что можно пройти какие-то курсы на разработчика, потом куда-то устроиться и получить какую-то запись от кого-то, что ты разработчик теперь, и после этого ты станешь разработчиком и тебя будут разработчиком считать, то ты глубоко заблуждаешься. Разработчик - это тот, кто может взять и создать программу из ничего. Если ты программу создать не можешь, то ты не разработчик, а пустое место. И когда надо будет создать программу, ты будешь сидеть и искать того, кто бы тебе создал программу. То есть псевдоразработчик будет сидеть и искать разработчика, потому что сам он не разработчик никакой.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB