1, enterprise project management system - cloud computing, virtualization and containers

Disclaimer: This article is a blogger original article, follow the CC 4.0 BY-SA copyright agreement, reproduced, please attach the original source link and this statement.
This link: https://blog.csdn.net/qq_40871734/article/details/100584066

"Cloud computing" is the word, I believe we are very familiar with.

As the main trend of development of information technology, which frequently appear in our eyes. Emerged with it together, as well as these concepts nouns --OpenStack, Hypervisor, KVM, Docker, K8S ...
Here Insert Picture Description
these terms and concepts, all of which belong to the category of cloud computing technology.

For starters, understand the specific meaning of these concepts is not an easy thing.

What is cloud computing

Before introducing those weird terminology, let me introduce cloud computing .

Time before computers were invented, no network, each computer (PC), is a stand-alone.
Here Insert Picture Description

This single machine, including CPU, memory, hard drives, graphics cards and other hardware. Users on a single machine, install the operating system and application software, complete their work.

Later, with the network (Network) , between stand-alone and single, you can exchange information, work together.
Here Insert Picture Description
Still later, stand-alone performance is growing, there will be a server (Server) . It was found that some servers can put together, in the engine room, and then let the user through the network, to access and use the room where computer resources.
Here Insert Picture Description
More points later, a small network into a large network, there is the Internet (Internet) . Small room into a large room, there IDC (Internet Data Center, Internet data center) .

As more and more computer resources and application services (Application, for example, look at the page, under the movie) are together, it becomes - " cloud computing (Cloud Computing) ." Numerous large room, it becomes a "cloud."
Here Insert Picture Description
Cloud computing is a simple reason, plainly, is to computer resources together, on a network. However, the implementation of cloud computing, it is very complicated.

For example, if you're just a small company put a server room, open FTP download service for movies and then sharing among several of my colleagues, of course, it is very simple.

If the "double 11" Taobao Shopping Festival, the world's billions of users access to Alibaba's Taobao station, dozens of one-day PB (1PB = 1024TB = 1024 × 1024GB) visits, several hundred GB per second flow ...... this, it is not a few cable several servers can be resolved up.

At this time, the need to design a large-capacity, high concurrent (simultaneous access), ultra-fast, super-secure cloud computing system, in order to meet the requirements of the business running smoothly.

This is the intricacies of cloud computing.

I just said, we have computer resources in the cloud. This computer resources, is actually divided into several levels:

The first level is the lowest level of hardware resources, including CPU (computing resources), hard disk (storage resources), as well as network cards (network resources) and so on.

The second level , to more advanced level, and I do not intend to use the direct CPU, hard disk, network card, I want you to operating systems (eg Windows, Linux) installed, the database software installed, I come back to use.

The third level , slightly more advanced, you not only to these basic operating system installed, but also the specific application software installed, such as FTP server software, online video server software, I can use the service directly.

These three levels, that is, we often hear of IaaS, Paas, SaaS.

SaaS : Software-AS-A-Service (software as a service)

PaaS : Platform-AS-A-Service (Platform as a Service)

IaaS : Infrastructure-AS-A-Service (Infrastructure as a Service)

Here Insert Picture Description
Current mainstream cloud computing service providers, such as Amazon AWS, Ali cloud, Huawei cloud, cloud Tianyi, Tencent cloud, plainly, is to provide more than three levels of cloud resources for everyone. What do you want, what they offer. How much do you want, how much they offer.
Here Insert Picture Description
So diverse and multi-level cloud computing services, Ali, Huawei is how we provide it?

Does that mean that artificial arrangements?

If you want an eight-core CPU, 16GB RAM, 500GB hard drive server, Ali Engineer interim arrangements to help you assemble? If you want to install CentOS 7.2 (one kind of like the Linux operating system), MySQL 5.5.60 (one kind of database system), Ali temporary installation configuration allows engineers to help you?

This is clearly impossible, can not afford human consumption, but also can not afford the time.

Thus, there is a variety of software and platforms, responsible for quick access to resources and centralized management.

What is virtualization

If you want to manage the physical resources, the first step is the " virtualization ."

Virtualization is the foundation for cloud computing. In simple terms, virtualization is on a single physical server running multiple "virtual servers." This virtual server, also known as a virtual machine (VM, Virtual Machine) .

Resources On the surface, these virtual machines are stand-alone server, but in fact, they share the physical server's CPU, memory, hardware, network cards.
Here Insert Picture Description
Physical machine, commonly referred to as "host (the Host)." Virtual machine, called a "client (Guest)".

Who will complete the physical resource virtualization work?

Is the famous Hypervisor .

