Latest Replies

Common terms and definitions from the Journal on efficient software development.

« Agile Software Development | 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:

Google References

To be fair, below is what Google thinks to be popular in the area of Cloud Computing based on the AdSense spending:

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