Commenting last week on Steve Balmer’s claims on the Microsoft Azure platform got me thinking about some of the differences between the main cloud providers. One of the major strengths of Amazon as a cloud provider is the wide range of services it provides ranging from servers, storage, messaging to payment services. Coupled to this is the flexible modes of accessing these services. Take EC2, servers can be provisioned using a browser based management tool, via command line tools and also programatically using Web services API’s. The fact that infrastructure such as servers can be provisioned and then de-provisioned programatically offers the scope for organisations to build high level tools to utilise and manage the Amazon cloud infrastructure.
Two examples of how the Amazon Infrastructure as a Service(IaaS) has been used to deliver a Platform as a Service(PaaS) are Cloud Foundry and heroku. Cloud Foundry is an enterprise Java PaaS. heroku is a cloud based Ruby PaaS . Both Cloud Foundry and heroku provide development and deployment environments for developers together with the ability to monitor and manage applications, automatically fixing failed servers and instances, and auto-scaling applications as the load varies.
The major benefit to developers using these two innovative platforms is that they can utilise all their existing skills (Java, Ruby), build applications using the tools they are familiar with and then seamlessly deploy these applications to a cloud to leverage the associated benefits transparently.
In summary, the above two examples highlight how Amazon’s flexible cloud infrastructure has enabled two organisations to build innovative PaaS businesses that will enable a wide base of developers to rapidly begin benefitting from cloud computing.