2
votes

At the moment we have some monolithic Web Applications and try to transfer the projects to an microservices infrastructure.

For the monolithic application is an HAProxy and Session Replication to have failover and load balancing.

Now we build some RESTful microservices with spring boot but it's not clear for me what is the best way to build the production environment. Of course we can run all applications as unix services and still have a reverse proxy for load balancing and failover. This solution seems very heavy for me and have a lot of configuration and maintenance. Resource Management and scaling up or down servers will be always a manually process.

What are the best possibilities to setup production environment with 2-3 Servers and easy resource management? Is there some solution the also support continuous deployment?

1

1 Answers

3
votes

I'd recommend looking into service discovery. Netflix descibes this as:

A Service Discovery system provides a mechanism for:

  • Services to register their availability
  • Locating a single instance of a particular service
  • Notifying when the instances of a service change

Packages such as Netflix's Eureka could be of help. (EDIT - actually this looks like it might be AWS specific)

This should work well with continuous delivery as the services can make themselves unavailable, be updated and then register availability again.