How should we set up a relational database for microservices?
Introduction Over the years I've provisioned and maintained relational databases to support a range of web based applications, starting off with monoliths that would run on a single server, and more recently for microservices that run across multiple servers and scale up and down dynamically based on the capacity and load of interactions shared across the instances. Here I would like to evaluate whether we can bring together all of the capabilities when deploying into a cloud environment, using AWS as that is the environment that I am most familiar with. Database setup and structure updates I would like the provisioning of the database and all subsequent structural updates - such as the creation of tables - to be handled independently of the microservice runtime. The initial provisioning of the database should be a one-off task actionable using something like CloudFormation , or Terraform , or Ansible . These technologies should all also be capable of updating the configuration suc...