Современные реалии таковы, что не каждый бизнес может себе позволить сайт, особенно стартующий бизнес. Поэтому выгодно воспользоваться конструктором сайтов, например filandor. Запуск сайта через несколько минут.

Прежде чем мы углубимся в мой опыт стажировки в Cloudflare, позвольте мне представиться. В настоящее время я учусь в магистратуре Национального университета Сингапура (NUS) и изучаю компьютерные науки. Я увлечен созданием программного обеспечения, которое улучшает жизнь людей и делает Интернет лучше для всех. Еще в декабре 2021 года я присоединился к Cloudflare в качестве стажера по разработке программного обеспечения в команде партнерства, чтобы помочь партнерам улучшить опыт использования платформы. Я был очень взволнован этой возможностью и ухватился за перспективу работы над бессерверной технологией для создания жизнеспособных инструментов для наших партнеров и клиентов. В этом сообщении в блоге я подробно описываю свой опыт работы в Cloudflare и многие моменты стажировки.

Опыт интервью

Процесс начался для меня, когда я проходил модуль разработки программного обеспечения в NUS, где один из моих однокурсников поделился объявлением о вакансии для стажировки в Cloudflare. Я уже знал о DNS-сервисе Cloudflare и был очень рад узнать больше о возможности стажировки, потому что мне действительно понравилась миссия компании — помочь улучшить Интернет.

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

Моя стажировка

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

Изначально мы обсуждали использование Terraform, поскольку Cloudflare уже поддерживает автоматизацию terraform. Однако этот подход будет обслуживать только клиентов и пользователей, у которых больше технических ресурсов, и, в истинном духе Cloudflare, мы хотели сохранить его простым, чтобы его могли использовать все и каждый. Поэтому мы решили использовать общедоступные API-интерфейсы Cloudflare и создать браузерное приложение, которое взаимодействует с этими API-интерфейсами для отображения конфигураций и легкого внесения изменений из простого пользовательского интерфейса.

С конечной целью упростить для наших партнеров и клиентов опыт дублирования конфигураций зон, мы решили создать веб-приложение Zone Copier, построенное исключительно на Cloudflare Workers. Этот инструмент одним нажатием кнопки автоматически скопирует каждую настройку, которую можно скопировать из одной зоны в другую, что значительно сократит время и усилия, необходимые для внесения изменений.

Наряду с Zone Copier у нас будут некоторые вспомогательные инструменты, такие как Zone Viewer и Zone Comparison, где клиент может легко получить полный обзор своих конфигураций на одной веб-странице и иметь возможность сравнивать различные зоны, которые они используют соответственно. Эти другие приложения улучшают существующие методы, с помощью которых пользователи Cloudflare могут просматривать свои конфигурации зон, и позволяют проводить прямое сравнение между различными зонами.

Важно отметить, что эти приложения не заменяют панель инструментов Cloudflare, а дополняют ее — для более глубокого погружения в один конкретный параметр конфигурации панель инструментов Cloudflare остается подходящим вариантом.

Чтобы приступить к созданию веб-приложения, я провел первые несколько недель, изучая общедоступные API-интерфейсы, предлагаемые Cloudflare как часть API v4, чтобы проверить выходные данные каждой конечной точки и тип данных, которые будут отправлены в качестве ответа от запрос. Это заняло гораздо больше времени, чем ожидалось, поскольку некоторые конечные точки предоставили разные ответы по умолчанию для зоны, которая либо имеет пустую настройку (например, не имеет созданных правил брандмауэра), либо использует вложенную структуру для своего соответствующего ответа. Эти различные потенциальные ответы необходимо изучить, чтобы при вызове веб-приложением соответствующей конечной точки API ответы обрабатывались надлежащим образом. Этот процесс был довольно ручным, поскольку каждую конечную точку нужно было проверять индивидуально, чтобы гарантировать, что выходные данные будут работать без проблем с приложением.

