Вы всегда мечтали стать предпринимателем, но вы на самом деле не знаете, как начать? Успешные стартапы, которые вдохновляют вас из команд талантливых инженеров, дизайнеров, маркетологов, и вы чувствуете себя одинокими? Вы чувствуете, что создаете и запустив продукт невозможно для одного человека?
Если один из ваших ответов на вышеуказанные вопросы — да. Затем вы должны найти эту статью интересную.
В 2019 году я бросил вызов и решил построить и запустить, самостоятельно, в свободное время, продукт SaaS.
Чтобы дать вам немного контекста о том, что Pixelixe: я решил построить самую простые для использования и доступной студии графической конструкции на рынке. Разработка WYSIWYG (то, что вы видите, — это то, что вы получаете), редактор был достаточно сложным, чтобы бросить вызов своим компьютерным навыкам компьютерных инженерных услуг. Многие математики и исчисления будут вовлечены! Идеально. Я был взволнован как ад!
Узнайте больше о студии дизайна в этом коротком видео или тестируйте бесплатно (ни один аккаунт не требуется) Продукт здесь: https://studio.pixelixe.com.
Видео Pixelixe:
Я опишу в этой статье Технический стек, который я решил создать Pixelixe.com Отказ
Давайте вернемся к теме сейчас. Чтобы создать весь продукт SaaS самостоятельно, мне пришлось подумать о нескольких предпосылках. Чтобы он работал в долгосрочной перспективе, мне пришлось найти способы ограничения количества исходного кода, чтобы поддерживать, а также не позаботиться о том, чтобы не изобретать колесо.
Вот для меня, 5 Ключевые предварительные условия, необходимые для создания приложения «Легко поддерживать» :
Полагаться на автоматическую масштабируемую инфраструктуру (Облачный)
Расширяемые основные модули (Дизайн для облегчения создания и эволюции
Простота развертывания (One-Щелкните/command, чтобы развернуть все это)
Не на многих исходных кодах и языках программирования вовлеченный
Не изобретайте колесо ( Классика, но все еще правда)
Последний момент «не изобретают колесо» действительно ключ. Все приложения SaaS в Интернете имеют несколько стандартных функций общего. Вот несколько примеров:
Система аутентификации и регистрационная форма
Платежная система для ежегодных или ежегодных подписок
Настройка веб-страницы
И более.
Чтобы сэкономить вам много головных болей и тяжелой работы, не беспокойтесь о создании этих необходимых функций/функций с нуля. Начнем с выбора «Смертный».
Смертная и облачная инфраструктура
Разработать свой продукт, я использовал Firebase. Определение FireBase: « мобильная платформа Google, которая помогает быстро развивать высококачественные приложения и выращивать свой бизнес ».
Firebase наиболее известен разработчиками мобильных приложений, но он также может отлично работать для WebApps Отказ
Для тех из вас, кто хочет узнать больше, Firebase предоставляет несколько полностью управляемых услуг, которые я использовал для Pixelixe:
Смертный Передний хостинг,
База данных без сервезна (FireStore), Serverless Compute (облачные функции),
И механизм аутентификации Plug & Play.
Сама Firebase построен на вершине Google Cloud Platform один из конкурентов AWS ( Amazon Web Services ) и Microsoft Azure Отказ
В настоящее время я надеюсь, что, по крайней мере, выбирая облачную инфраструктуру, кажется, очевидно для большинства из вас.
Я бы не рекомендую вообще не рекомендую, чтобы сольный разработчик или предприниматель, желающий запустить продукт SaaS, чтобы полагаться на выделенный сервер Отказ Несколько лет назад все еще было нормально, чтобы приобрести выделенный сервер на основе Linux и установить каждое программное обеспечение, необходимое вручную (Java, Python, PHP, Apache, MySQL и так далее). Основные минусы с таким подходом заключается в том, что после того, как ваш проект будет жить, вы будете отвечать за поддержание обслуживания и запуска. Сначала это может быть не слишком много работы, но тем больше ваш проект будет успешным, тем больше станет трудным для вас, чтобы вы могли бы иметь ответственность за мониторинг и поддержание инфраструктуры и зависимостей вашего проекта.
Например, в этом сценарии, если ваш сервер Apache или сбой экземпляра MySQL: вы будете полностью ответственны, чтобы вернуть его. Убедитесь, что ваши пользователи будут разочарованы и, возможно, оставят ваш продукт и никогда не возвращаются.
На тех типах статических серверов, чтобы гарантировать наилучший уровень обслуживания для ваших пользователей, вам придется выбрать и установить на свой собственный системный мониторинг ( Nagios Например), чтобы быть уведомленным, когда что-то пойдет не так. Установка инструментов мониторинга программного обеспечения болезненна и принять огромное количество времени, которое вы определенно не можете себе позволить.
Вы можете полностью избавиться от этих проблем с использованием облачного хостинга. Управляемые сервисы, предлагаемые всеми облачными поставщиками, либо веб-сервисы Amazon, Microsoft Azure или Google Cloud Platform дают доступ к виртуальным машинам, где доступны различные языки программирования и их основные зависимости и библиотеки (например, Python, Nodejs, Java и многое другое ) и уже предварительно установлены и готовы к использованию. Вам больше не придется контролировать свои прочные процессы, вам просто нужно будет сосредоточиться на своих функциях и продукте.
Это все, что имеет значение!
Более того, это не все, много управляемых услуг сегодня сейчас « Смертный »С« Автоматическое масштабирование » Особенности. «AutoScaling» означает, что вы даже не будете заботиться о количестве пользователей/посетителей, которые придется служить вашему приложению. Если ваш прикладной трафик взрывается в течение ночи из 100 пользователей до 10.000.000, основная инфраструктура автоматически будет масштабироваться и обслуживает ваших пользователей, не замечая его. Конечно, вы будете платить больше, но все же, это чистая магия. Серверы больше не ограничиваются, вы можете действительно сосредоточиться только на вашем коде и ключевых функциях, чтобы выпустить MVP как можно быстрее. Несколько лет назад, чтобы масштабировать приложение на выделенных серверах, было обязательно вручную устанавливать, начать и готовить их, установить и развернуть инструменты балансировки нагрузки, которые действительно сложны и снова, много времени.
И угадайте, что даже резервные копии автоматизированы на Firebase для хостинга и вычисления. Не нужно беспокоиться о них тоже!
В результате: не нужно больше нанимать системный администратор, чтобы развернуть ваш SaaS-продукт или тренировать себя, чтобы получить эти навыки.
Если вы не хотите использовать Firebase, вот некоторые альтернативы, которые я нашел (не тестировал их, хотя и):
https://cloudboost.io/
https://parseplatform.org/
https://www.back4app.com/
Обработка приоритетов переднего (веб-браузера) вместо обработки задней части, чтобы резко снизить стоимость.
Вторая техника, которую я использовал при проектировании и разработки моего продукта, было в Приоритетность выполнения сложных операций и обработки на стороне клиента (означает сторона браузера). Мое приложение — студия изображения, я знал с самого начала, что обработка изображений на стороне сервера (задний офис) может стать действительно дорогим. Более того, я знал, что хочу запустить бизнес-модель Freemium Но я не хотел потерять слишком много денег с пользователями бесплатной версии.
Используя JavaScript с обеих сторон, сторона сервера и сторона клиента (Nodejs и jQuery в основном), было легко выбрать, на которой будут обработаны ключевые функции. На стороне клиента ваши задачи будут полагаться на CPU и RAM ваших пользовательских компьютеров (бесплатно для вас).
Браузер на основе заряда для вас
Кроме того, FireStore, база данных, которую я использую для хранения данных Pixelixe, представляет собой база данных ориентированной NoSQL JSON. JSON — это родная структура данных для JavaScript, это довольно легко обрабатывать как на сервере, так и на сторонах клиента Отказ Наличие только одного языка программирования для обработки и одной структуры данных везде делают процесс разработки намного проще. Вы можете даже повторно использовать общие функции везде.
Я горжусь тем, что обработка изображений Pixelixe Studio изображена полностью на стороне клиента. Поэтому мои облачные серверы, следовательно, действительно дешевые (не сказать почти бесплатно).
Как зарегистрировать и аутентифицировать пользователей
Для аутентификации пользователей на Pixelixe я выбираю, еще раз, FireBase Aubstication. Мне просто пришлось назвать « CreateAccountWitheMail »Функция в JavaScript для подписи пользователей, и это. Мне никогда не пришлось создавать таблицу «Пользователь» в DB, зашифровать пароли пользователя, закрепите свои личные данные. НИЧЕГО ТАКОГО..! Еще раз я сохранил драгоценное время здесь, и я настоятельно рекомендую вам сделать то же самое. Выбираете ли вы Firebase или альтернативу, чтобы войти в систему пользователя, вам просто нужно запомнить простую функцию JS достаточно, чтобы получить «зарегистрированные» данные пользователя всякий раз, когда они их понадобится.
Как обрабатывать оплату и подписки
Я использовал полоску как платежную платформу. SLIPE предоставляет JavaScript и API для отдыха, чтобы подписаться и отменить подписку пользователей. Вы можете определить планы от своих панелей панелей, и вы даже получите плагин кода переднего конца, чтобы автоматически генерировать форму кредитной карты, чтобы позволить пользователям заполнить свои данные карты. Таким образом, вам даже не нужно хранить себе детали карты. Только полоса имеет доступ к ним доступ (без риска безопасности на вашей стороне).
Кроме того, Slipe предоставляет полный бэк-офис с аналитикой, чтобы позволить вам отслеживать прогресс продаж (MRR, Cohort Analysis, Churn Analysis и намного больше).
Я использовал PayPal несколько лет назад Но я нашел его довольно сложно использовать. Полоса (с моей точки зрения) легче настроить и начать. И еще раз, поскольку полоса обнажает API для отдыха, мой передний и задний конец на основе JavaScript может легко интегрировать его.
Заключение
Этот пост абсолютно совсем не спонсируемый пост для Firebase или других платформ. Даже если это может выглядеть как один. Я думаю, что я просто счастливый клиент Firebase, я был поражен этими инструментами. Чтобы быть понятным, я просто хотел поделиться с читателями, советами и методами, которые я использовал для того, чтобы усознание моего основного продукта и запустить стабильный WebApp действительно быстро, когда убедитесь, что это будет легко поддерживать.
Конечно, технические инструменты и рамки, описанные в этой статье, не являются единственным интересом Но я надеюсь, что это поможет некоторым читателям открыть новые инструменты и, надеюсь, начать кодирование отличных продуктов.
Так что да, мы можем определенно заключить, сказав, что простой человек, может построить и запустить программное обеспечение самостоятельно в 2020 году. Я сделал это, и я знаю, что я не единственный, я встретил много других инди-хакеров в процессе создания этого бокового проекта. Тем не менее, я думаю, что это действительно круто, чтобы знать, что простой парень в его гараже (например, Стив Джобс в те дни) может начать удивительный проект и сделать его огромным успехом.
Pixelixe растет, медленно, но наверняка, продажи и трафик увеличиваются каждый месяц, что действительно приятно. Я до сих пор очень приятно улучшить продукт.
Оригинал: «https://dev.to/thomasthelliez/what-tech-stack-i-used-to-launch-a-successful-product-as-a-solo-developer-1kfk»