Yesterday, I learned the basics of setting up a Linux virtual server on Amazon's "Elastic Compute Cloud" (EC2) service. After some false starts with other hosting providers, the developer documentation for EC2 felt blessedly straightforward.
Server-side application development is a new programming paradigm for me. I've written a lot of programs, but nearly all of them were designed for me to consciously start running on my own computer. I've created material on multiple websites and blogs, but until now I've relied on free blog hosts or Amazon S3, and have never run a server to handle web traffic.
In other words, I've automated the execution of tasks, but haven't spent much time automating the starting and stopping of tasks. Suppose I write a program that runs once an hour, checks a web feed for updates that match a filter, formats and saves any new results, and texts me a summary once a day. To run that program, I need a computer that keeps working when my home computers are hibernating and my brain computer is asleep. I need a server.
Or rather, I needed a server. Now I have one!