Tonight at the C4DI June Developer Meetup we welcomed Ian Massingham from Amazon Web Services, who gave a great talk about cloud based deployment of computing resource. Put that way it doesn't sound that interesting, but whey you go on to think that it allows computing infrastructure to change performance and scope with just a flick of a virtual switch you start to see just how compelling this model is.
Consider a situation where you have an idea for a product or service which, if it works, would be useful to millions of people. More than that, you might have an idea which only works properly if you have millions of users. How do you get started? Well, the answer is to put your system in the cloud. You don't have to buy anything at the start and you just pay for the computing power that you use. If things go well you use your revenue to pay for more processing. If things go badly you walk away and have another idea.
Ian talked about the way that the Amazon service is provisioned around the globe so that your data doesn't need to to leave your part of the world, and how clever management of the addressing of addresses means that your users will always be connected to the fastest servers in their neck of the woods.
It's very clever stuff, and it lets you do things and play with things in a way that was just not possible in the past. Want to test out a new service for a while, need a high performance cluster for twenty minutes, reduce the power of your end user platforms and do all your rendering off site? Cloud services can do this kind of thing and their power is going up and their prices going down all the time.
When I met Ian I made some fairly silly comments about Python, a computer language that I've been playing with during the "Wrestling with Python" sessions we are doing for teachers. I made the point that for some applications, where security is right at the front of the things you are worrying about, I don't think that Python is the best choice (I'm going to have to write a complete blog post to get my feelings on this one properly set out).
However, for cloud type stuff Python is pretty much perfect. It provides the fastest way to get from idea to running code that I've found. A skilled Python coder can wrangle hugely complex systems together really quickly. I still prefer C# personally, but when you hear what developers can put together in Python in record time you can't help but be impressed.
Python is a perfect language for the "Move fast and break things" culture where companies survive by innovating faster than the other guy. If your new services are a bit fragile that's a price worth paying, and you can always iterate until you get solid systems.
All in all, a very thought provoking presentation, which ended with some hugely tempting AWS offers from Ian to members of C4DI and anyone thinking about their startup programme starting soon.