Cloud computing--at least as an extension of virtualization--has become increasingly widespread. However, cloud computing does not yet support a complex enterprise environment. So the cloud computing architecture is clear, and experience suggests that before cloud computing matures, we should focus on the details of the system's cloud computing architecture. Based on some existing cloud computing products analysis and personal experience, summed up a set of cloud computing architecture, cloud computing architecture can be divided into four layers.
Cloud Computing architecture--Display layer
This layer is mainly used to show the user's needs in a friendly way, and will take advantage of the various services provided by the middleware layer below, there are five main technologies:
HTML: Standard Web page technology, now mainly HTML4, but the upcoming HTML5 will be in many ways to promote the development of Web pages, such as video and local storage.
javascript: A dynamic language for Web pages that, through JavaScript, can greatly enrich the functionality of Web pages.
CSS: Mainly used to control the appearance of Web pages, but also to make the content of the page and its manifestations gracefully separated.
Flash: The industry's most commonly used RIA (rich Internet applications) technology offers web-based rich applications that are not available in technology such as HTML at this stage, and is very good in terms of user experience.
Silverlight: The RIA technology from the industry's giant Microsoft, although its current market share is less than flash, is very friendly to developers because it can be programmed using C #.
Cloud computing architecture-middle tier
This layer is a connecting link that provides a variety of services based on the resources provided by the infrastructure layer below, such as caching and rest services, which can be used to support the display layer or directly to the user, and there are five main technologies:
Rest: With rest technology, it is easy and elegant to provide some of the services supported by the middleware layer to the caller.
Multi-tenant: the ability to make a single application instance work for multiple organizations and maintain good isolation and security, and through this technology can effectively reduce the cost of acquisition and maintenance of the application.
Parallel processing: In order to deal with the massive data, need to use the huge X86 cluster to carry on the large-scale parallel processing, the Google MapReduce is the representative of this aspect.
Application server: On the basis of the original application server for cloud computing to do a certain degree of optimization, such as the Google App Engine jetty application server.
Distributed caching: The distributed caching technology can not only effectively reduce the pressure on the backend server, but also speed up the corresponding response speed, the most famous example of distributed caching is memcached.
Cloud computing architecture-infrastructure layer
This layer is intended to provide the above middleware layer or user with the necessary computing and storage resources, there are four main technologies:
Virtualization: It can also be understood as the "multi-tenant" of the infrastructure layer, because virtualization technology enables the generation of multiple virtual machines on a single physical server and enables comprehensive isolation between these virtual machines, not only reduces server acquisition costs, but also lowers the server's operational costs. Mature X86 Virtualization Technology has VMware ESX and open source Xen.
Distributed storage: In order to carry a large amount of data, but also to ensure the manageability of these data, so need a set of distributed storage System.
Relational database: Basic in the original relational database based on the expansion and management of the optimization to make it more adaptable in the cloud.
NoSQL: In order to meet the goals that some relational databases cannot meet, such as supporting huge amounts of data, some companies specifically design a database that is not based on relational models.
Cloud Computing Architecture-management
This layer is for horizontal three layer service, and to these three layers to provide a variety of management and maintenance technologies, mainly in the following six areas:
Account management: Through a good account management technology, can be in a safe condition to facilitate the user login, and facilitate the administrator of the account management.
SLA monitoring: Perform performance monitoring of virtual machines, services, and applications running at all levels to enable them to run with pre-set SLAs (Service level Agreement).
Billing management: That is, the resources consumed by each user, such as statistics, to accurately request fees from users.
Security management: IT resources such as data, applications and accounts are fully protected from criminals and malicious programs.
Load balancing: Respond to unexpected situations by distributing traffic to multiple instances of an application or service.
Operational Dimension Management: The main is to make operation and maintenance operations as professional and automated as possible, thereby reducing the cloud computing center's operational costs.
The cloud computing architecture has three layers that are horizontal, is the display layer, the middleware layer and the infrastructure layer, through the three-tier technology to provide a very rich cloud computing capabilities and friendly user interface, cloud computing architecture is also a vertical, called management layer, is to better manage and maintain the horizontal three layer.