Continuous hot deployment of angular web application

How to deploy a new version of AngularJS single-page web application (based on API) without interruption of service?

We need to finally:

  • for updating sources (server and client)
  • to transfer / update the database
  • to restart the server

Even with a load balancer and finally two rotating servers (one update while the other serves), I can’t determine a safe way to deploy the new version without interruption of service and without loss of user data.

Imagine a user working on a complex document in our web application. We cannot force a page reload during its working session ...

How to do it? If this is not possible, how to reduce the problem?

+3
source share
1 answer

Server side

Well, it would be much easier to make your service standstill and transfer the session to the client side - you will not need to do sessions at all (this approach has its drawbacks, though).

Client side

In this case, you will need round-robin load balancing (the easiest) with healthchecks. And then you can update the servers easily in turn.

Whether you need to restart the service or not during the clientide update update (which is a simple exchange of static assets) depends on the web server that you use for the server.

Database

- . - - . , . , . ? :)

- master .

, - .

/ , (, localStorage).

deltas, (- event sourcing).

( ).

, .

, , . UX.

. .

.

+2

All Articles