{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Утилизировать микроПК и получить навыки горизонтального масштабирования

Какую зарубежную вакансию разработчика сегодня ни открой - везде требуются навыки/опыт масштабирования систем и их оптимизации.

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

Начну подводку с небольшой истории.

Как использовать микроПК?

В заголовках многих статей на технических ресурсах я слышал про использование микроПК вроде raspberry pi и это звучало всегда интересно, но в внутри их использование получалось каким-то однообразно нелепым и сводилось к миганию светодиодами или выведению температуры процессора на дисплейчик в большинстве случаев. Коллеги и знакомые в разговорах при упоминании микроПК говорили, что у них тоже есть дома такой, но просто пылится в ожидании какой-нибудь идеи.

Я и не обращал внимания на это, пока сам не купил себе cubieboard у коллеги, который, кстати, тоже пожаловался на то, что он валяется у него без дела.

Я же купил его и использовал как домашний хостинг для личной учетной системы и для периодических тренировок администрирования линукса. Это было полезным использованием, но ничего такого оригинального из микроПК не получилось и то же самое я мог бы сделать на своем основном ПК.

А интересная идея пришла ко мне спустя какое-то время моей работы в интернет-провайдере. Пришел я туда после работы в студии по разработке сайтов, ещё толком ничего не понимая в устройстве сети провайдера и администрировании серверов. Месяц за месяцем я открывал для себя как в реальности обеспечивается работа интернета, начинал получать какое-то представление о нем, но все это было в основном наощупь: по картинкам, рассказам, статьям и удаленному доступу. Захотелось наглядности.

Я заказал себе сразу несколько orange pi (предпочтя их raspberry, стоящим дороже в разы) и решил изучать сети, ставя их за разными роутерами и коммутаторами и всячески экспериментировать с реальными "железками", ну и в развитие первоначальной идеи добавилось желание научиться строить кластеры и реализовывать отказоустойчивость. МикроПК обеспечивали наглядность: можно физически расставлять устройства на стенде и смотреть на их взаимодействие.

Мысль сделать из этого проект и для других разработчиков, похожих на меня, не заставила себя ждать. Так родился проект backend-university - платформа для изучения горизонтального масштабирования.

Что проект из себя представляет?

Пока в разработке находятся несколько интерактивных сценариев для изучения базовых вещей, от просто деплоя до CI/CD.

Далее пошагово будут реализовываться сценарии по нарастанию сложности, вплоть до монструозных, таких как этот:

Для разворачивания очередного бэкенда, мы будем предоставлять плейбуки ansible и разбирать каждый шаг из них, чтобы можно было пройтись по ним вручную. Ансибл нужен как раз для того, чтобы неинтересное пропускать. В комментариях можно будет обсудить плюсы и минусы, предложить свою точку зрения и задать вопросы.

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

0
4 комментария
Борис Десятский
Автор

Подписывайтесь, если интересно. Так же буду отвечать на вопросы тут в комментах.

Ответить
Развернуть ветку
Артур М.

Привет, спасибо за материал.

Опубликовал на нашем форуме и канале про одноплатники:

armpc.ru

@ARMLab  - Telegram

Кстати, добавляйтесь.

Ответить
Развернуть ветку
Bulat Ziganshin

последняя фраза напомнила анек про микрохирурга

у меня знакмоый делал подобное на одной персоналке с помощью виртуалок

Ответить
Развернуть ветку
Борис Десятский
Автор

Фактически, можно все проделывать на виртуалках и на одной машине, да. Но на нескольких нагляднее и интереснее.

Тем не менее примеры можно будет запускать и так и так, а микропк мы не продаем.

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