Разработчики Nginx запустили в России новый продукт — «ответвление» кода Nginx, который до этого «перенесли» из страны Статьи редакции

Компания рассчитывает, что проект также включат в реестр российского ПО.

Источник: CISO Club
  • Бывшие сотрудники компании-разработчика веб-сервера Nginx учредили в России новую фирму — ООО «Веб-Сервер», сообщил «Ъ» со ссылкой на источник на рынке. В проект на первом этапе инвестировали $1 млн.
  • По данным «Контур.Фокуса», четверо из семи совладельцев — выходцы из Nginx: это Валентин Бартенев, Руслан Ермилов, Олег Мамонтов и Иван Полуянов. Гендиректором назначили Заура Абасмирзоева, который до этого занимал руководящие позиции в техотделах СМИ, «Новых облачных технологий», Gett, АНО «Диалог». Сооснователь Nginx Игорь Сысоев, покинувший Nginx в начале 2022 года, в проекте не участвует.
  • Бизнес с уставным капиталом в 500 тысяч рублей основали ещё 21 июля 2022 года, а в качестве основного вида деятельности указали «разработку компьютерного ПО». Уже 10 октября компания также подала заявку на регистрацию товарного знака Angie.
  • Angie — это «форк» кода Nginx, то есть его самостоятельное «ответвление». Разработка ведётся в России, а сам код разместят «в доверенном репозитории Минцифры для прохождения надлежащих сертификаций», говорится на сайте компании. Поставлять продукт будут по открытой лицензии.
  • Компания готова помочь с интеграцией Angie в партнёрские продукты, а также переходом с Nginx, и рассчитывает, что решение включат в реестр отечественного ПО. С последним проблем возникнуть не должно, считают участники рынка: решение может пользоваться спросом у госкомпаний и ведомств, которые с 2025 года они не смогут пользоваться зарубежными сервисами.
  • Первую версию веб-сервера Nginx Игорь Сысоев — тогда ещё системный администратор Rambler — разработал в начале нулевых. В 2011 году он учредил одноимённую компанию, а в 2019-м её купила американская F5 — за $650 млн.
  • По некоторым оценкам, Nginx обеспечивает работу 27,3% всех сайтов в интернете. В России на долю её веб-сервера приходится 60% ресурсов — это в том числе поисковик «Яндекса» и «Авито», отмечают собеседники «Ъ».
  • После 24 февраля 2022 года F5 прекратила продажи в России и вывела хранение кода Nginx с территории страны. В пресс-службе американской компании сообщили «Ъ», что она «не связана с проектами Nginx в России и не одобряет их».
0
116 комментариев
Написать комментарий...
Alexander Quartz

зачем nginx если есть caddy?

Ответить
Развернуть ветку
Гала Перидоловна

Ну, например, когда у тебя есть нагрузка, а не dev окружение. caddy подойдет только для случаев, когда прилетает 2-3 запроса в минуту. Да и то не всегда, т.к. ttfb у caddy около 1,5 секунд. Envoy/nginx/apache около 500 мс.

Ответить
Развернуть ветку
C. Steel

Я никогда с Caddy не работал, но то что вы пишете не лезет ни в какие рамки. Можно, пожалуйста, пруф?

Ответить
Развернуть ветку
Гала Перидоловна

Ну да, херня написанная на Go с GC будет работать на уровне epoll стейт машины. В какие рамки чего не лезет? Но да ладно, раз поиском не умеете пользоваться то вот прям офф форум https://caddy.community/t/performance-compared-to-nginx/7993/12

Ответить
Развернуть ветку
C. Steel
Ну да, херня написанная на Go с GC будет работать на уровне epoll стейт машины.

А в чем проблема? Херня написаная на JS и Java работает на уровне C++/Rust, почему бы херне на Go не работать?

В какие рамки чего не лезет?

Вот это ультрадичь:

caddy подойдет только для случаев, когда прилетает 2-3 запроса в минуту

Даже встроенный в Python билиотечный http-сервер намного быстрее, чем вы описали.

Но да ладно, раз поиском не умеете пользоваться то вот прям офф форум https://caddy.community/t/performance-compared-to-nginx/7993/12

Вы дали ссылку на сообщение:

If you don’t mind to run another test with default Nginx that came with Linux distro for benchmark since majority of the community would have not spent their time optimize with your performance tweaks, it would be a fair comparison.

p.s. I have been using your benchmark as an authoritative source for years.

И вы это называете пруфом?

Вот что нагуглилось:
https://github.com/centminmod/centminmod-caddy-v2#caddy-vs-centmin-mod-nginx-http2-https-benchmarks

Ответить
Развернуть ветку
Гала Перидоловна
Херня написаная на JS и Java работает на уровне C++/Rust, почему бы херне на Go не работать?

Не работает. Херня написанная на JS работает в одном потоке на основе того же epoll. Java может многопоточно работать с non-blocking io. Но все проблемы в том, что Go/Java/JS имеют GC. Язык с GC по своей природе не может работать "на уровне C++/Rust". Они по-другому выделяю память.

И вы это называете пруфом?

https://community.centminmod.com/threads/caddy-v2-versus-centmin-mod-nginx-http-2-http-3-https-benchmarks.19700/#post-83743

Ну не тот пост, там чуть выше есть сравнение. В общем-то разницы с вашей ссылкой не много. Как был caddy унылым говном, так и остался.

