Что делать если нужно поставить какую-то Python-библиотеку а root-прав нет? То есть в систему библиотеку никак и ничего не поставить.
Есть как минимум два способа это решить правильно!
🔸 Сделать виртуальное окружение и ставить там что угодно.
Это позволит создать полностью независимое исполняемое окружение для ваших приложений.
Все библиотеки будут храниться в домашней директории юзера а значит доступ на запись имеется.
Создать очень просто:
python3 -m venv ~/venvs/myenvname
Теперь активируем окружение
# Linux
source ~/venvs/myenvname/bin/activate
# Windows
%userprofile%\venvs\myenvname\Scripts\activate.bat
Можно ставить любые библиотеки и запускать приложение.
Это стандартный метод работы с любым проектом. Если еще не используете его, то пора начинать. Даже при наличии root доступа!
🔸 Бывает, что нет возможности запустить приложение из своего виртуального окружения. Например, его запускает какой-то сервис от вашего юзера и вставить активацию окружения вы не можете.
В этом случае можно установить библиотеки для Python не глобально в систему, а только для юзера.
Выполните этот код в консоли:
python3 -m site
Вы получите что-то такое:
sys.path = [
'/home/user',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/user/.local/lib/python3.7/site-packages',
...
]
USER_BASE: '/home/user/.local'
USER_SITE: '/home/user/.local/lib/python3.7/site-packages'
ENABLE_USER_SITE: True
Нас интересует параметр USER_SITE. Это путь к пользовательским библиотекам, которые доступны по умолчанию, если они есть.
Именно сюда будут устанавливаться модули если добавить флаг --user при установке чего-либо через pip
pip install --user requests
Для этой команды не нужны root-права.
После неё можно запускать системный интерпретатор без виртуальных окружений и установленная библиотека будет доступна для текущего юзера.
Параметр USER_BASE показывает корневую директорию для хранения user-библиотек. Её можно изменить с помощью переменной окружения PYTHONUSERBASE
export PYTHONUSERBASE=~/pylibs
python3 -m site
...
USER_BASE: '/home/user/pylibs'
USER_SITE: '/home/user/pylibs/lib/python3.7/site-packages'
Получается некоторое подобие виртуального окружения для бедных 😁 которое можно менять через эту переменную (не делайте так!Лучше venv!)
🔸 Дописывание пути в PYTHONPATH
Этот способ не входит в список "двух правильных", но тоже рабочий. Здесь придётся сделать всё несколько сложней.
Сначала ставим библиотеку в любое место указывая путь установки
pip3 install -t ~/mylibs modulename
Библиотека установится без привязки к какому-либо интерпретатору. То есть по умолчанию не будет видна. Теперь в нужный момент добавляем этот путь в sys.path или в PYTHONPATH.
Не буду советовать так делать. Единственный раз когда этот способ мне пригодился и решил поставленную задачу, это при создании общей библиотеки для кластера компьютеров.
Модули лежат в сети и подгружаются для всех из одного и того же места. То есть обновлять файлы требуется только один раз а не на всех хосты отдельно.
Минусы такого подхода:
▫️Нужно всем хостам пробить нужный путь в .bashrc или ещё куда-то чтобы он сетапился на старте.
▫️Чем больше хостов тем больше нагрузка на сеть. Иногда такой способ не подходит именно по этой причине. Тогда Ansible вам в помощь.
▫️Не очень подходит если хосты с разными операционками. Некоторые библиотеки различаются для Linux и Windows (там, где есть бинарники) и приходится мудрить более сложные схемы.
#tricks#basic
#IaaS#PaaS
Очень хорошо проиллюстрирована разница между тем что такое on-premise/IaaS/PaaS/SaaS. Чтобы вы больше не путались кратко дополню картинку:
On-premise - Означает что контора сама занимается
- постройкой дата-центра
- подведением всего необходимого к нему
- закупкой серверов
- соеденением серверов внутри ЦОД
- установкой ОС на сервера, виртуализацией серверов
- установкой ПО для загрузки и хранения данных
- установкой СУБД
- установкой Кибербеза
- установкой/разработкой прикладного ПО
IaaS - компания закупает у оператора коммерческого ЦОД (их еще называют облачными провайдерами или гиперскейлерами) подписку/арендные платежи за то, что оператор будет заниматься:
- постройкой дата-центра
- подведением всего необходимого к нему
- закупкой серверов
- соеденением серверов внутри ЦОД
- установкой ОС на сервера и виртуализацией этих серверов
Сама компания при этом будет заниматься:
- дополнительной установкой ОС внутри уже виртуализированных серверов если нужно
- установкой ПО для загрузки и хранения данных
- установкой СУБД
- установкой Кибербеза
- установкой/разработкой прикладного ПО
PaaS - тут для клиента еще все проще, но и плата выше. Оператор занимается:
- постройкой дата-центра
- подведением всего необходимого к нему
- закупкой серверов
- соеденением серверов внутри ЦОД
- установкой ОС на сервера, виртуализацией серверов
- установкой ПО для загрузки и хранения данных
- установкой СУБД
- установкой Кибербеза
Клиент занимается:
- установкой/разработкой прикладного ПО
Ну и SaaS модель - тут компания-клиент просто покупает подписку на какое-то ПО и просто юзает его и не парится насчет того как и где там данные прокручиваются, обрабатываются и т.д.
Сохраняйте, делитесь и не путайте!
Рейтинг облачных провайдеров GPU возглавила МТС Web Services
CNews составил рейтинг провайдеров, предоставляющих удаленный доступ к графическим процессорам (GPU). В список вошли 14 компаний. Всего же, по оценкам аналитиков, на российском рынке активно работают более 20 провайдеров, предоставляющих услуги GPU as a Service.
Ключевые выводы:
• основным драйвером рынка назван спрос на ML и искусственный интеллект;
• первое место рейтинга занял облачный сервис «Виртуальная инфраструктура с GPU» компании МТС Web Services (MWS). Его преимущества — шесть собственных ЦОД, пять из которых сертифицированы по уровню Tier III;
• на втором месте расположилась компания Selectel. У нее четыре ЦОД с уровнем Tier III, в том числе три собственных. Уровень SLA (Service Level Agreement) — 99,98%. Среди других преимуществ — высокопроизводительные процессоры, широкий набор сервисов в облаке с GPU;
• третье место заняла платформа «Т1 Облако». Компания позволяет выбирать как проприетарную платформу виртуализации Hyper-V, так и решения с открытым кодом, такие как OpenStack и KVM. Поставщик арендует два ЦОД с сертификатами Tier III.
Изучить рейтинг →
#облачные_вычисления#IaaS#PaaS
#репорт#ИТ#IaaS#PaaS
Ну и собственно сам прогноз рынков IaaS и PaaS
Тут важно отметить, что по факту стоимость услуги IaaS и PaaS является производной от стоимости закупаемого аппаратного обеспечение и инфраструктурного ПО. Но неправильно говорить что IaaS и PaaS это сумма рынка серверов, СХД, ОС, СУБД и других рынков.
Объемы рынков серверов, СХД, ОС, СУБД и других это сумма проданных серверов/лицензий в течение периода (новых и старых) и услуги по их тех. поддержке и апгрейду.
А вот объем рынка IaaS и PaaS это стоимость проданных подписок/объем уплаченных платежей по договорам.
#репорт#ИТ#IaaS#PaaS
Но да ладно. За неимением лучшего, будет пользоваться данными iKS Consulting.
Тут в отчете их можете увидеть текущие и исторические объемы рынков, динамику и рыночные доли топ-20 игроков на рынках IaaS и PaaS.
https://survey.iksconsulting.ru/page59801703.html
Я скорее хочу дополнить их отчет тем, что из IaaS надо вычесть наверное 10-15% - это будет услуга Bare Metal, на которой кстати говоря специализируется Selectel (56% выручки 2024 года).
Ну и хочу дать прогноз свой.
Прогноз как и предыдущие базируется на
1) Пунктах, которые я описывал здесь
https://t.me/zzz_NonameResearch/876
2) На прогнозе рынка аппаратного обеспечения для ЦОД (ведь чем больше серверов для обработки данных покупается, тем больше будет и IaaS+PaaS рынок
https://t.me/zzz_NonameResearch/867
3) Паттерне перехода от собственных ЦОД к гибридным вариантам или на полное обеспечение стороннего провайдера
И если первые 2 пункта уже были расписаны, то третьему пункту окажу отдельное внимание.
Когда вы пользуетесь услугами облачных провайдеров и не заебываетесь по собственному ЦОДу, то вы избавляете себя от необходимости:
1) Строить ЦОД и тратить много денег на non-core CAPEX
2) Закупать сервера, обновлять их и чинить их и встраивать их в инжереные системы ЦОДа и тратить много денег на non-core CAPEX и OPEX
3) Нанимать ИТшников и инженеров, справляться с их текучкой, платить им ЗП и тратить много денег на non-core OPEX
4) Масштабировать ЦОД или строить новый по мере развития бизнеса
Именно поэтому модель подписки на услуги облачных провайдеров так прижилась и только набирает популярность. Есть еще много пространства для дальнейшего развития IaaS и PaaS рынка. Смотрите график ниже
#репорт#ИТ#IaaS#PaaS
Я кстати не до конца понимаю почему разделяют так коммерческие ЦОДы и облачных провайдеров, ведь как только коммерческий ЦОД применяет виртуализацию для формирования облака для клиента - он по сути становится облачный провайдером.
Или если облачный провайдер/гиперскейлер позволил клиенту разместить в своем ЦОД свои сервера и дальше накатывать на них ИТ-инфраструктуру самостоятельно то он просто сделал Bare Metal услугу и по сути коммерческии ЦОДом.
Наверное тут каждый дрочит как он хочет, но как я понял более понтово быть облачным провайдером/гиперскейлером, так как они предоставляют клиенту более маржинальные и технологичные услуги. Соответственно они и оцениваются дороже. Именно поэтому какой-нибудь Селектел базарит что он облачный провайдер, хотя по факту его выручка в большей степени формируется за счет Bare Metal, поэтому как бы Селектел не хотел быть облачным провайдером он по факту являются обычным коммерческим ЦОДом и не более, и Ростелеком кстати туда же. А вот Яндекс и Сбер (через Cloud.ru) наоборот в большей степени облачные провайдеры, так как основная выручка поступает от продажи подписки на сформированную облачную инфраструктуру.
В общем, что хочу донести в этом сообщении:
У нас по рынку РФ единственный нормальный публичный отчет по IaaS и PaaS делает iKS Consulting. В мире есть основной ресерчер признанный - IDC.
IDC давно существует и у него есть общепризнанная классификация IT рынков. Вот согласно ей в рынок IaaS входят только те услуги, которые начинаются с "облачной инфраструктуры" на моей матрице, в сообщении выше.
А вот iKS Consulting в своем репорте в IaaS включает помимо облачной инфраструктуры еще и Bare Metall услуги (~10% рынка), хотя они по факту ниже рангом и стоят рядом с коллокацией по своей сути.
Я не знаю зачем они так сделали. В мире есть отдельно рынок IaaS, отдельно рынок Bare Metal и отдельно рынок коллокации. Может iKS Consulting объединили так, потому что у нас размеры рынков этих нга момент начала анализа были слишком малы чтобы их делить. Но тогда не совсем понятно, почему коллокаций не входит в рынок IaaS по iKS Consulting. На мой личный взгляд, отчасти это могло быть сделано для того, чтобы РТК ЦОДы и Селектел, которые часто ссылаются на iKS Consulting в рамках IPO могли говорить что они облачный провайдер и они присутствуют активно на рынке IaaS. Хотя по факту и РТК ЦОДы и Селектел выручку в основном получают от банальных и низкоиерархичных по своей технологии услуг Коллокации и Bare Metal