Ho deciso di iniziare a creare un'app SAAS . Desidero mantenere bassi i costi di hosting inizialmente, fornendo comunque una buona esperienza utente. Ecco i componenti che compongono la mia app:
- Front-end
- Reverse Proxy (Nginx)
- Servizio di autenticazione
- API Web
- Servizio di lavoro A (importa le importazioni di dati)
- Worker Service B (effettua batch di chiamate API esterne)
Tutte le richieste passeranno attraverso il proxy e l'autenticazione verrà gestita tramite JWT .
Inizialmente pensavo che avrei avuto tutti questi componenti su server separati, ma guardando i provider di hosting e i prezzi, sembra una opzione costosa che inizia (specialmente con 0 clienti paganti).
Quindi sembra un modo economico per farlo sarebbe quello di utilizzare un singolo server. Essenzialmente ogni componente sarebbe solo un pezzo separato di codice isolato. Utilizzando questo approccio, utilizzerei comunque il proxy inverso e utilizzo ancora JWT per auth - mi sembra che in questo modo tutto possa essere spostato su server separati più facilmente in futuro.
Quali sono gli svantaggi di un approccio a server singolo come questo (a parte gli ovvi negativi monolitici)?
Supponendo che questo approccio sia accettabile, sta utilizzando un servizio come Elastic Beanstalk abbastanza in termini di gestione dell'alta disponibilità?