Время — деньги, особенно в стартапах. Узнайте, как легко запустить свою стартап-идею с помощью 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 у нашего стартапа несколько целей:
- Нам нужно, чтобы наша хостинговая платформа «просто работала» с нашими существующими репозиториями на основе git.
- Мы должны запустить нашу идею за считанные часы… не дни.
- Та же самая платформа хостинга должна быть способна адаптироваться к высокой степени рефакторинга во всех аспектах дизайна… без каких-либо новых проблем.
- Если наш спрос увеличится из-за упоминания в популярной публикации или влиятельного лица в социальных сетях, простой способ масштабирования нашего сервиса сэкономит много времени и усилий.
Наша надежда на рендер заключается в том, что мы даже не осознаем его существование. Нам нужно, чтобы 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, безусловно, относится к категории «сделай это правильно».
Хорошего дня!