One of the biggest buzzwords in the industry today (after web 2.0) is cloud computing. It is typically defined as a type of computing with the following characteristics:
3. Delivered over Internet
Put simply, cloud computing removes the burden of installation, maintenance and to some extent support, of IT services/resources that are required by a business to deliver the business service they specialize in. For example, for a bank, the service for customers to deposit and withdraw money - over the phone, Internet, using ATM machines or at a branch. The underlying infrastructure has to be synchronized, always available, and scale on demand. It has to be protected from attacks, viruses, peaks and troughs in demand, and also updated as required (for example, adding new features, services or products).
Traditionally, a whole new IT sector has spawned since large corporations have had to build in-house IT capabilities to enable delivery of their real services. In fact, some companies had their IT departments open a new avenue of services - for example, British Telecom provides IT on-demand services.
With cloud computing, organizations can "lease" a cloud (or clouds) - much like the Application Service Provider model. But more than that! You can even develop applications in an external cloud - such as the one hosted and provided by Amazon or Yahoo!. This is truly location-unaware service provision and delivery.
However, there are a number of challenges - how do you ensure Quality of Service (QoS)? What about regulatory compliance? There are possibly other legal challenges when services hosted on a remote cloud (say in the US) have to comply with regulations in say, Europe? As ever, security presents its own challenges - priviledged user access as well as data segregation (you wouldn't want your bank records to be visible to your neighbour!).