So I've been tasked with coming up with a solution in case our front end Web server goes down. Its running on a VM, Windows Server 2012. On the backend we're running a Cassandra cluster, which already gives us failover capabilities there.
Just wondering how this is achieved in MS IIS in the simplest way possible, the second/redundant IIS server would only be used in case of emergency, it is not something that is under a big workload, etc. so I think creating a farm/etc would be overkill.
I guess I'm wondering if there is a simple redundant solution for such a small (one server) IIS implementation.
The simplest way is likely to be to build a second, identical web server and use Microsoft's Network Load Balancing feature. There is a bit of planning involved, so I suggest reading the full implementation documentation on TechNet.
My opinion is that you'll want a proper load balancer in front of your servers - with just two IIS servers, you'll generally need to do something manually to move the traffic over, whether that's stealing an IP address on the secondary, flipping a DNS entry, etc.
HAProxy is what we use for this site, and it works great. Other good options are Varnish and nginx. If you're more comfortable on the Windows side of things, IIS Application Request Routing can do the job.
Because of how the HTTP protocol works, it's difficult to do a good job of having multiple application servers with some logic on which one to send the request to without an inline load balancer, so you might as well dive in now.