Application prospect of container technology in game cloud

Source: Internet
Author: User
Keywords Tencent Cloud Docker
Tags application application prospect autonomous based business business logic cloud control

The "Editor's note" Container technology is a lightweight virtualization technology that allows you to virtualize a stand-alone system's operating environment with fine-grained granularity. This means that a physical server, or a virtual server above a cloud, can run hundreds of separate containers at the same time.

Based on the distinctive features of "fast" in the gaming industry, every business logic, such as the control of character walking, fighting, scene, chatting, archiving, database, etc., can be run in a separate container. This series of containers constitutes the autonomous system of an independent gaming world. At present, Tencent's internal business environment basically all realized the container, in 2014 container technology conference, Tencent Cloud Senior product manager Liu Yong has delivered a speech "Docker era, public cloud faces challenges and opportunities." This paper Liu Yong the application of container technology in game cloud. The following is the original text:

What is a container?

Container (Container) is a lightweight virtualization technology, the so-called lightweight virtualization, is the use of an operating system layer virtualization technology, this technology allows the user space on an operating system to be split into a few independent units in the kernel to run, not interfere with each other, such a separate space, It's called a container. For example, an operating system can be analogous to an apartment, so the container, like a room in an apartment, is shared in a living room, kitchen and bathroom. But the rooms and rooms are isolated from each other, and the activities of the people in the room do not affect the occupants of other rooms. Rooms also have doors, there are certain safety measures. With the development of virtualization technology, a physical machine can be virtual into more than one virtual machine, but a virtual independent operating system is the existence of a systematic loss, it is impossible to virtual too much. And the container is different, the same machine, can run dozens of or even hundreds of containers. There is basically no loss of performance, and starting a container is as simple as starting a process, which can be done in seconds. Therefore, in some scenarios, container technology will have a great advantage.

The development course of

container technology

The technology of the container is not a very new technology, and its idea has already been applied more than 10 years ago. The Solaris system pioneered the concept of containers in 2005. In the 2007, the core characteristics of container technology Cgroup formally entered the Liunux kernel. Standardized norms have been formed in the 2011. The industry in the use of containers, but also more and more widely, especially some large internet companies, domestic Tencent, Baidu, has been in the internal production environment large-scale use of container technology. For container technology use most mature when belong to google,google inside of almost all business, its operation environment basically all realizes containerized. One of the most important milestones in container development is the emergence of Docker. Many people have misunderstood, Docker is not a virtualization technology, but a container management technology, it is mainly composed of container management engine, client and Aufs file system. Standardize the construction, distribution, and operation of containers. So over a year, the heat has swept the world.

What are the advantages of

container technology

With the development of container technology, especially the Docker wings, it appears to be doubled. What advantages does it have to solve the problem?

Here is a summary of the following points:

Increased virtualization granularity: Because container is an operating system virtualization technology that can be isolated at the process level, a physical machine can run a lot of containers and minimize performance loss. Of course, it also supports running containers on virtual machines. As a result, some low-cost, dynamic scaling support for micro-services become possible. such as a personal site, a public account, a personal blog. Of course, can also be used in the game costume scene. IT service delivery standardization: In Docker, the concept of containers and warehouses, any service, can be packaged into a container. Containers can be stored in warehouses. When execution is required, pull directly from the warehouse for execution. Masks differences between underlying IT infrastructures. The operating entity of the service does not need to understand the structure inside the container, just pull it from the warehouse and execute it. So you can draw a clear line between the delivery of your IT service and the user. Very suitable for the current IT service division of the trend of more and more fine. Development, testing, deployment integration: the continuous integration of the system, continuous deployment, has been the IT developers, operators dream of things, but in fact, it is very difficult to solve, many times, the development of a test environment, to spend a lot of effort to build a set of tests, after the completion of a set of operating environment. The Docker three core concept Build,ship,run, in fact, covers the entire process from development to deployment to execution. In containers, when the development is completed, packaged into a container, placed in the warehouse, and then into the test process, after the test is completed, still push to the warehouse, and finally to the build environment. Let three links smooth. Avoid the complex operating environment to build the workload.

