In the past few years we saw lots of ‘clouds’ coming up to life. Some of the known and powerful ones like:
- Amazon S3 – Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers. Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.
- Rackspace Cloud – They offering servers, files and load balancers. It’s similar to amazon and you get some nice features ‘for free’ – like the ability to take images of your current machine and start new ones from this image.
- Amazon EC2 – Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. It is designed to make web-scale computing easier for developers. Amazon EC2’s simple web service interface allows you to obtain and configure capacity with minimal friction. It provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment. Amazon EC2 reduces the time required to obtain and boot new server instances to minutes, allowing you to quickly scale capacity, both up and down, as your computing requirements change. Amazon EC2 changes the economics of computing by allowing you to pay only for capacity that you actually use. Amazon EC2 provides developers the tools to build failure resilient applications and isolate themselves from common failure scenarios.
- Amazon Cloud front – Amazon CloudFront is a web service for content delivery. It a ‘pure man’ solution for other CDN. It integrates with other Amazon Web Services to give developers and businesses an easy way to distribute content to end users with low latency, high data transfer speeds, and no commitments.
- Microsoft Azure – Offering the .NET developers a ground play with all microsoft technologies. If you live inside microsoft stack (MSSQL, .NET etc’) – I guess this is the place you want to research first thing. However, since other cloud solution also give you MS environments, it’s not the only solution. So take the time and do a good research on the different offerings.
- Google App Engine – Google App Engine enables you to build and host web apps on the same systems that power Google applications. App Engine offers fast development and deployment; simple administration, with no need to worry about hardware, patches or backups; and effortless scalability.
BTW, they are many many more… I know. I’ve put in the bottom of the post ‘just’ the ones that Amazon offering so you could get the picture of ‘how many’ different types of cloud we have today at 2011 just from one (big) vendor.
There are very different in their ‘view of the world’ and like in anything in life, you need to define your own goals before you going to choose a solution.
What I like about Amazon is the freedom to do what I want on ‘clean’ ubuntu. It’s simple and if you know what you are doing – it can take you long way… In HighGearMedia.com we’ve been using both Amazon and rackspace and although we had (from time to time) ‘not so great’ service the overall experience it very good. TCO (total cost of ownership/operation) is dramatically lower then any other dedicated hosted solution. There is no wonder that more and more start ups and SMB are going in that path.
However, if you need to build a new web app and you don’t want to worry about scaling (scaling can be much harder then it looks like in first glance) – I guess your best option today is Google app engine. It’s got some limitation for technologies you can use: Java and Python (and GO) for now. So if you are Ruby dude or PHP hacker… it might be not the best start for you. In case you belong to one of the camp that App engine serve, I would check it thouroly, because the tooling that you have today as developer are much better. On GWT (Google web toolkit) you can do a lot more on the UI front with ‘wizards’ and the productivity of ‘old school’ Java developers can be used very quickly. Again, in HighGearMedia.com we had few internal tools that leverage GWT and were very happy with the results. One killer feature for us, was the fact that we can run findBug on our code base…
Here is a good overview of what are the current advantages on using Google App Engine for Enterprise application. It’s very interesting to see that most of these new type of web app going to work perfectly on chromebook…
Building Enterprise Applications on Google Cloud Platform
Here are ALL the cloud services that Amazon is offering today:
- Amazon Simple Queue Service (SQS)
- Amazon Simple Notification Service(SNS)
- Amazon Simple Email Service (SES)