Время — деньги, особенно в стартапах. Узнайте, как легко запустить свою стартап-идею с помощью Render Unified Cloud

Недавно я думал о фильме 1987 года Уолл-Стрит и, в частности, о персонаже Майкла Дугласа, Гордоне Гекко. В то время моя 20-летняя версия, которая смотрела фильм в ночь его выхода, была сосредоточена на своем образовании в колледже. Я пытался усвоить как можно больше в надежде извлечь какое-то образовательное преимущество, которое можно было бы применить к моей степени бакалавра.

Я всегда буду помнить цитату Гордона Гекко: «Самый ценный товар, который я знаю, — это информация».

Перенесемся на 35 лет вперед, и утверждение Гордона Гекко остается верным и сегодня, особенно когда мы понимаем, что «информацию» можно определить в широком смысле. Информация может быть фактическими данными, которыми владеют и которые пользуются большим спросом, но информацию также можно рассматривать как некоторый отличительный признак, который новатор планирует вывести на рынок.

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

Я уверен, что Гордон Гекко согласился бы с выводом Бенджамина Франклина о том, что время — деньги и что у стартапов есть конечное количество времени, чтобы донести свою интеллектуальную собственность (или информацию) до всеобщего сведения.

Итак, давайте рассмотрим, как стартап может запустить свою концепцию за считанные часы, а не дни.

Краткий обзор Render Unified Cloud

В своем рассказе Как создать веб-сервис с помощью Render and Go я взял платформу Render на тест-драйв и продемонстрировал, насколько быстро можно развернуть приложение на основе git. На самом деле, если вы хотите задать вопрос моему сервису Magic 8-ball на основе Go, просто запустите следующий URL-адрес:

https://jvc-magic-eight-ball.onrender.com/answer

В качестве продолжения мне дали возможность взглянуть на платформу рендеринга изнутри, и я написал об этом в «Render Unified Cloud — Under the Hood». То, что я обнаружил, было надежной конструкцией, которая не только предлагает подход Zero DevOps, но и облачную платформу, которая хорошо масштабируется с этапа запуска, чтобы не отставать от успешных производственных реализаций — и все это при сохранении справедливой структуры затрат.

С успешными выводами из моих предыдущих статей я чувствую, что Render — идеальное решение для проверки возможности запуска идеи стартапа за один день.

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

Идея стартапа

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

  • Лучшая цена
  • В наличии и готов к отправке
  • Самая быстрая доставка
  • Торговая репутация

Эти параметры настраиваются как часть подключаемого модуля, что позволяет клиенту решать, что для него важнее всего.

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

Наше окружение

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

  • start-idea-client: приложение ReactJS
  • startup-idea-plugin: подключаемый модуль на основе Javascript для связи с уровнями клиентов и служб.
  • startup-idea-service: сервис на основе Go, в котором находится схема PostgreSQL.

Все эти репозитории находятся на GitLab, как показано здесь:

На простой иллюстрации ниже показана связь между браузером клиента и упомянутыми выше репозиториями и компонентами:

Клиент будет использовать наш подключаемый модуль браузера для взаимодействия с текущей корзиной покупок. При необходимости подключаемый модуль будет выполнять необходимые вызовы службы как на уровне клиента (React), так и на уровне службы (Go). Данные для нашего решения будут находиться в базе данных (PostgreSQL), а все необходимые коммуникации будут осуществляться через уровень служб.

Наши цели

С точки зрения DevOps у нашего стартапа несколько целей:

  1. Нам нужно, чтобы наша хостинговая платформа «просто работала» с нашими существующими репозиториями на основе git.
  2. Мы должны запустить нашу идею за считанные часы… не дни.
  3. Та же самая платформа хостинга должна быть способна адаптироваться к высокой степени рефакторинга во всех аспектах дизайна… без каких-либо новых проблем.
  4. Если наш спрос увеличится из-за упоминания в популярной публикации или влиятельного лица в социальных сетях, простой способ масштабирования нашего сервиса сэкономит много времени и усилий.

