Given at DrupalJam 2015 - Netherlands.
This presentation explains some of the fundamental issues you have to overcome when designing software for distributed systems that can fail. Also called "Cloud" in other terminologies. The presentation uses AWS components to explain these fundamentals and uses Drupal as the example application. The example is by no means perfect, but gives you a good idea how to design your system from scratch.
RDS MySQL Database
Elastic Load Balancer
Example can be found here:
Take note that the example does not include components such as VPC for simplicity, but it is highly recommended to add this.