Lets say that I want to develop a website where all pages will be dynamically generated and 'printed' into static HTML files. I will then serve these HTML files from a container (such as an Amazon EC2 instance) that has no server side languages or database running in the background.
I will make a script to have the HTML files automatically refreshed at a set period.
My reasons for doing this would be to decouple the link between traffic to my website and server load (in other words, so my website can scale without any need for additional CPU / RAM on the server).
Here are some benefits that i expect from doing it this way
- I want a cheap way to host a high traffic website that can accommodate large spikes in traffic (from viral content)
- I want it to load as fast as possible -- without any delay from generating content dynamically for each visitor.
My Questions are as follows:
- What are the downsides of structuring a website this way?
- Is this flat out a bad idea?
- What is this type of architecture called?
My Background
I have made a few simple web apps using PHP / mySQL and am familiar with javascript, hmtl, css--- basically a new / amateur web developer.