Наша надежда на рендер заключается в том, что мы даже не осознаем его существование. Нам нужно, чтобы Render отвечал на наши запросы и инструкции, а затем создавал ожидаемые сервисы и клиентские приложения.

Запуск технологии стартапов

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

  • Статическое приложение React
  • RESTful API на основе Go
  • База данных PostgreSQL

После того, как я захожу в свой Render account, я попадаю в Dashboard, где вижу свой сервис Magic 8-ball:

Далее я расскажу о процессе добавления базы данных, службы RESTful API и клиентского приложения.

Добавление PostgreSQL

Новую базу данных PostgreSQL можно добавить в мою учетную запись с помощью кнопки Создать | Пункт меню PostgreSQL:

Затем я предоставил основную информацию для нашей начальной базы данных, а затем нажал кнопку Создать базу данных (не показана):

Через несколько секунд новая база данных PostgreSQL была готова к использованию.

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

postgres://admin_id:admin_password@hostname/database_name

Вернувшись к панели инструментов, теперь отображается экземпляр PostgreSQL, доступный для использования:

Добавление уровня обслуживания

Чтобы добавить службу на основе Go в Render, я выбираю New | Вариант веб-сервиса.

Поскольку у меня уже установлена ​​интеграция GitLab с моей учетной записью (узнайте, как это сделать здесь), все мои доступные репозитории автоматически отобразились в списке выбора:

Выбрав опцию startup-idea-service, я заметил, что Render установил значения по умолчанию точно так, как ожидалось для моего сервиса на основе Go. Все, что мне нужно было сделать, это указать имя (startup-idea-service), выбрать план (бесплатный уровень для этой публикации) и нажать кнопку «Создать веб-службу».

В течение нескольких секунд наш новый сервис был создан, а через несколько минут сервис на основе Go был полностью настроен.

Для подключения к PostgreSQL я использовал раздел Environment для хранения необходимой ссылки на подключение к базе данных.

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

На этом этапе уровни служб на основе PostgreSQL и Go отображаются на панели инструментов:

Добавление клиентского уровня

Поскольку мы используем React для нашей клиентской среды, мы можем настроить использование статического сайта, выбрав New | Статический вариант сайта.

Как и в конфигурации сервиса, из GitLab отображался список доступных репозиториев, и все, что мне нужно было сделать, это выбрать репозиторий startup-idea-client:

На этот раз я просто указал имя статического сайта (startup-idea-client) и нажал кнопку Создать статический сайт.

Здесь не было необходимости указывать уровень, поскольку за статические сайты на платформе Render плата не взимается.

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

Панель Render Dashboard теперь заполнена всеми доступными уровнями клиента, службы и базы данных.

Заключение

Стремясь запустить нашу стартап-идею за день, мы смогли сделать все за считанные минуты — даже не часы! Использование React, Go и PostgreSQL, безусловно, помогло сократить это время, но мы могли бы выбрать любой из следующих вариантов ниже, чтобы результаты были такими же быстрыми:

  • Эликсир
  • Узел
  • PHP
  • Питон
  • Рубин
  • Ржавчина
  • Статические сайты (Джекилл и Гасби)

Для всего остального мы могли бы просто использовать Docker и использовать полученный контейнер для взаимодействия с платформой Render.

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

С 2021 года я стараюсь жить в соответствии со следующим заявлением о миссии, которое, как мне кажется, применимо к любому ИТ-специалисту:

«Сосредоточьте свое время на предоставлении функций/функций, повышающих ценность вашей интеллектуальной собственности. Используйте платформы, продукты и услуги для всего остального».

– Дж. Вестер

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

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

Вспоминая «Уолл-стрит» и Гордона Гекко, я чувствую, что эта цитата актуальна и сегодня: «В моей книге вы либо поступаете правильно, либо вас исключают».

Использование платформы Render, безусловно, относится к категории «сделай это правильно».

Хорошего дня!