Sto cercando di capire come funziona il flusso di lavoro di sviluppo per lavorare con microservizi e applicazioni multicontainer docker.
La cosa che sto cercando in particolare di risolvere è ottenere un buon flusso di lavoro "live reload" in sviluppo.
Ad esempio:
Per il mio frontend posso usare webpack-dev-server che ricarica automaticamente la pagina ogni volta che salvi le modifiche. Ciò semplifica la scrittura rapida del front-end, senza attendere l'implementazione.
Tuttavia, se il frontend sta visualizzando alcuni dati recuperati da un'API REST, probabilmente eseguirò una versione di sviluppo di tale API (che è essa stessa in fase di ricarica con nodemon o simile) o un'API simulata. Questo è abbastanza facile da ottenere con il webpack che utilizza le configurazioni proxy per l'ambiente di sviluppo.
Per la mia API REST - Analogamente, potrei voler prendere in giro altri microservizi. Ad esempio, se la mia API REST aveva un endpoint POST per il salvataggio di un'immagine - e lo salverò su un bucket di AWS S3, tramite aws-sdk, è probabile che voglia prendere in giro questa funzionalità.
Essenzialmente - come sembra - è per ogni (o più) microservizio - anche io voglio creare una versione finta di questo.
Quello che immagino sarebbe il mio flusso di lavoro, è qualcosa del genere:
- Sul front-end creo un pulsante che invia un'immagine al back-end. Controllo che la richiesta POST sia stata eseguita correttamente.
- Sulla mia API REST, creo un endpoint che riceve la richiesta POST. Faccio clic sul pulsante front-end e controllo che il back-end lo stia ricevendo.
- Creo un microservizio back-end per effettuare chiamate AWS SDK. Lo leggo per indicare un vero secchio AWS di sviluppo. Collego l'endpoint POST per inviare l'immagine a questo microservizio. Faccio clic sul pulsante di frontend e controllo che finisca nel bucket S3.
- Tuttavia, l'invio di questa immagine è troppo lenta, pertanto creo una versione fittizia del servizio SDK di AWS. Io cambio l'API REST per usarla invece.
- Sul frontend ora scrivo alcune funzionalità per visualizzare un 'immagine salvata!' messaggio di conferma.
La mia domanda è:
- È un modo standard di fare le cose, o sto andando fuori di testa?
- C'è un modo nella finestra mobile per passare rapidamente tra se sto usando il microservizio reale o quello deriso?