This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Cloud computing emerges as one of the hottest topic in field of information technology. Cloud computing is based on several other computing research areas such as HPC, virtualization, utility computing and grid computing. The cloud computing has its own conceptional, technical,
economic and user experience characteristics. The service oriented, loose coupling, strong fault tolerant, business model and ease use are main characteristics of cloud computing.
Cloud computing is TCP/IP based high development and integrations of computer technologies such as fast microprocessor, huge memory, high-speed network and reliable system architecture. Without the standard inter-connect protocols and mature of assembling data center technologies,
cloud computing would not become reality too. The economic pattern is the main reason why so many companies jump into the hot pool of cloud computing and distinguish it from other research area such as HPC and grid computing. The ease use user experience characteristic hides the complexity of cloud service providers and supply cloud users with very simple interfaces. There are also other kinds of characteristics such as TCP/IP especially Internet based, virtualization and high security service oriented conception. Through virtualization and other
technologies, the underlying architecture is abstracted without exposing much to user. So it is opacity to cloud user. Abstraction reduces both the need for cloud user to learn the detail of cloud architecture and the threshold of application development. At the same time, the key elements of underlying architecture can be simply accessed by cloud user. Cloud user can consume all the capacity easily by exploring system parameters such as processing performance and storage capacity. In general, according to the type of provided capability, the services of cloud computing are broadly divided into three categories: Infrastructure-as-a- Service (IaaS), Platform-as-a-Service (PaaS), and Softwareas- a-Service (SaaS). Infrastructure-as-a-Service is the delivery of huge computing resources such as the capacity of processing, storage and network. Taking storage as an example, when a user use the storage service of cloud computing, he just pay the consuming part without buying any disks or even knowing nothing about the location of the data he deals with. Sometimes the IaaS is also called Hardware-as-a-Service
(HaaS). Platform-as-a-Service generally abstracts the infrastructures and supports a set of application program interface to cloud applications. It is the middle bridge between hardware and application. Because of the importance of platform, many big companies want to grasp the chance of predominating the platform of cloud computing as Microsoft does in personal computer time. Software-as-a-Service aims at replacing the applications running on PC. There is no need to install and run the special software on your computer if you use the SaaS. Instead of
buying the software at a relative higher price, you just follow the pay-per-use pattern which can reduce you total cost. The concept of SaaS is attractive and some software runs well as
cloud computing, but the delay of network is fatal to real time or half real time applications such as 3D online game. There are also many cloud resources cannot rank into infrastructure, platform or software. But running on terminals such as 3G phones instead of huge data centers is different from SaaS. In online game area, powerful game servers supply the interactions of millions game players. Game players use the capability of cloud computing without much waking up to this technology. These services hardly have substitution and building another EC2 is much more easer than owning so many electric resources.
The loose coupling is the technical fundament of cloud computing and goes beyond the loose coupling method of application interaction. Through virtualization or other technologies, the infrastructures are separated in logic or physic. The behavior of one part hardly affects other parts. For example, the platform is an abstract layer which can isolate different applications running on it. Most important of all, whole cloud computing runs in a client-server model. The clients or cloud users connect loosely with servers or cloud providers. All the users have almost no data or control dependence. But the data dependence plays a key role in HPC. The independent cloud users can induce many other features such as stateless, scalability and strong fault tolerant. An opposite example is the tight coupling of HPC systems which focus on solving scientific problems. Usually, there are too many data dependences or global synchronizations in different iterations to bear the high delay among computing nodes. This kind of systems use high
speed network e.g. InfiniBand instead of industrial standard Ethernet which is much cheaper and widely supported. It is hard to imagine spending tens of minutes to achieve a global synchronization in HPC. But in cloud computing one time of global data synchronization may cost several hours or even several days. There are many fault tolerant methods in parallel
computing. At low-level, there always exist some fault correction mechanisms with specific hardware. At high-level, many specific applications are studied with methods aiming at algorithms. Checking point is one of the most effective methods at middle-level. In large scale parallel computer systems, the interval of two failures may be shorter than application execution time. For example, some scientific computing applications run for weeks or even longer but
there may be several trivial or fatal errors during the whole runtime. The fault tolerant technology becomes critical in this condition. Otherwise it has only less chance to complete
the time consuming computing tasks. Because a minimum error is unacceptable and redoing costs too much time in many scientific applications, so the whole computation states which are saved periodically on stable storage will roll back to a special checking point if an error occurs. It is unnecessary to keep the whole states of cloud computing systems. There is almost no dependence between two transactions. The failure of one transaction does not affect the other one and partly failure of system will not cause chain reaction. There are mainly four places where faults maybe occur in cloud computing: provider-inner, provider-across, provideruser
and user-across. If a fault occurs in provider, the backup or redundancy of provider will substitute for the failed part. Stop services and restart are another common method if the services are not on time or urgent. The loose coupling nature of provider e.g. data center makes this kind of faults not hard be deal with. If a fault occurs among providers, the provider-across transaction will be canceled and return with an error hint. Redirecting to other providers is a universal method which involves load balance of whole cloud system. Fortunately, there are only fewer transactions, which are caused by background management in the main, involving more than
one provider. It needs only to run background management one time per day or even per week.
There are too many reasons such as network congestion, browser collapse, request time out, provider busy and hacker attack can cause faults between provider and user. If not involving some key elements, these faults are omitted and user can try next time. The Byzantine fault tolerant algorithms are very important on the aspect of technology because malicious provider-user errors are increasingly common and can cause faulty nodes to exhibit arbitrary behavior which is hard to deal with. If involving key elements which cause real lost to user such as money in personal account, additional operations are needed to ensure the security of transaction. At the same time, the system log and credit of provider can deal with these accidents. And corresponding laws are supposed to solve all these at last. User does not only connect with provider but also other users. Many users attend activities and share several critical resources. On this condition, unsafe accessing critical resources can cause chaos in cloud computing systems.
There exist hardware level, operating system level and software level methods to protect critical resources. The provider will sit on the fence to arbitrate dispute among users. If all these are not enough, the law will stand in the end. So it is not terrible when a fault occur. Both the mature of
technology and society guarantee the strong fault tolerant characteristic of cloud computing.
The business model is the key characteristic to distinguish grid computing and cloud computing. The grid computing is mainly supported by government and academe. On the one hand, this determines the nature of grid computing: the impulse of profit is not strong enough. On the
other hand, the grid computing is a research for future development of information technology. But the cloud computing is mainly supported by gigantic IT companies. They plan that all investments on cloud computing should get return on investment (ROI) in the near future or beat
market competitors in the long run. There are many business models especially how-to-pay
models in cloud computing. Pay-per-use may be the favorite one in many cases. This is almost the same as the concept of utility computing. The capacity of processing, storage and network in cloud computing is utility service as water, electricity and gas in society. These utility services can be available whenever the user requires them at any time in modern human society. Users pay service providers based on their usage of these utility services. There are two categories of cloud users: end user and median user. Cloud services are ends in themselves for end user. End user consumes cloud services for self-use. Median user consumes cloud services and cost efficiently supplies professional services to others. End user sometimes doesnâ€™t pay for cloud services directly. For example, online game players pay for special game according to how long they stay online. And part charge is defrayed to maintain the running of cloud system. This process is opacity to end user. Median user usually pays for consumed cloud services directly. They save money on jumping to the market quickly. For median user, it is no need to manage complex hardware and software, learn how to use tools and gain experience with cloud computing technology. But the business of cloud computing is far beyond these. There are many free accesses to cloud computing. It is free to search with Google, send email with hotmail and find new friends with Facebook. These conditions rarely appear in using other social utility services. Maybe air is an exception but clean air may be not free anymore in the future. We still
donâ€™t know how long we can breathe freely due to air pollution. The strategy of sustaining these free cloud services is out of the scope of this paper. Attention economy may be the key idea.
User experience which belongs to the subject of human computer interaction is an important criterion when evaluating whether an application is successful or not. In cloud computing, user experience improves a lot than its ancestors like grid computing. The cloud service is a means toward the end of providing a good experience for cloud user. The valuable services should be easily accessed by cloud user. The core of user experience is achieving ease use. Ease use is not only simple but also elegant. There are three reasons why cloud computing should be
ease use: First, most cloud providers offer Internet-based interfaces which are simpler than other application program interfaces (API). These interfaces are simple and elegant enough to hide the business processing behind. The interfaces can stay the same ignoring whether the business processing has changed or not. Second, user experience of web applications is full studied. So the user interfaces are independent of content. The development of web application has a full suit of flow which can be divided into three stages including user need analysis, function design and program implementation. In top-down method, the user experience design is the fundamental of whole function design. The facets of the user experience are useful, usable valuable, desirable, findable, credible and accessible. Third, the web 2.0 increases the interactions between web users and providers. The web was originally designed to transport hypertext. As the rapid and rich developments of increasingly sophisticated contents are appearing, web is usually used as a remote software interface. The web 2.0 is supposed to be the continuum of user experience and blurs the line between software and the Internet. The emerging AJAX technology makes web applications and services are becoming more software-like. All these reduce information technology overhead for the end user. Search in the Internet is very simple: a web page
with an input text and a confirm button. There are other important characteristics such as TCP/IP
based, virtualization and high security. TCP/IP gives reliable delivery, a connection-oriented service between remote applications. TCP/IP is widely used in cloud computing. Although the network protocols may be private in the back end of data center, most cloud users connect to providers through TCP/IP. The HTTP protocol over TCP/IP or Internet inspires the user experience characteristics. Cloud resources are often virtualized as a service over the Internet. Up to the present, many cloud computing infrastructures consist of data centers. Data center uses virtualization technologies which abstract the commonness of infrastructure in different levels. High security of cloud computing is achieved mainly through three ways. First, the loose coupling makes cloud computing system run well when part of it is destroyed. Second, the abstraction, virtualization and privation of cloud provider avoid exposing the details of corresponding implementations. Third, technology cooperating with law is the guard of cloud computing. Understanding a technical area as complex as cloud computing is not easy and requires identifying its fundamental characteristics. Clear concepts and terminology into cloud computing help but do not entirely solve the problem of how to design, develop and adopt a cloud computing system. Although based on previous research in HPC, virtualization, utility computing and grid computing, cloudcomputing still has its own characteristics which make cloud computing be cloud computing not anything else. This paper discusses the characteristics of cloud computing. The conceptional service oriented characteristic abstracts the details of cloud computing implementation. The loose coupling and strong fault tolerant stand for the main
technical characteristics. Owning the business model is the key differentiation compared with other academic researches and helps cloud computing flourishing. The ease use user experience characteristic helps cloud computing being widely accepted by non-computer experts.