Friday, August 3, 2012

Cloud Computing & PHP


Now a days, there is a lot of discussion about cloud computing. All tell their stories, but not with the good reason of adopting it. The “cloud” is a pretty ambiguous term, and as such anything attached to it only makes the whole thing a little more ambiguous.

I feel the need to discuss term “cloud computing” for PHP developers and how they affect the coming era of development in the context of programming and deployment of code.

Let’s discuss about actual cloud-based computing services and why you need to be using them.

For PHP developers, the term “clod computing” focuses on two key areas as discussed below:
      i.        Cloud of third party web services constitutes the web stack.
     ii.        Cloud based hosting

Cloud of third party web services constitutes the web stack:


At the best of open source, there are so many contributions available to use third party web services.
The Amazon cloud is the best example to describe this part, actually; it has never been cheaper, faster and easier to setup, on-demand, geographically optimised web application environment. Amazon's cloud is one of the forerunners that has made these advantages possible.
Among Amazon's cloud-related offerings are EC2, S3 and CloudFront. EC2 (Elastic Compute Cloud) allows developers to start instances of servers (called Amazon Machine Images) and control them via a web-service interface. S3 provides storage on the cloud. Geographically optimised distribution of S3 objects is easily achieved via CloudFront.
A lot of stuff can be done with these cloud services. One can shoot off MapReduce processing with parallel Hadoop instances on EC2 or use it to run scripts and application that interacts with the enduser. Similarly, S3 can be used as a file storage for disk backups or as public image or video storage. The commodity pricing is a good deal and the natural growth in computing abundance provides a good downward weight on resource pricing.
Cloud based hosting:

Traditionally, if you wanted to host a site or app you would either get a shared hosting account somewhere, or get your own dedicated box (or many boxes). This generally works fine, but there are a lot of drawbacks to the so-called traditional way of doing things. We’ll get into this in a little bit, but for the moment we only need to know that these solutions involved actual physical servers. A dedicated server is just that, a dedicated piece of hardware for you to use… shared hosting is similar in the fact that you’re merely a tenant on a dedicated server (you could relate it to renting an apartment vs. owning a home).
Anyway, cloud computing is essentially the same as dedicated hosting, except for one very important distinction: you’re not using a physical server, your server is virtualized. That’s it, it’s really that simple! However, this simplicity has a lot of very important benefits that lead it to beat the hell out of any traditional hosting situation.
It also has one very significant draw-back as well if we talk about deploying code. To deploy code at cloud hosting, you are supposed to have good hands to handle LAMP stack. I believe, this is not a rocket science and every PHP developer must know the core of LAMP stack. No need to worry, there are lot of tutorials available online which helps you to deploy code at clod hosting and most of these tutorials are from the hosting providers itself.

Enjoy Programming!!!