Good points in the slide. A question through, why have 2 web server and two database servers? Was it for performance or redundancy reasons?
The short answer is redundancy. With virtual servers, problems on the host machine due to neighboring virtual servers can be frequent. This can slow down the application server and lead to performance problems. With two load-balanced application servers, this isn't as much of an issue.
For the database, I'd suggest reading up on replication. In addition to the master/slave databases, we also have hourly, daily, and weekly snapshots stored offsite because a slave database isn't enough protection from some types of data loss.
Application architecture is a whole beast unto itself, and my real recommendation would be to find and hire a professional to handle this kind of stuff for you.