После того, как я завершил свое исследование, я смог приступить к разработке веб-приложения. Создание веб-приложения было очень интересным опытом, поскольку стек опирался исключительно на Workers, бессерверную платформу приложений. В моем предыдущем опыте создания веб-приложений использовались серверы, требующие развертывания сервера, созданного с использованием Express и Node.js, тогда как в моем проекте стажировки я полностью полагался на серверную часть, созданную с использованием itty-маршрутизатор библиотека на Workers для взаимодействия с общедоступными API Cloudflare. Я нашел это чрезвычайно захватывающим, поскольку создание бессерверного приложения требует меньше накладных расходов по сравнению с настройкой сервера и его развертыванием, а само использование Workers имеет много других дополнительных преимуществ, таких как нулевой холодный запуск. Это знакомство с бессерверной технологией и мой опыт глубокого изучения возможностей Workers действительно открыли мне глаза на возможности, которые Workers могут предложить как платформа. С Workers вы можете развернуть любое приложение в глобальной сети Cloudflare, как это сделал я!

Для внешнего интерфейса веб-приложения я использовал React и библиотеку Chakra-UI для создания пользовательского интерфейса, на котором основаны Zone Viewer, Zone Comparison и Zone Copier. Маршрутизация между разными страницами была выполнена с помощью React Router, а приложение развертывается непосредственно через Workers.

Вот скриншот приложения:

Опыт стажировки: Стажер по разработке программного обеспечения

Представляем прототип приложения

Как известно разработчикам, лучший способ получить отзыв об инструменте, который вы создаете, — это напрямую попросить ваших клиентов использовать его и сообщить вам, что они думают о вашем приложении и о тех функциях, которые они хотели бы добавить к нему. Это. Поэтому, как только у нас была готова прототипная версия веб-приложения для Zone Viewer и Zone Comparison, мы представили приложение группе разработчиков решений, чтобы узнать их мнение о влиянии этого инструмента на их работу и дополнительных функциях, которые им нужны. чтобы увидеть построенный на приложении. Я нашел этот процесс очень полезным, так как они коллективно упомянули, какое влияние приложение окажет на их работу, а также ценность, которую дает им этот проект.

Вот некоторые интересные отзывы и пожелания, которые я получил:

  1. Zone Copier, безусловно, будет очень полезен для наших партнеров, которым необходимо регулярно копировать конфигурацию одной зоны в другую, и он определенно поможет уменьшить количество человеческих ошибок в процессе настройки настроек.
  2. Помимо дублирования конфигураций из зоны в зону, можем ли мы использовать это для репликации конфигураций из лучшей в своем классе конфигурации для различных вариантов использования и позволить партнерам развертывать ее несколькими щелчками мыши?
  3. Можем ли мы использовать этот инструмент для создания ежеквартальных отчетов?
  4. Zone Viewer был бы очень полезен для нас, когда мы создаем документацию по конфигурации конкретной зоны как часть отчета POC.
  5. Zone Viewer также даст нам гораздо более глубокое представление, чтобы лучше понять текущие конфигурации зон и предоставить рекомендации по их улучшению.

Кроме того, мне было очень приятно пообщаться с широкой командой разработчиков решений, поскольку я обнаружил, что многие из них были очень технически склонны и имели много ценных предложений по улучшению архитектуры и разработке приложений. Особая благодарность Эдвину Вонгу за организацию сеанса обмена информацией с внутренней командой, а также большое спасибо Синь Мэн, AQ Jiao, Yonggil Choi, Steve Molloy, Kyouhei Hayama, Claire Lim и Jamal Boutkabout за их понимание и предложения!

Влияние Cloudflare вне работы

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

Cloudflare является частью Залог 1%где компания посвящает 1% продукции и 1% своего времени местным сообществам, а также всем сообществам, которые мы поддерживаем онлайн по всему миру.

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

Опыт стажировки: Стажер по разработке программного обеспечения

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

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

Заключительные выводы

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

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