IT infrastructure is changing according the fast-paced world’s needs. People in the world want to stay connected with Work / Family-Friends. The data needs to be available anywhere in different devices such as Computer, Tablets, and Smart-phones etc. Here I am talking about large data which may be images, videos, documents or reports. So where do we store these data?
Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. This allows consumers and businesses to use applications without installation and access their personal files at any computer with internet access. This technology allows for much more efficient computing by centralizing storage, memory, processing and bandwidth.
World-wide web is an example of cloud computing. We use G-mail, Yahoo etc for sending mails in we don’t install any software and access the service using web browser. Similarly cloud computing is delivery of computing as a service rather than a product and these don’t require end-user knowledge of the physical location and configuration of the system. Here’s the logical diagram of CC
In a cloud computing system, there’s a significant workload shift. Local computers no longer have to do all the heavy lifting when it comes to running applications. The network of computers that make up the cloud handles them instead. Hardware and software demands on the user’s side decrease. The only thing the user’s computer needs to be able to run is the cloud computing system’s interface software, which can be as simple as a Web browser, and the cloud’s network takes care of the rest. Cloud computing has 3 service models – Software-as-Service (SaaS), Platform-as-Service (PaaS), Infrastructure-as-Service (IaaS)
Cloud Computing Architecture
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 Firefox. 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. Most of the time, servers don’t run at full capacity. That means there’s unused processing power going to waste. It’s possible to fool a physical server into thinking it’s actually multiple servers, each running with its own independent operating system. The technique is called server virtualization. By maximizing the output of individual servers, server virtualization reduces the need for more physical machines.
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.
Bandwidth and latency requirements vary depending on the particular cloud application. A latency of 50 ms or more, for example, might be tolerable for the emergent public desktop service. Ultralow latency, near 1 ms, is needed for some high-end services such as grid computing or synchronous backup. Ensuring that each application receives its necessary performance characteristics over required distances is a prerequisite to cloud success.
There are different protocols available which will be suitable for linking servers and storage in and among cloud centers – Fibre Channel over Ethernet (FCoE), InfiniBand, and 8-Gbps Fibre Channel. This topic is very advanced and will be covered in another post
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.
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.
Corporations that rely on computers have to make sure they have the right software in place to achieve goals. 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
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.
The biggest concerns about cloud computing are security and privacy. The idea of handing over important data to another company worries some people. Corporate executives might hesitate to take advantage of a cloud computing system because they can’t keep their company’s information under lock and key.
Security – The companies that provides cloud computing should have reliable security measures in place. Otherwise the service would lose all its clients.
Privacy – If a client can log in from any location to access data and applications, it’s possible the client’s privacy could be compromised. Cloud computing companies will need to find ways to protect client privacy. One way is to use authentication techniques such as user names and passwords. Another is to employ an authorization format — each user can access only the data and applications relevant to his or her job.
Real life examples
1) Email servers like Yahoo & GMail store your mails which may also have file attachments too. Some enterprises rent such Email services for internal use from other vendors to keep their capital cost low. (Email servers & software are a bit costly to buy & maintain)
2) You can store files to servers on the web so that you can access them any where. How it is stored/retrieved is not important. e.g. DropBox
3) You want a database to store information but don’t want the hassle to install one on your machine, you get that as well e.g. Microsoft Azure
4) You get CPU time too in cloud computing. So, if you were working for some complex problem & you temporarily require a server performing the computation for it, without requiring buy such high end servers, you get that too as part of cloud computing. e.g. Google Apps, Azure
Apple has also introduced its own cloud computing which basically caters to email service & file storage service.