Сила сообщества разработчиков

1656533532 sila soobshhestva razrabotchikov

Джоэл Спид

Осенью 2014 года я начал свое приключение в мир DevOps. Как только получил диплом, я нашел в университете общество, которое отчаянно нуждалось в любви к ИТ. Следующие три года мой дом был в Warwick Student Cinema.

BufmiJ4tdnK0rolaro76iqb6Cq2n41YlrSBz

Во время учебы я разорвал каждую часть инфраструктуры кинотеатра и восстановил ее с нуля (не все своими силами). Будучи ограниченным бюджетом, примерно 0 фунтов стерлингов в год, инфраструктура кинотеатра состояла из ряда автоматов, которые уже не нужны университету, и пары коробок для пиццы Dell размером 1U, которые они купили как разовые расходы. На этом они разместили свой общедоступный веб-сайт и ряд внутренних сайтов, которые имеют решающее значение для работы кинотеатра.

Самый важный из этих сайтов был известен как EPOS. Это был монолит PHP, переплетенный с основным общедоступным веб-сайтом, который был написан примерно 10 лет назад несколькими студентами-энтузиастами и из года в год передавался следующему ИТ-офицеру.

Этот сайт EPOS использовался для продажи билетов на сеансы кинотеатра примерно 7 раз в неделю. На каждом показе в течение 30-минутного окна мы могли продать до 300 билетов. Но чаще сайт сорвался, и нашим очередным менеджерам приходилось использовать лотерейные билеты, чтобы подсчитать наших посетителей. К сожалению, системы не имели излишества, ничего горизонтально масштабируемого, и, честно говоря, никто не знал, как что-то сочетается.

Я хотел бы думать, что в то время, когда я передал шляпу IT-офицера своему преемнику, инфраструктура была в лучшем состоянии. Все рабочие нагрузки Linux были перенесены в контейнеры Docker, работающие на Swarm. Файлы Docker контейнера находились под контролем исходного кода с автоматической уборкой и развертыванием с помощью Jenkins.

Теперь мы поняли роль каждой части инфраструктуры, мы могли увидеть в коде, что и где работает. Теперь монолит мог горизонтально масштабироваться, а время его работы значительно увеличилось. Я чувствовал, что я и те несколько коллег, которые помогали мне в этот период, действительно внесли изменения в систему, которую мы поддерживали.

Ничего из того, что я описал выше, я не мог бы сделать сам. Я не гений. Я не просто мгновенно знал, как написать Dockerfile или как настроить Docker Swarm. Избыточные брандмауэры, которые я установил со сложной маршрутизацией на основе политик и VRRP на их внутренних и внешних интерфейсах, не было догадкой. Я едва знал, что такое Linux, когда начал учиться в университете!

Все, что я делал, все, что я узнал за этот период, было получено из Интернета, сообщества. Я провел бесчисленное количество часов в Google, переходя от учебников на такие темы, как создание CSR, к вопросам StackOverflow, которые соответствовали строке ошибок, с которым я только что столкнулся. Я просмотрел форумы поддержки pfSense, пытаясь понять, как получить маршрутизацию трафика между несколькими VLAN. И я читал статьи о лучших методах уменьшения отдельных моментов сбоев. Все ответы, которые я нашел, все, что я читал, были предоставлены людьми в свободное время.

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

Это именно то, что я говорю! Без времени и усилий, которые много членов сообщества тратили на свои блоги и учебные пособия, я бы не справился с большинством проектов, которые я принимал в кино, и не научился бы так много!

Это заставило меня задуматься. Я хотел иметь возможность отдать, взять то, чему научился, и стать активным членом сообщества. Если бы эти люди помогали мне, мог бы я помочь им и отплатить за услугу?

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

Это произошло не совсем так, как планировалось. Мне понадобилось целых 3 года от покупки моего домена до фактического размещения блога на нем. Мне повезло, что компания Pusher поддерживает мое желание писать и отдавать обществу. В марте этого года мне удалось написать свой первый пост в блоге и теперь он опубликован на The New Stack и InfoQ. Я выступал на 2 встречах, и я настаивал на открытом коде многих проектов, над которыми работал с тех пор как присоединился к Pusher. В настоящее время опубликовано пять!

За последний год я понял, что внести вклад в сообщество не так трудно, как я думал, и что на самом деле работал над некоторыми интересными вещами. Многие обращались ко мне, разговаривали со мной после переговоров, задавали вопросы или узнавали больше о проделанной мной работе. Несколько раз люди просто говорили мне, что читали мою работу и использовали ее как ориентир для проектов. Я рад, что мне удалось помочь этим людям и начал помогать другим, как многие другие помогли мне.

Почему ваша работа с открытым кодом?

Проекты, которые мы разработали в Pusher с открытым кодом, не особенно велики, и они не дают нам конкурентного преимущества перед любым из наших конкурентов. Они связаны с нашей инфраструктурой Kubernetes. Там, где мы не смогли найти существующее решение в сообществе, мы написали инструменты, которые нам нужны, и теперь мы делимся ими, чтобы другим людям, пытаясь решить те же проблемы, не нужно тратить время на написание собственной версии.

Возможно, вы работали над чем-то подобным, это открытый код? Это может быть? Я хотел бы призвать вас поделиться этим, если вы можете.

Моя просьба

Если вы зашли так далеко, спасибо, я должен попросить об услуге. Независимо от того, разработчик или бухгалтер, работаете ли вы в PR или в отделе продаж, вы будете знать то, чего не знает кто-то другой. Вы будете экспертом в чем-то даже если не знаете, что вы. Подумайте над этим, а затем положите ручку на бумагу (или цифровой эквивалент).

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

Добавить комментарий

Ваш адрес email не будет опубликован.