Ответить
Развернуть ветку
C. Steel
Язык с GC по своей природе не может работать "на уровне C++/Rust". Они по-другому выделяю память.

На уровне веб-серверов вполне могут работать и работают. GC дает больше преимуществ, чем недостатков, как по мне.

Как был caddy унылым говном, так и остался.

Судя по бенчам в пару раз тормознее nginx. Вообще не фатально.

Ответить
Развернуть ветку
Гала Перидоловна
На уровне веб-серверов вполне могут работать и работают. GC дает больше преимуществ, чем недостатков, как по мне.

Ну расскажите мне какие преимущества дает GC в веб-серверах. Я 4 года писал на C++ балансировщик нагрузки и на Go писал UDP балансировщик. Балансировщик на Go в итоге ни чем не отличался от C/C++ варианта, т.к. пришлось выбросить всю работу с GC и работать со статическими массивами аллоцированными на старте. Ну и запилить обертку над recvmmsg и sendmmsg. Для L7 балансировщика выпилить GC не получится, а попытки написания ручного аллокатора для Go приведут к адской мешанине в коде.

Судя по бенчам в пару раз тормознее nginx. Вообще не фатально.

Да, да. Я полгода переписывал работу с TLS/SSL и смогу выиграть 2 мс за что мне дали премию в 300% от зп и еще зп повысили на 25%. А тут в 2 раза тормознее, херня какая.

Ответить
Развернуть ветку
C. Steel
Ну расскажите мне какие преимущества дает GC в веб-серверах. Я 4 года писал на C++ балансировщик нагрузки и на Go писал UDP балансировщик.

Вы сами ответили на свой вопрос: 4 года на балансировщик.

Балансировщик на Go в итоге ни чем не отличался от C/C++ варианта, т.к. пришлось выбросить всю работу с GC и работать со статическими массивами аллоцированными на старте.

Это профдеформация. Видимо вы слишком долго работали с C++ и теперь везде норовите применять те же самые паттерны. Зачем было вообще брать Go в таком случае?

Да, да. Я полгода переписывал работу с TLS/SSL и смогу выиграть 2 мс за что мне дали премию в 300% от зп и еще зп повысили на 25%. А тут в 2 раза тормознее, херня какая.

Ну так у вас какой-то частный случай, где, видимо, каждая микросекунда дорога. Я вот пишу для мелких микроконтроллеров с крайне ограниченными ресурсами, тоже никаких языков с GC.
Но для 99% серверов в сети эти 2 раза вообще не роляют.
Веб набит серверами на питоне, эрланге, руби, пхп и даже, прости господи, жабаскрипте.

Ответить
Развернуть ветку
Konstantin T.

Недавно был на митапе, где ребята рассказывали, как они сделали высоконагруженный движок биржи на java. Правда им пришлось почти все выкинуть, и потратить дофига времени, чтобы это работало быстро, с кучей велосипедов. Вместо того, чтобы просто взять C++. Работодатель часто сильно переплачивает, работая с тем что есть, вместо того чтобы взять, то что требуется.

Ответить
Развернуть ветку
Гала Перидоловна

Ну в Java есть off-heap стуктуры, которые позволяют выкинуть GC и руками аллоцировать память. Получается норм вариант, если не хочется заморачиваться с JNI/писать на C/C++. Знакомый в хеджфонде рассказывал, что у них сервисы живут с часа Х до часа У и основная их задача сделать так, чтобы память не успела утечь в этот период. Торги закончили - хоть все в клочья разнесет, всем будет пофиг.

Ответить
Развернуть ветку
Гала Перидоловна
Вы сами ответили на свой вопрос: 4 года на балансировщик.

Что? Его разрабатывают 15 лет. Вы думаете что 4 года его с нуля писали?

Это профдеформация. Видимо вы слишком долго работали с C++ и теперь везде норовите применять те же самые паттерны. Зачем было вообще брать Go в таком случае?

Go взяли из-за того, что команда куда он должен был уйти на поддержку писала на Go. Первый вариант я на C вообще написал и было сильно лучше. Дело не в паттернах, а в том как работает сеть. В сети нужно делать вжух-вжух и без копирований обратно в ядро или девайс.

Но для 99% серверов в сети эти 2 раза вообще не роляют.

Я выше и писал, что caddy подойдет для сайтика с 2-3 запросами в минуту.

Ответить
Развернуть ветку
Дмитрий Скрябин

Какие-то странные показатели. 2-3 запроса в минуту... ttfb 500мс..
Мой nginx отдает контент за 30мс и обрабатывает сотни запросо в секунду - у меня не правильный nginx?

Ответить
Развернуть ветку
Гала Перидоловна

Молодец, но я писал про то, что caddy в 3 раза медленнее отдает данные.

Ответить
Развернуть ветку
John Doe

В 3 раза ок. Но 500мс и 1.5с это дико и в том и в том варианте. 50мс и 150мс - вот это более вероятно. И то - я nginx быстрее настраивал.

Ответить
Развернуть ветку
C. Steel

То есть nginx отдает 1 запрос в минуту.
А ttfb у caddy 90мс?

Ответить
Развернуть ветку
Гала Перидоловна

Нет, caddy в 3 раза медленнее. Я об этом уже написал.

Ответить
Развернуть ветку
113 комментариев
Раскрывать всегда