A Bit History of Internet/Chapter 7 : Cloud-computing

Author/Editor: Ong Yong Sheng(Introduction,overview and types) Nurul Syafiena(application), Fatin Ramli, Ong Hock Yew(advantages and disadvantages), Nur Malina(Architecture)

Introduction
Cloud computing, most of the people cannot relate these two together. How does “cloud” relate to “computing”? In fact now in modern ICT life we live with a lot of applications of cloud computing. In simple, we could describe cloud as internet, and cloud computing as large systems that are connected in public or private networks. For example, a company could have computers that connect to an application and allow workers to log in into a Web-based service which hosts all the programs the user would need for his or her job. In this system, a company will not have to provide the right hardware and software for every employee hired to do their jobs. Hence it could reduce cost, and make data or application more easily obtained and ubiquitously accessed.

Overview
We could divide cloud computing into three areas:
 * Software as a Service (SaaS). In SaaS layer, users do not need to install, manage the software, while the softwares is provided by the host. Users just need to connect to the internet. (e.g., Google Apps, Salesforce.com, WebEx)
 * Platform as a Service (PaaS). In PaaS layer, black-box services are provided with which developers can build applications on top of the compute infrastructure. Developers tools that are offered as a service to build services, or data access and database services will be provided in this layer. (e.g., Coghead, Google Application Engine)
 * Infrastructure as a Service (IaaS). Providing computational and storage infrastructure in a centralized, location-transparent service (e.g., Amazon)

Cloud Computing Architecture
Generally, cloud computing architecture is dividing into two sections. Both sections are connected to each other through a network. The first section is known as front end that consist of client computing and the second section know as back end that consists of data storage, application server and some type of control node.

Front End
The front end is the section which the computer user and client can observe. Its indicating client’s computer and the application required to accessing the cloud computing architecture. Besides that, application programming interface (API) is use as a communication medium between each of hardware component that related with the cloud computing architecture. Commonly, cloud computing systems have different kind interface of web service such as Microsoft’s Internet Explorer, or Firefox. Moreover, another benefit of cloud computing that has provided special software systems that are designed for specific tasks.

Back end
The back end is the “cloud” section of the system that refers to some physical peripherals. There are three main components that consists in back end architecture. First component is the data storage, where the information can be placed for fast recovery. Data can be stored on   the cloud either by clients or the cloud application. Normally data capacity of a cloud system has bulky number of data redundancy. In addition, data storage component in cloud computing architecture is usually designed to store more than a copy of each data set. This is to prevent the data become damage and inaccessible. Second component is an application server that connected with the cloud computing architecture. Commonly, it’s involves a number of different application servers, in other word it can be responsible for different function. Each of these servers is usually designed to run one program or service and many of them may be available to the client through front end interface such as video games or data processing. Third component that involved in cloud computing architecture is control nodes. It is used to maintaining the whole system. Besides that, it is also used to monitoring client’s demand and also traffic flow to ensure the systems runs smoothly. Protocol is known as a set of rules that contain server information. Middleware is a special kind of software that applies in each of server in cloud computing system. By using this software, it will creating communication link between each computer that are connected in the network.

Public Cloud
Public cloud (also referred to as ‘external’ cloud) describes the conventional meaning of cloud computing. Computing infrastructure is hosted at the vendor’s premises. The users could not view the location of the cloud computing infrastructure. The computing infrastructure is shared between organizations.

Private Cloud
Private cloud (also referred to as ‘corporate’ or ‘internal’ cloud) User dedicated computing architecture and it is not shared with any other users or organizations. It is more secure than Public Cloud and can be externally hosted or in premise hosted clouds.

Hybrid Cloud
Some critical, secure files or applications are hosted in private clouds while not so critical application or files are hosted in public cloud. This combination is called as Hybrid Cloud

The top layer which is an application is also known as ‘software as a service’ (SaaS). In this layer, the users are really limited to what the application can do. Companies involved in this include public emails providers such as Gmail, Hotmail, Yahoo Mail, etc. Most companies use the services in this particular Cloud layer. Usually, the user can only get the pre-defined function and cannot access more than that. Other than that, there are good and bad characteristics of Cloud Applications. The good points are it's free, easy to use and it offers a lot of different things. The bad point is that the user can use the application as it appears. The user has no knowledge or any control to the application.

