@PTPPAction · Post #1666 · 15.03.2024 г., 05:45
#dev#IITII#merged site(FreeFarm): 特别区适配
TGINSIGHT SIMILAR POSTS
Изходен канал @clockstackwheels · Post #672 · 28.11
Впервые сделал крупный проект (под NDA, так что не расскажу, какой) на облачных функциях. Впечатления противоречивые. Изначально программисты арендовали компьютер в датацентре: или целиком или кусочек. На нём теоретически можно делать что угодно, но для запуска своих программ нужно было настроить операционную систему, безопасность и авторизацию, установить нужные исполнительные модули, программы для удобства деплоя, мониторинг нагрузки итд. Поэтому появились сервисы, которые это всё делают за тебя, а тебе дают буквально окно, куда можно написать свой код и запускать его удалённо на чужой машине. Конкретно я пользовался решением от Яндекса, чей протокол скопирован напрямую с Amazon Web Services. Причём, в документации не только открыто об этом говорится, но ещё и в некоторых местах перенаправляют на доки от Amazon. И SDK предлагают тоже использовать амазоновский. До санкций я бы сказал, что это не так плохо — можно использовать что-то привычное тем, кто уже работал с Amazon. Но сейчас привязка к американскому сервису выглядит скорее жирным минусом. Не знаю, есть ли у Яндекса ресурсы на какое-то серьёзное разделение. Судя по состоянию документации и платформы в целом — нет. Yandex Cloud кажется системой, которая активно развивалась несколько лет назад, а сейчас подзаброшена. Среда выполнения .NET отстаёт от актуальной на две версии (3.1 вместо 6, четвёртой версии не существует). Изначально мой проект был написан как обычное контейнеризированное приложение на .NET 6, а потом я переводил его на функции. Пришлось пройтись по всему коду и переписать несовместимые куски с C#10 на C#8, это было не слишком приятно. Документации фактически нет, а там, где есть, много путаницы. В примерах написано одно, по факту другое: например в функцию вместо объекта Request приходит просто строка, а разбирать её надо самому. Авторизацию я нашёл только на Stackoverflow. Интересно, что адекватных доков про неё не было ни у Яндекса, ни у Amazon. Функция выполняется и выгружается, поэтому ваша программа не должна рассчитывать на наличие постоянно живущего процесса. Мне пришлось вытащить из неё большой словарь, который грузится при старте, и положить уже подготовленные данные из него в Object Storage — это такое горячее файловое хранилище, там же рядом с функциями. Справедливости ради, работает это всё быстрее, чем я думал. Удалось запихнуть в функции даже сравнительно большой проект с кучей классов, создающий при запуске несколько десятков объектов и производящий загрузку из сети с декомпрессией. Другой важный плюс — бесплатная квота довольно внушительная: миллион вызовов и 10Гб*часов оперативной памяти в месяц. Для пет проекта вы сможете вообще не покупать сервер. Но если сервер у вас всё-таки есть, деплой вы уже настроили, то удобнее будет, конечно, делать как привычно. И гибкости больше. #dev
Hashtags
Общо глобално търсене
@PTPPAction · Post #1666 · 15.03.2024 г., 05:45
#dev#IITII#merged site(FreeFarm): 特别区适配
@PTPPAction · Post #1663 · 14.03.2024 г., 07:25
#dev#IITII#merged fix(agsv): 修复做种体积展示 (#1753)
@PTPPAction · Post #1658 · 14.03.2024 г., 02:55
#dev#IITII#merged fix(gtru): download failed (#1751)
@PTPPAction · Post #1653 · 12.03.2024 г., 07:00
#dev#IITII#merged fix(ptvicomo)更新名称为象岛;显示禁转
@PTPPAction · Post #1648 · 07.03.2024 г., 07:10
#dev#IITII#merged fix(chd): HnR count (#1743)
@PTPPAction · Post #1646 · 06.03.2024 г., 09:55
#dev#IITII#merged site(qingwa): add new site (#1742)
@PTPPAction · Post #1634 · 23.02.2024 г., 15:30
#dev#IITII#merged fix(sjtu): uploads and seeding
@PTPPAction · Post #1616 · 20.02.2024 г., 08:50
#dev#IITII#merged fix(m-team):更新馒头主站域名 #1727
@PTPPAction · Post #1613 · 20.02.2024 г., 08:40
#dev#IITII#merged fix: 用户升级条件判断 #1728
@PTPPAction · Post #1603 · 12.02.2024 г., 05:25
#dev#IITII#merged fix:kame #1724
@PTPPAction · Post #1598 · 12.02.2024 г., 04:40
#dev#IITII#merged fix(byrpt): messageCount (#1725)
@PTPPAction · Post #1593 · 09.02.2024 г., 06:00
#dev#IITII#merged ref: 使用 chrome 定时权限触发定时刷新 (#1722)