DEV Community

Discussion on: What kind of maintenance has to be done for servers ?

Collapse
 
ferricoxide profile image
Thomas H Jones II

If using a cloud provider, some of the traditional maintenance issues can be made to go away:

  • At the database layer, migrate to a managed database service (in the case of AWS, specifically, that means RDS). Things like backups, patching, etc. are offloaded to the CSP.
  • At the web layer, make each server an ephemeral/throwaway component. If you implement something like AutoScaling groups for day-to-day availability, do scheduled scaling-actions to ensure each webserver is regularly replaced with new, fully-patched replacements. For more major upgrades, use blue/green automated workflows (whether with things like ASGs or other methods). Alternately, depending how much business logic you're looking to put in the web layer, you may be able to wholly dispense with it – instead using something like (in the case of AWS) Elastic Load Balancers to front your application-layer ...offloading "web" maintenance to the CSP in much the same way you offload the DB layer
  • Application layer will likely depend on how well the application-layer can be made to bend to the "throwaway component" model. Some applications – particularly scalably-clustered applications – yeild well to this deployment and "maintenance" model. In which case, you can leverage the same deployment/maintenance model used for the web-layer.