Community Cloud
Organizations of the same community share the same cloud infrastructure.

Application and Layer
There are basically 3 layers in cloud computing. Company used it differently based on what they are offered. The 3 layers are application, platform and lastly infrastructure. It usually present in form of pyramid which is infrastructure at the bottom layer, platform on the middle and application on the top.

The bottom layer
The bottom layer which is infrastructure is also known as ‘infrastructure as a service’ (IaaS). This is where the things start and where people began to built. This is the layer where the cloud hosting lives. The examples of company that provides Cloud infrastructure are Amazon Web Services, GoGrid, and the Rackspace Cloud. Cloud infrastructure also known to work as a deliver computer infrastructure. Most companies, in this part will operate their own infrastructure. It will allow them to give more services and features and also give more control than other layers in Cloud Pyramid. There are pros and cons in the characteristic of Cloud Infrastructure. The pros are it can give the company full access or control of the company infrastructure meanwhile the cons is that sometimes it come with premium price. It can be so complex to maintain, manage and also to build.

The middle layer
The middle layer which is platform is also known as ‘platform as a service’ (PaaS). The examples of company and product of Cloud Platform are Google App Engine, Heroku, Mosso (now the Rackspace CloudSites offering), Engine Yard, Joyent or force.com. In contrast to the Cloud Application, in this layer is where the users build up the increase of flexibility and control. Unfortunately, it still somehow limits what can user do or not. There are strengths and weakness of characteristic in this Cloud Platform. The strength of Cloud Platform is that it has more control than cloud Application and it also good for developers with a certain position target. Meanwhile the weakness is sometimes it more depend on Cloud Infrastructure Providers and sometimes it also stick to the platform ability only.

The top layer
The top layer which is application is also known as ‘software as a service’ (SaaS). In this layer, the users are really limited to what can the application can do. The part of company that involves is the public emails providers such as Gmail, Hotmail, Yahoo Mail, etc. Most company uses the services in this particular Cloud layer. Usually, the user can only get the pre-defined function and cannot access more than that. Other than that, there are the good and the bad of the characteristic in Cloud Applications. The good are, its free, easy to use and it offer a lot of different things. The bad is that the user can use the application as it appears. The user have no knowledge or any control to the application.

Advantages
•	Lower computer costs. You don't need a high-end computer to run cloud computing web-based applications. Since applications run in the cloud, not on the desktop PC, your desktop PC doesn't need the processing power or hard disk space demanded by traditional desktop software. This reduces the cost, as it is lot cheaper practically than software that cost you extra on anything. Moreover, it also reduces the cost of storage as you would have to put extra money to get that much needed extra storage.

•	Improved performance. Since running the cloud needs very little programs and processes, your RAM will have space for other programs. This definitely improves the performance of your PC.

•	No software costs. You can get most of what you need for free, instead of purchasing expensive software applications. Most cloud computing applications today, such as the Google Docs suite, are free.

•	Limitless storage capacity. Cloud computing offers virtually unlimited storage. Your computer's current 200 gigabyte hard drive is peanuts compared to the hundreds of petabytes (a million gigabytes) available in the cloud. This is because in cloud computing, all of the user’s hard drive is considered as storage, and this will add up to a very large amount of storage.

•	Increased data reliability. Unlike desktop computing, in which a hard disk crash can destroy all your valuable data, a computer crashing in the cloud shouldn't affect the storage of your data. This is because that your data is stored in the cloud as well as in your hard disk. So if either one crash, you still have another.

Disadvantages
•	Requires a constant Internet connection. Cloud Computing works online and absolutely dependent on network connections. This brings in many drawbacks such as; if network connection is slow or not available then you would not be able to work.

•	Can be slow. Even on a fast connection, web-based applications can sometimes be slower than accessing a similar software program on your desktop PC. This is due to the problem of latency. For example, if the cloud data centre is located off shore client connection time to your data may not be as fast as you hope for.

•	Stored data can be lost. Theoretically, data stored in the cloud is usually safe, the data is replicated across multiple machines. But there is a chance that your data might go missing from all of these machines. So just in case, have a copy of the data in your disk.