{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

armpc.ru

@ARMLab  - Telegram

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

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

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

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

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

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

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

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