As a front-end developer, I have more than enough tools and resources at my disposal to get started and complete my projects. The server setup is always a challenge, however. I recently discovered AWS CloudFormation templates but have found that I need a lot of upfront knowledge to get started. I would like to maintain control so Heroku and Parse are not good options. At the same time, I would like the process to setup and monitor my own infrastructure to be a lot easier. Any advice on what I can be doing to overcome these challenges? Am I alone or are do others face similar problems?
If you really want to learn to do this stuff yourself, I would suggest starting simple. Take a configuration management tool (I would suggest Ansible, which is a lot easier to use than Puppet of Chef) and an EC2 instance. Create, configure, terminate, rinse and repeat.<p>The simple fact that you can pretty much screw up everything you like, throw the whole system away and start again where you left off in a matter of minutes helps increase confidence and speed up learning, plus the configuration gives you a 100% accurate documentation of what you actually did.<p>But just like development, it's easy to get started but it takes years to master it.
"Server setup" is a bit vague.<p>You should start with something less ambitious and less complicated, like running your code on a single machine from e.g. Digital Ocean or linode. Managing a single machine setup is much easier than doing AWS and almost everything you learn will also apply to AWS setup.<p>AWS is appropriate for large deployments, where your service outgrows the capabilities of a single machine.<p>I run 2 websites on a single Digital Ocean $10/month server and there's plenty of room for more.