Recently, I gave a talk at Brigham Young University to the Association of Information Systems (AIS) club. The talk was well received so I thought I should publish the slides and notes. Here ya go!
The infrastructure and deployment strategies you use for your websites depend heavily on the problems you are trying to solve with them. You can break down a website into two broad camps:
- Static Websites
- Web Applications
The characteristics of these kinds of websites mean you will distribute them to end-users very differently and opens up very different avenues of distribution and deployment.
Static websites can be hosted for free through services such as Github Pages or for relatively cheap through AWS S3. They can even be distributed through Content-Delivery Networks such as AWS CloudFront or CloudFlare which make your site downloads blazing fast.
Web applications are another beast entirely. They can leverage some of the same tools and services as static websites but in truth they different infrastructure. Often, this means managing Virtual Private Servers through a cloud provider. And then, because applications involve custom code, consideration should be given to processes and behaviors such as testing, continuous integration, configuration management, etc.
There is no silver bullet for one, the other, or both. But knowing the differences between websites and their use cases is the first step to choosing infrastructure and deployment strategies.