Majority of the time our computer on the desk is doing very little, it is idling, if some way could be found out for combining all the horse power for some use, a very powerful resource or virtual computer could result. From this concept was formed the first grid of computers where multiple arrays of computer were arranged on a network in parallel fashion to work on a complex problem. The concept of cloud started in early days of internet where people would shorthand the entire internet as a cloud of other computers and servers available on the internet to do your work and not be limited to the memory and processor of machine on your disk. In many ways cloud computing is a metaphor for the internet, the increasing movement of compute data resources on the web. Cloud computing represents a new tipping point for the value of network computing. It delivers higher efficiency, massive scalability, and faster, easier software development. Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any Subscription-based or pay-per-use service that, in real time over the Internet, extends IT’s existing capabilities.
Cloud computing refers to any situation in which computing is done in a remote location (out in the clouds) rather than your portable device or desktop where-in the computing power is tapped over an internet connection. At basic level cloud computing is simply a means of delivering IT resources as services. Almost all IT resources can be delivered as a cloud service: applications, compute power, storage capacity, networking, programming tools, communication services even collaboration tools. Cloud computing began as large scale internet service providers such as Google, Amazon and others built out their infrastructure. A new architecture emerged: A massively scaled, horizontally distributed system resources, abstracted as virtual IT services and managed as continuously configured pooled resources. This new model was applied to internet services.
2.1 Cloud computing vs. Utility computing:
Utility computing often requires cloud like infrastructure; its focus is on the business model on which providing the computing services are based. Simply put, utility computing service is the one in which customer services computing resources from a service provider (hardware or software) and pay for the utility. In cloud computing, a single user at any given point only gets a small portion of the utility or the cloud.
2.2 Cloud computing vs. Grid computing:
Grid computing is applying the resources of many computers in a network to a single problem at the time usually to a scientific or technical problem that requires a great number of computer processing and large amount of data where as cloud computing is about lots of small allocation requests.
2.3 Cloud computing vs. Autonomic computing:
Autonomic computing system is a self-managing computing system, capable of handling the need for increasingly complex tasks while keeping itself in check. Cloud computing relies on many features of autonomic computing, however the idea behind the cloud computing is more ambitious i.e. extending the power by spreading out the work.
When talking about a cloud computing system, it’s helpful to divide it into two sections: the front end and the back end. They connect to each other through a network, usually the Internet. The front end is the side the computer user, or client, sees. The back end is the “cloud” section of the system.
The front end includes the client’s computer (or computer network) and the application required to access the cloud computing system. Not all cloud computing systems have the same user interface. Services like Web-based e-mail programs leverage existing Web browsers like Internet Explorer or Fire fox. Other systems have unique applications that provide network access to clients. On the back end of the system are the various computers, servers and data storage systems that create the “cloud” of computing services. In theory, a cloud computing system could include practically any computer program you can imagine, from data processing to video games. Usually, each application will have its own dedicated server. A central server administers the system, monitoring traffic and client demands to ensure everything runs smoothly. It follows a set of rules called protocols and uses a special kind of software called middleware. Middleware allows networked computers to communicate with each other. If a cloud computing company has a lot of clients, there’s likely to be a high demand for a lot of storage space. Some companies require hundreds of digital storage devices. Cloud computing systems need at least twice the number of storage devices it requires to keep all its clients’ information stored. That’s because these devices, like all computers, occasionally break down. A cloud computing system must make a copy of all its clients’ information and store it on other devices. The copies enable the central server to access backup machines to retrieve data that otherwise would be unreachable. Making copies of data as a backup is called redundancy.
4. Services of cloud computing
- Software as a Service(SaaS):
It is at the highest layer and features a complete application offered as a service, on-demand, via multitenancy meaning a single instance of the software runs on the providers infrastructure and serves multiple client organizations. SaaS represents a number of licensing and pricing models for the vendors to choose from that includes pay-as-you-go, subscription-based, revenue-based, transaction-based and other. Some even go as far as offering complete services free of charge preferring to monetize with ads only.
- Platform as a Service(PaaS):
The middle layer is the encapsulation of a development environment abstraction and the packaging of a payload of services. PaaS is an integrated platform to build, test and deploy custom applications.
- Hardware as a Service(HaaS):
HaaS is at the lowest level and is a means of delivering basic storage and compute capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled (through virtualization) to handle specific types of workloads-from batch processing to server augmentation during peak loads.
Public clouds are run by third parties, and jobs from many different customers may be mixed together and the servers, storage systems, and other infrastructure within the cloud. End users dont know who elses job may be running on the server, network, or disk as their own jobs.
Private clouds are a good option for companies dealing with data protection and service-level issues. Private clouds are on demand infrastructure owned by a single customer who controls which applications run and where. They own the server, network, and disk and can decide which users are allowed to use the infrastructure.
Hybrid clouds combine the public and private cloud models. You own parts and share other parts, though in a controlled way. Hybrid clouds offer the promise of on-demand, externally provisioned scale, but add the complexity of determining how to distribute applications across these environments.
6 Uses and applications
The applications of cloud computing are practically limitless. With the right middleware, a cloud computing system could execute all the programs a normal computer could run. Potentially, everything from generic word processing software to customized computer programs designed for a specific company could work on a cloud computing system.
Why would anyone want to rely on another computer system to run programs and store data? Here are just a few reasons:
- Clients would be able to access their applications and data from anywhere at any time. They could access the cloud computing system using any computer linked to the Internet. Data wouldn’t be confined to a hard drive on one user’s computer or even a corporation’s internal network.
- It could bring hardware costs down. Cloud computing systems would reduce the need for advanced hardware on the client side. You wouldn’t need to buy the fastest computer with the most memory, because the cloud system would take care of those needs for you. Instead, you could buy an inexpensive computer terminal. The terminal could include a monitor, input devices like a keyboard and mouse and just enough processing power to run the middleware necessary to connect to the cloud system. You wouldn’t need a large hard drive because you’d store all your information on a remote computer.
- Corporations that rely on computers have to make sure they have the right software in place to achieve goals. Cloud computing systems give these organizations company-wide access to computer applications. The companies don’t have to buy a set of software or software licenses for every employee. Instead, the company could pay a metered fee to a cloud computing company.
- Servers and digital storage devices take up space. Some companies rent physical space to store servers and databases because they don’t have it available on site. Cloud computing gives these companies the option of storing data on someone else’s hardware, removing the need for physical space on the front end.
- Corporations might save money on IT support. Streamlined hardware would, in theory, have fewer problems than a network of heterogeneous machines and operating systems.
If the cloud computing system’s back end is a grid computing system, then the client could take advantage of the entire network’s processing power. Often, scientists and researchers work with calculations so complex that it would take years for individual computers to complete them. On a grid computing system, the client could send the calculation to the cloud for processing. The cloud system would tap into the processing power of all available computers on the back end, significantly speeding up the calculation.
Cloud computing with all its benefits also has its own set of limitations which restrict enterprises to move their applications in the cloud. Some of these limitations are:
- Customization is nearly impossible
- Scalability problems with Sequential processing
- Data privacy issues because of the common resources
- Lack of high speed Internet connectivity
- Cost surpasses traditional hosting in case of very high usage
8. A few vendors
- Amazon is the first one to provide true cloud computing resources with Amazon Web Services.
- Google launched its cloud computing offering named Apps engine
- IBM has announced its cloud computing offering named Blue cloud.
- Red Hat also provides cloud computing using Amazon Web Services on the open source Red Hat Enterprise Linux operating system which uses instances of Red Hat Enterprise Linux running on the Amazon Elastic Compute Cloud (EC2) web service.
As can be seen, the cloud has changed everything. It abstracts the software application platform from the underlying hardware infrastructure, freeing developers and users from becoming locked in to a specific hardware. In cloud computing, the users and software execution are in the cloud.