Технология Orion
Солярис 11.4
DTrace — Мы использовали подход кухонной раковины: весь наш инструментарий для динамического программирования интегрируется с ним. В то время как bpftrace является хорошей недавней разработкой для Linux, то, что он делает полезные вещи в динамическом языковом пространстве, находится далеко, где действие.
ZFS — лучше с Solaris при поддержке службы поддержки Oracle. Не принимать замены.
Зоны — обеспечивает изоляцию сервисов и подходящие сборки сайтов в песочнице.
node.js v21.6.1
- Поскольку Editor.md отлично, его переместили в
node.js— WYSIWYG, независимо от контекста зрителя (редактирование в нашей онлайн-среде или просмотр результирующего производственного сайта).
Перл v5.38.2
- Теперь с mod_perl v2.0.14 w/ ithreads и httpd v2.4.67 w/ event mpm.
Subversion v1.14.6
изготовленный на заказ ithread-безопасный
СВН::Клиентпривязки с пулами памяти по запросам.собственные привязки python3 (v3.8.3).
многопоточные порты python3 svnpubsub и svnwcsub — весь набор kit и caboodle для развертывания распределенного предприятия/CDN сайта с использованием Subversion.
заполнил python3 просмотр порт. Будет рассмотрен pull-запрос для моих изменений вверх по течению, как позволяет время.
Некоторые комментарии на дорогах не (Да?) Использовано…
SQL
Мы являемся магазином NoSQL для всей инфраструктуры нашего веб-сайта, и если вы оседланы гигантской единичной точкой отказа, известной как СУРБД, управляющая активами вашего сайта, пожалуйста, пересмотрите более децентрализованный подход, основанный на Jamstack и бессерверной технологии. Даже если это не наше. Вы поблагодарите нас позже!
Почему не Git?
- The
СВН Gitмост уже существует, если вы предпочитаете работать с git самостоятельно, вместо того, чтобы использовать онлайн IDE для Orion ™. У вас есть варианты! Вы можете получить еще больше пробега из действий GitHub, нажав ваши изменения в GitHub (и перечеркнув их в действии GitHub, или предварительно зафиксировав крюк, или оба, скажем) доgit svn коммит-предоставление их в наши репозитории Subversion для прямой публикации. Здесь это живая, полная история Git-копия всех источников этого сайта.
Деревья источников веб-сайтов не совсем похожи на деревья источников программного обеспечения, с точки зрения того, как вы их изменяете и управляете ими. Они более согласованы с разработка на основе devops / багажника чем фурункул. Кроме того, гигантским сайтам понадобится SSI, и, возможно, немного CGI, для их использования: по крайней мере, чтобы избежать массового, не просматриваемого оттока сайта от столь же массивного отправителя коммитов. дифф выходные данные по полученным дельтам дерева сборки.
Для остроумия: попытка получить полнофункциональную реализацию SSI из некоторой локальной “веб-сервер” То, что вы используете для предварительного просмотра изменений в какой-то другой системе сборки, просто немного глупо, если вы остановитесь и подумаете об этом. С помощью нашего Orion вы просто создаете ветку в svn и off вы идете: редактирование, фиксация, строительство, просмотр и итерация, мгновенно, на веб-сайте, который интегрирован в Orion ™ Инфраструктура с двунаправленными ссылками (и перенаправлением закладок) IDE. Не выходя из браузера.
Когда пришло время перенести эти изменения на производственную площадку на основе багажника, вы можете продвигать как можно больше или как можно меньше ветви, как вы считаете нужным, прямо обратно в багажник. Если магистраль двинулась вперед с тех пор, как изменения вашей ветви были в конечном итоге готовы к первому времени, просто нажмите Синхронизация кнопка для синхронизации-объединения ствола с вашей ветвью. После двойной проверки результатов сборки фиксации после синхронизации на веб-сайте вашего филиала, идите вперед и нажмите на Повысить уровень ссылка, следуйте этому с Фиксация на той же странице с разумным сообщением журнала фиксации, и вуаля, вы теперь транслируете на производственной сборке багажника.
Если вам нужно распространять и иметь дело с полученными деревьями, используя контроль версий, вам не понравится git в больших масштабах. Особенно при интеграции бинарных артефактов (например, выпусков программного обеспечения) или (устаревшей) документации по продукту (например, doxygen или javadocs), построенной с использованием этой системы или с использованием стороннего конструктора, который вы используете локально, чтобы просто загрузить эти результаты сборки непосредственно в наши целевые репозитории. С помощью нашего подхода вы можете избежать ненужного беспорядка и вздутия в дереве исходного кода вашего сайта, в отличие от того, как он будет работать с git, используя ветви в репозитории, общие как для вашего источника, так и для создания деревьев.
Subversion поддерживает тонко детализированный контроль доступа и позволяет выполнять частичные / разреженные проверки
Головка; с Git у вас есть NO ACLs, кроме как на ветке «все или ничего», и вы должны клонировать всю ветку (которая включает историю) до этого. Если вы не осознаете необходимость этих наборов функций только для svn, вы еще не сделали замечаний предыдущего элемента (см. выше).Для IDE нам понадобятся привязки read+write Perl для
libgit2(который не предоставляется фактической командой разработчиков git и в значительной степени поддерживается мегалитическими корпорациями, которые НЕ предоставляют онлайн-среду IDE для git как сопоставимый продукт SaaS; и нет, GitHubЭто не так) для того, чтобы соответствовать режиму управления памятью, совместимому с httpd svn, и безопасности потоков POSIX (+ Perl ithreads), в постоянной среде выполнения и в нескольких репозиториях Git на стороне сервера деревьев веб-сайтов клиентов. По нашим оценкам, зрелость этой инфраструктуры с открытым исходным кодом не может быть обеспечена к 2020 году, но мы будем следить за развитием событий. Глядя на тебя,Git::Raw!Я до сих пор не знаю, как сделать позикс-поток безопасный git фарфор. Безопасность потоков в отдельных репозиториях, но в рамках ОЗУ общего процесса, является вариантом использования, а не безопасностью потоков в данном репозитории (что является разумным спросом).
Почему не Python, Ruby, JavaScript или Go?
ГИЛ-вложенный
mod_pythonеще есть путь, прежде чем он достигнет зрелостиmod_perlв потоке mpm. Кроме того, текущая реализация нашего продукта тесно интегрирована с полным API модуля сервера Apache HTTPd, который толькоmod_perlобеспечивает.ГИЛ-вложенный
mod_rubyбыл в значительной степени оставлен сообществом Руби по различным причинам контроля качества. Перенос пользовательских источников Orion LOC Perl 5 5K ™ в другой среде программирования может привести к 10-100 складной шарнир количество линий реализации, и, следовательно, значительное снижение производительности на любом другом языке динамического программирования.
Конечно, вот снимок, датированный 19 июля 2020 года, части SunStar Systems дерева производственных источников для всего Ориона (IDE+build). Есть немного других, кроме нашей Dotiac::DTL вилка. Весь код, связанный со сборкой, уже был открыт на GitHub. Что остается конфиденциальным, так это настройки на основе C для деревьев сторонних источников, которые являются уникальными отличительными чертами нашего продукта.
joe@zeus:/x1/Orion% wc -l */lib/SunStarSys/**/*.pm
1 build/lib/SunStarSys/ASF.pm
128 build/lib/SunStarSys/SVNUtil.pm
270 build/lib/SunStarSys/Util.pm
36 build/lib/SunStarSys/Value.pm
82 build/lib/SunStarSys/Value/Blogs.pm
61 build/lib/SunStarSys/Value/Jira.pm
77 build/lib/SunStarSys/Value/Mail.pm
70 build/lib/SunStarSys/Value/SVN.pm
106 build/lib/SunStarSys/Value/Snippet.pm
85 build/lib/SunStarSys/Value/Twitter.pm
378 build/lib/SunStarSys/View.pm
1260 webgui/lib/SunStarSys/Orion.pm
112 webgui/lib/SunStarSys/Orion/Cookie.pm
183 webgui/lib/SunStarSys/Orion/Filter.pm
90 webgui/lib/SunStarSys/Orion/MapToStorage.pm
59 webgui/lib/SunStarSys/Orion/WC.pm
194 webgui/lib/SunStarSys/Orion/WC/Add.pm
97 webgui/lib/SunStarSys/Orion/WC/Browse.pm
133 webgui/lib/SunStarSys/Orion/WC/Commit.pm
79 webgui/lib/SunStarSys/Orion/WC/Copy.pm
66 webgui/lib/SunStarSys/Orion/WC/Delete.pm
47 webgui/lib/SunStarSys/Orion/WC/Diff.pm
182 webgui/lib/SunStarSys/Orion/WC/Edit.pm
116 webgui/lib/SunStarSys/Orion/WC/Mail.pm
70 webgui/lib/SunStarSys/Orion/WC/Merge.pm
67 webgui/lib/SunStarSys/Orion/WC/Move.pm
52 webgui/lib/SunStarSys/Orion/WC/Production.pm
47 webgui/lib/SunStarSys/Orion/WC/Promote.pm
60 webgui/lib/SunStarSys/Orion/WC/Resolve.pm
64 webgui/lib/SunStarSys/Orion/WC/Revert.pm
82 webgui/lib/SunStarSys/Orion/WC/Rollback.pm
123 webgui/lib/SunStarSys/Orion/WC/Search.pm
78 webgui/lib/SunStarSys/Orion/WC/Staged.pm
24 webgui/lib/SunStarSys/Orion/WC/Static.pm
49 webgui/lib/SunStarSys/Orion/WC/Update.pm
220 webgui/lib/SunStarSys/SVN/Client.pm
4848 total
mod_jsникогда не делал срез для httpd v2, гораздо меньше резьбовых mpm.Попытка внедрения
GoLangв httpd, с нативными привязками управления версиями, было бы забавным вызовом; только не для меня лично. Хороший язык с интересными компромиссами, когда дело доходит до динамической связи, но определенно может быть для будущего исследования.Что касается системы сборки Perl 5, следите за ней! Нет причин, по которым она не может быть портирована на какой-либо другой язык программирования, так как система сборки полностью изолирована от Orion ™Интерактивная IDE (вне демона рендерера разметки на основе
node.js, которая сама по себе является автономной системой) по миллиону причин безопасности / архитектурного проектирования. Если вам нужен тизер о возможностях, загляните вbuild_external.plскрипт в репозитории @SunStarSys Orion: ASF использовал его для всех видов вещей, которые не имели острой необходимости в системе управления зависимостями.Да, траектория популярности Перла иронично отслеживает траекторию COBOL, или даже Common Lisp, несмотря на доминирование Unix на рынке серверов; но некоторые вещи стареют лучше, чем другие. Твердый (и уникальный Перл)
нитьинженерия внеp5p, в рамках подготовки к появлению Perl 7, приветствуются новости для разработчиков mod_perl, все еще цепляющихся за оригинальное видение Дуга MacEachern. Если вы окажетесь на коленях в более чем 100 источниках LOC Perl, чтобы получить то, что вам нужно, из нашей текущей системы сборки Perl, давайте поговорим — Возможно, мы можем сотрудничать над чем-то менее сложным для вас, чтобы использовать его для создания вашего сайта. Меньше с Перлом.
Почему не с чем-то, основанным на JVM?
- Только что проработал этот путь, учитывая мою 20-летнюю историю с LAMP Stack и конструктивный вклад в расширенное сообщество веб-серверов Apache HTTPd. Делаемый, но опять же масштабное предприятие с множеством трудных инженерных проблем, чтобы решить по пути.
Индекс
SunStar Орион систем — Корпоративная платформа Jamstack Wiki для создания, управления и доставки статические веб-страницы с использованием технологии Jamstack для динамических функций в них…
Безопасность Orion — “Безопасность через неясность – это совсем не безопасность.”…
Политика конфиденциальности Orion — Это система, соответствующая требованиям GDPR. Первый визит в Орион ™ CMS/IDE, вы будете перенаправлены на страницу Гугл с просьбой разрешить…
Ссылка Ориона — Эти розовые иконки карандаша
в правом верхнем углу рядом с хлебными крошками дадут вам живую демонстрацию…Планы Ориона — Годовые предварительные ценовые скидки (до 20% от ежемесячных затрат на выставление счетов)…
Особенности Orion — Один и тот же механизм рендеринга кода Java в браузере и в сценарии сборки markdown.js (на основе node.js)…
Орион API — Эта страница индексирует API Search, Online Editor, библиотеку шаблонов Django и Build System…