Игра Яндекс Практикума
Игра Яндекс Практикума
Игра Яндекс Практикума

Облачная операционная система — конкурс пет-проектов

За три года написал свою облачную операционную систему на собственном языке программирования.

640 открытий4К показов
Облачная операционная система — конкурс пет-проектов

Идея создать облачную операционную систему у меня возникла давно. После знакомства с докером, я понял, что это очень перспективная технология. Но есть несколько нюансов:

  1. Непонятно, как сделать HTTP-маршрутизацию. Нужно ставить отдельно Traefik или аналог и с ним разбираться. А так, чтобы из коробки, такое не поддерживается.
  2. Не хватает правильного веб-интерфейса. Чтобы мышкой можно было тыкать и быстро запускать докер-среду с нужными контейнерами. Есть Portainer, но мне он не понравился. Там по сути мышкой создается yaml-файл. Но это неудобно. Хочется просто взять и сказать докеру: «Запусти MySQL, а вот c этими yaml-файлами сам разберись».
  3. Я тогда занимался автоматизацией бизнес-проектов, ставил разные CRM, настраивал сервера, поднимал корпоративные почты. Поднять свою почту еще та задача. Обычно это несколько недель работы. А вот есть ли нормальная готовая сборка почты под докер?

Помимо почты, бизнес хотел еще CRM, свою вики, таск-менеджер, и все это на одном домене, на своем сервере, с единой авторизацией. И как такое сделать? Есть ли готовые opensource решения? У меня появилась идея. Давайте создадим такую систему.

На протяжении последних трех лет я разрабатывал ее один, в свободное от работы время. И спустя годы разработок, тестирования и апробации, я создал облачную ОС и назвал ее BAYRELL Cloud OS.

Облачная ОС разработана на языке Bay Lang, который я создал до этого. Идея создать Bay Lang появилась еще раньше, в далеком 2016 году, когда я задался вопросом, а как запустить React на PHP? Варианта два: либо делать бэкенд на PHP как микросервис, либо V8js.

Но меня эти два варианта не устраивали, и я решил разработать шаблонизатор для PHP, который также умеет в реактивность в JS. И вскоре шаблонизатор превратился в язык программирования Bay Lang. На разработку языка программирования ушло примерно семь лет. В нем было около 11 версий.

Сейчас Bay Lang является тьюринг-полным языком программирования. Он умеет:

  1. Конвертировать программу в PHP для бэкенда и JS-фронтенда.
  2. В реактивность, как у современных фреймворков Vue.js и React.
  3. Server Side Render.

Свой язык программирования я апробировал, разработав саму облачную ОС и сайт для нее.

Облачная ОС, на сегодняшний момент:

  1. Управляет докер-контейнерами на сервере.
  2. Обладает веб интерфейсом, где можно мышкой запускать WordPress, MySQL, PHP и т.п.
  3. Может использоваться как облачный аналог Denwer, XAMPP.
  4. Обладает маркетплейсом, в который я собрал различные контейнеры, которые использую у себя на тестовом сервере.
  5. Также сейчас активно используется в качестве среды разработки. В облачной ОС есть веб-версия VSCode, которую можно установить себе на сервер, и прямо на там вести разработку микросервисов.
  6. Можно взять игровой компьютер, установить туда облачную ОС, и через браузер с планшета обучать модели ИИ на PyTorch. Это такой собственный локальный аналог гугл-колаба на минималках.

Я рассказывал об облачной ОС своим друзьям и знакомым, и давал им ее попробовать. Они отмечают, что с помощью нее удобно управлять докер-контейнерами, но не хватает пошаговых инструкций по установке и использованию. А также побольше софта в маркетплейсе.

Я планирую их создать в ближайшем будущем.

Облачная ОС доступна на гитхабе https://github.com/bayrell-os

Сайт проекта: https://cloud.bayrell.org/ru/

На сайте находится маркетплейс и базовые инструкции как установить Облачную ОС.

Пожалуйста, расскажите в комментариях, что вы думаете по этому поводу, и что еще можно добавить в Облачную ОС?

Следите за новыми постами
Следите за новыми постами по любимым темам
640 открытий4К показов