Yesterday I attended a free event arranged by Skills Matter. I was not following the cloud computing revolution that much as it was not happening in Microsoft’s world at a similar level but the rest of the world was more interested in it. Nothing unusual keeping the history of MS in mind. Amazon was in this business from 2002. Skills Matter arranges such free events in the London area and it was an interesting find for me. Cloud computing is defined on wikipedia as:
Cloud computing is Internet ("cloud") based development and use of computer technology. It is a style of computing in which typically real-time scalable resources are provided “as a service” over the Internet to users who need not have knowledge of, expertise in, or control over the technology infrastructure ("in the cloud") that supports them.
The concept incorporates software as a service (SaaS), Web 2.0 and other recent, well-known technology trends, in which the common theme is reliance on the Internet for satisfying the computing needs of the users.
Cohesiveftdelivered this session showing off their virtual servers in the cloud model. Basically they are providing Infrastructure as service. You can think of it as a cheap hotel for applications. If you need to run your application, you can go to their site, configure your own server with your required configuration and software libraries and they will generate a server on the fly for you! Basically all this magic has come about thanks to virtualization technologies which allow you to create software servers independent of the hardware infrastructure running them. These VMs can be scaled and migrated depending on the need.
Their business model is not very appealing to those companies that already own a data center, but to those who would like the processing power without the hassle of maintenance and management, along with the initial investment. This quite simply means that SMEs will approach their services. Cloud has great potential in reducing the cost, increasing utilization and efficiency and simplifying maintenance.
The chief characteristics of the cloud model are:
Customers minimize capital expenditure; this lowers barriers to entry, as infrastructure is owned by the provider and does not need to be purchased for one-time or infrequent intensive computing tasks. Services are typically available to or specifically targeted to retail consumers and small businesses. Device and location independence enable users to access systems regardless of their location or what device they are using, e.g., PC, mobile. Multi-tenancy enables sharing of resources and costs among a large pool of users, allowing for: - Centralization of infrastructure in areas with lower costs (such as real estate, electricity, etc.)
- Peak-load capacity increases (users need not engineer for highest possible load-levels)
- Utilisation and efficiency improvements for systems that are often only 10-20% utilised.
On-demand allocation and de-allocation of CPU, storage and network bandwidth Performance is monitored and consistent, but can suffer from insufficient bandwidth or high network load. Reliability improves through the use of multiple redundant sites, which makes it suitable for business continuity and disaster recovery. Nonetheless, most major cloud computing services have suffered outages and IT and business managers are able to do little when they are affected. Scalability meets changing user demands quickly without users having to engineer for peak loads. Security typically improves due to centralization of data, increased security-focused resources, etc., but raises concerns about loss of control over certain sensitive data. Security is often as good as or better than traditional systems, in part because providers are able to devote shared resources that most customers cannot afford. Providers typically log accesses, but accessing the audit logs themselves can be difficult or impossible. Sustainability comes about through improved resource utilization, more efficient systems, and carbon neutrality. Nonetheless, computers and associated infrastructure are major consumers of energy.
From the characteristics, a few things jump out that point us towards the problems and concerns that are preventing clouds widespread adoption.
Control: When you give up the management of your infrastructure, you also give up control over it. This reduces your burden but also makes you anxious and vulnerable. Now you have to rely on the guarantees provided by the cloud vendor.
Security: This is the biggest concern as data is the most critical asset of a company. They don’t want to put it in any one else’s hand. Great assurances are required here by the service providers, otherwise they aren’t likely to succeed. Not every provider can afford that unless the industry finds a way to simplify this for them.
Dependability: Today a service provider exists, tomorrow they don’t. Companies cannot rely on such services. They need continuity.
Still I believe cloud has great potential and it is possibly the only next method of application development and delivery to be. Hence anyone out there who is interested in development applications for the future should keenly follow this trend as it holds great returns.