Hypervisor, come Translation is "hypervisor", also called VMM (Virtual Machine Monitor, virtual machine monitor). It is not a specific software, but collectively, a type of software.

Hypervisor divided into two categories:

The first, hypervisor runs directly on the physical machine. Virtual machine running on hypervisor. Installation normal operating system (such as Linux or Windows) on the second type, the physical machine and mounted on the normal operation of the system hypervisor, generating and managing virtual machines.
Here Insert Picture Description
Like VMware, KVM, Xen, Virtual Box , belong to the Hypervisor.

VMware it should be very familiar with, that is, VMware Workstation. Learn Linux, many people are WMware installed in the windows system, and then create a Linux virtual machine.

But, really powerful, it is KVM (Kernel-based Virtual Machine , based on the Linux kernel virtual machine). It is the most popular of the most sought-after virtualization solutions.
Here Insert Picture Description
This KVM Hypervisor software actually provides a virtualization capabilities, the CPU simulation run, the more the bottom. But it's not a good user interaction, inconvenient to use.

So, in order to better manage virtual machine, you need to OpenStack such a cloud management platform.
Understand cloud computing, virtualization and containers, this one enough friends
About OpenStack, it's a bit like a store, manage commodity (computing resources, storage resources, network resources, etc.), sold to users, but it does not manufacture goods (do not have the virtualization capabilities), its merchandise, from KVM. Of course, if you do not have KVM, you can also use other hypervisor Xen and so on.

Understand cloud computing, virtualization and containers, this one enough friends
OpenStack management interface, much better than the command line

The above mentioned several concepts, including VM, KVM, OpenStack, etc., are the main part of IaaS (Infrastructure as a Service).

What is a container

So what container is it? Bigwigs often said Docker and K8S, what is it?

Earlier we introduced virtualization. People in the use of virtualization for some time, it found some problems:

Different users, sometimes just want to run some of their simple procedure, run a little process. In order not to influence each other, it is necessary to create a virtual machine. If you build a virtual machine, it will obviously wasted little big, but the operation is relatively complex, it takes time will be relatively long.

And, sometimes, you want to migrate their services program, it is necessary to migrate the entire virtual machine. Clearly, the migration process will be very complicated.

There is no way to be more flexible and quick to do so?

Yes, which introduced the " container (Container) ."

Container is virtualization, but are "lightweight" virtualization. Its purpose and the same virtual machine, is to create "an isolated environment." However, virtual machine, and it is very different - the virtual machine is isolated from the operating system level resources, while the container is essentially a resource isolation process level.
Here Insert Picture Description

And we often heard Docker , is the tool to create a container, the container is the application engine.

Docker's Chinese meaning is the dock workers. And it's LOGO, a whale is carrying a lot of cargo box.
Understand cloud computing, virtualization and containers, this one enough friends
Compared to the traditional virtual machines, the advantages of Docker's obvious that it will soon start time, a second grade, and high utilization of resources (one host can run thousands of Docker containers at the same time). In addition, it accounts for a very small space, the virtual machine generally a few to tens of GB GB, while the container only needs KB MB level even level.
Here Insert Picture Description
In addition to the Docker containers are created, we need a tool that orchestrates container.

This tool is K8S .

K8S , is Kubernetes , Chinese meant helmsman or navigator. Kubernetes this word is very long, so we put the middle eight-letter abbreviation to 8, became K8S.

Understand cloud computing, virtualization and containers, this one enough friends
K8S is a container cluster management system, the main responsibility is container arrangement (Container Orchestration) - start containers, automated deployment, expansion and management of container applications, as well as recycling containers.

In simple terms, K8S a bit like a nanny container. It is responsible for managing container run on which machines, containers if there are problems monitoring, control and communications outside of the container, and so on.

By this system configuration diagram K8S below, it is possible to see the relationship between the container and K8S.

Here Insert Picture Description
In addition to K8S, there are many container management platforms, such as Compose, Marathon, Swarm, Mesos and so on .

Docker and K8S, is no longer the concern of infrastructure and physical resources, but the application layer, therefore, belong to PaaS.

As the start of this article, is to introduce KVM, Hypervisor, OpenStack, Docker, K8S the meaning of these terms, their position in the cloud computing system, and the relationship between them. Cloud computing involves a lot of demand. With a demand, there will be a lot of different techniques. The same technology, often there are a number of different manufacturers competing with each other. Therefore, the concepts and terminology will be particularly large, the development will soon change.

Anyway, distinguish clearly the most critical terms and concepts, it is the first step in cloud computing to learn.

Guess you like

Origin blog.csdn.net/qq_40871734/article/details/100584066