The main features of

game hosting

The former part mainly introduces the advantages and characteristics of container technology, and how to combine with the game. This has to do with the characteristics of the game industry itself and business characteristics. In fact, the game industry is the highest acceptance of the cloud, but also the characteristics of the cloud to use the most inadequate industry. As the saying goes, the game industry, especially now relatively fire hand tour industry, the essence is "fast":

Short: Short game life cycle, especially hand tour, a general game, only a year or so of the life cycle; Ping: Game background architecture is a flat structure, most of the game is a single area of single clothing, a machine, a database, you can handle a number of game suits; fast: Game roll fast, a lot of games, Users are explosive growth, usually a game suit, only to support a fixed number of users, to reach the user on the line, open a new service, so the main performance in the open suit fast, at the same time, also due to short life cycle, also need to develop fast, deployment online fast.

Game Business Background server architecture, at present, most of them also follow the traditional mode, in order to compare common single area single service architecture, for example, usually using a good performance of the machine, such as 16 nuclear 64G memory, on the machine to open a certain number of game clothing (equivalent to running multiple game background service process simultaneously, Provide services through different ports. Each service supports a fixed number of online users. Each game costume makes up a separate game world, and the data is not interoperable between different game suits. Game costumes have less, to Tencent cloud of a game for example, a 16-core cloud server, open to 80~100 a game suit. Why not a server to open a game suit? Mainly cost considerations. Of course, some people will ask, why not each game to take more than a few households, so as to open a few of the game clothes? This is mainly due to the characteristics of the game, such as MMORPG (Multiplayer online RPG) class of games, each game suit, map Limited, it is not possible to support too many users, at the same time, too many users, different levels, resulting in the game ecosystem imbalance. Therefore, each game to take the number of households, is a constant amount.

the problems of traditional game background architecture

a machine that runs a lot of game clothes at the same time, when the machine downtime, the impact of a wide range of users; Because each game suit is a background service process, there is no strong isolation between the processes, will lead to different game clothing resource allocation is uneven, or resources to seize each other problem; in a game, involves many different kinds of business logic, such as logging in, chatting, fighting, walking, and even logging. In traditional ways, most of them run on the same server in order to simplify deployment. Therefore, different processes or threads are required to complete these business logic. It is very complicated to manage, especially when there are many sets of game suits on a machine.

Of course, there are some optimized architecture, such as a game in the area of the login logic independent, by a set of separate servers to load. However, to make a game world, all the business logic can be coordinated operation, is still a very complex thing. Especially a physical machine that deploys multiple sets of game suits.

a brand new game autonomy system

The previous chapters discuss the advantages of container technology. One of the more important advantages of this is that container technology is a lightweight virtualization technology that allows you to virtualize a stand-alone system's operating environment with fine-grained granularity. This means that a physical server, or a virtual server above a cloud, can run hundreds of separate containers at the same time. In every game world, every business logic, such as the control of the character's walking, fighting, scene, chat, archiving, database, etc., can be run in a separate container. This series of containers constitutes the autonomous system of an independent gaming world. All the containers inside an autonomous system can run on top of a physical machine or be distributed on separate machines. At the same time, can also according to each kind of business uses the resource different, the reasonable plan this kind of container resources dosage, achieves each other mutually does not interfere. Of course, container management in this autonomous system is a big problem if it's just pure container technology. But the advent of Docker technology has solved this problem perfectly. Docker has the concept of a warehouse, all the basic units of the Autonomous System (container), can be stored in the warehouse, at the same time, with the help of Fig,serf and other container choreography, as well as services from the discovery of technology. When these containers are distributed to a running environment (a batch of executing servers), an autonomous system can be built quickly. Let a game world of backstage architecture, can in the second level of time quickly rebuild. This will completely subvert the concept of the game-opening service. We know, now open clothes, need to apply for machines, install software version, modify configuration and so very tedious operation, although through the script, can basically realize automation, but still need a part of artificial to intervene. Combined with the Docker technology, only need to distribute and copy on it, will Docker advocated by the three core concepts build,ship,run embodiment of the dripping extreme.

fault tolerance and thermal migration

The stability of the game has always been the most concerned by the operators. An exceptional outage can result in very large losses. In traditional mode, a server, running dozens of sets of game suits, a downtime, may affect tens of thousands of of gamers. When all the business logic of the game suit is containerized, a machine failure may only affect some of the business logic in the part of the game suit. We can consider a game-autonomy system as a functioning machine. In the event of a failure, it is necessary to reboot and assemble the machine, and now it is possible to replace the parts in the case of non-stop machines. For example, the control of the operation of the container is located just a fault machine, may only be instantaneous cotton, immediately return to normal. With some monitoring tools, some important business logic can even run multiple backup containers at the same time, and can quickly switch to another standby container when a logic problem occurs.

Future Prospects

The game for the use of the cloud, is still at a very early stage, most game manufacturers, or the use of the traditional IDC hosted, even if the use of cloud manufacturers, is the cloud host when the traditional physical machine in use. Although the container technology has been developed for many years, the technology of Docker is just a baby in infancy. The game field can accept the concept of container, but also need a process of exploration and practice. But with the competition in the field intensified, low-cost, fine operation is the future trend. The game has been Tencent cloud the most important area of expansion, because there is the largest group of users of the game, so the understanding of the game concept, the design of the game architecture and operating experience, Tencent Cloud is one of the most important competitive advantage, so Tencent Cloud very early started the container technology in the field of game research. At present, the container technology in Tencent's social network has many years of practical experience, the internal business operation Environment basically all realized the container. It is believed that it will be applied gradually in the game field soon. At the end of the article, I thought of a scenario where he gave me a description of the future game world when chatting with the boss of a big game company that came back from abroad. All gamers in the world are in a game world. There are maps as vast as the real world. Game scenes and characters are supported by powerful cloud computing AI intelligent control, the entire game, is the real world of complete simulation. Perhaps with the help of the technology in the article, we will see a similar view of the cosmos. (Zebian: Zhou Xiaolu)

If you need more information about Docker or technical documentation to access the Docker technology community, if you have more questions, please put it in the Dcoker Technical Forum and we will invite experts to answer. CSDN Docker Technology Exchange QQ Group: 303806405.

CSDN invites you to participate in China's large data award-winning survey activities, just answer 23 questions will have the opportunity to obtain the highest value of 2700 Yuan Award (a total of 10), speed to participate in it!

National Large data Innovation project selection activities are also in full swing, details click here.

The 2014 China Large Data Technology Conference (Marvell conference 2014,BDTC 2014) will be held at Crowne Plaza Hotel, New Yunnan, December 12, 2014 14th. Heritage since 2008, after seven precipitation, "China's large Data technology conference" is currently the most influential, the largest large-scale data field technology event. At this session, you will not only be able to learn about Apache Hadoop submitter uma maheswara Rao G (a member of the project Management Committee), Yi Liu, and members of the Apache Hadoop and Tez Project Management Committee Bikas Saha and other shares of the general large data open source project of the latest achievements and development trends, but also from Tencent, Ali, Cloudera, LinkedIn, NetEase and other institutions of the dozens of dry goods to share. There are a few discount tickets for the current ticket purchase.

Free Subscribe to the "CSDN large data" micro-letter public number, real-time understanding of the latest big data progress!

CSDN large data, focus on large data information, technology and experience sharing and discussion, to provide Hadoop, Spark, Impala, Storm, HBase, MongoDB, SOLR, machine learning, intelligent algorithms and other related large data views, large data technology, large data platform, large data practice , large data industry information and other services.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.