Должен ли я хранить пользовательский интерфейс и серверную часть отдельно или объединять, учитывая стоимость запуска? - PullRequest
0 голосов
/ 20 апреля 2020

Я занимаюсь разработкой своего первого SaaS-приложения, которое будет размещено в облаке Google или любом другом подобном облаке. Чтобы дать представление о природе проекта: это несколько простой SaaS, основанный на нескольких арендаторах, где клиент создает учетную запись и получает систему для использования. Первоначально вычислительная мощность невелика, нет серьезной обработки данных. Клиенты могут сохранять напоминания, создавать определенные иерархические списки, управлять определенными аспектами своих внутренних данных и т. Д. c. Эта услуга будет начинаться с бесплатного, очень ограниченного (или пробного) уровня, а затем, в конце концов, я запусту платный уровень подписки. Долгий путь, чтобы выяснить все эти детали. Тем не менее, мне нужно, чтобы этот дизайн был как можно более экономичным при очень разумной производительности. У меня нет конкретных оценок использования, но, вероятно, я начну с 50-100 клиентов и потенциально вырасту до десятков тысяч.

Итак, изначально у меня будет два компонента: Web UI (React) и REST backend ( Весна + MySQL). Я могу разработать это двумя различными способами:

A. В качестве отдельных микроуслуг: - основанный на весне бэкэнд API REST + MySQL (два контейнера) - Nodejs Express + интерфейс React Web UI (отдельная служба) - всего три контейнера, работающих

или

B. Серверная часть Spring REST API + интерфейс React Web UI в одном сервисе + MySQL - Всего работает два контейнера

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

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

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

...