Popular Categories
« Agile Software Development | Main | Command-Query Responsibility Segregation - CQRS »
Friday
Jun052009

Cloud Computing

Cloud computing is about hardware-based services (involving computing, network and storage capacities), where:

  • Services are provided on-demand; customers can pay for them as they go, without the need to invest into a datacenter.
  • Hardware management is abstracted from the customers.
  • Infrastructure capacities are elastic and can easily scale up and down.

There is a powerful economic force behind this simple model: providing and consuming cloud computing services generally allows to have far more efficient resource utilization, compared to self-hosting and data center type of hosting.

This is especially true for bursting into cloud scenarios when cloud consumers use elasticity of the cloud services to handle any spikes they might get. More information is available in article Why is cloud computing important for us?.

Obviously, consuming raw hardware capacities may be too hardcore for some consumers that merely want to have a scalable storage. So it is natural that cloud computing services already got some diversity around them:

  • Infrastructure as a Service (IaaS), where customer gets raw hardware resources (i.e.: virtual machines with OS of choice). Examples:

  • Platform as a Service (PaaS), where service provider builds a platform to simplify solving some technological tasks. This simplifies life for the customer, but also comes with a lock-down cost. Some providers:

  • Software as a Service (SaaS). At this level everything is way more simple for the customers to consume, since they are provided with actual services generating business value to them. Service providers handle all the technological complexity and provide the support as needed.

From the development perspective, cloud computing is a brand new field (which is especially true for the .NET world). So there are no established patterns and pactices in the field yet. However, common development guidelines tend to work quite well:

Related links:

This article is a part of Software Development Body of Knowledge ABC series. You can subscribe to RSS feed to stay updated.

References (2)

References allow you to track sources for this article, as well as articles that were written in response to this article.

Reader Comments (1)

Nice article, especially the list of Service
http://bygsoft.wordpress.com/2010/01/09/cloudy-combo-google-app-engine-and-amazon-s3-combo-pack/

January 18, 2010 | Unregistered Commenteraraya stener
Comments for this entry have been disabled. Additional comments may not be added to this entry at this time.