当前位置:网站首页>Break the cocoon | one article explains what is the real cloud primordial
Break the cocoon | one article explains what is the real cloud primordial
2022-07-02 09:17:00 【_ Time boiled the rain】

Preface
2013 year ,Pivotal The company's Matt Stine It is the first time to creatively propose cloud primitives (CloudNative) The concept of , Same year ,Docker Container technology announces open source , Quickly set off a wave of virtualization and swept the industry . And then ,Google Announce a hug Docker , And released an open source orchestration tool that provides the ability of automated unified deployment Kubernetes. 2015 year ,Google Take the lead in establishing the cloud native foundation (CNCF), thereafter ,AWS、Azure、Alibaba Cloud And other large cloud computing manufacturers have joined , Make cloud primordial enter people's sight completely and develop rapidly .
here we are 2202 year , If you don't know what cloud primitives are , That's true OUT 了 , Roll it up !
One 、 What is cloud native ?
Pivotal company (Spring、Spring Boot 、Spring Cloud 、RabbitMQ Many excellent open source software are owned by their families ) Is defined as : Microservices + Containers +DevOps+ Continuous delivery .
CNCF The foundation defines cloud nativity as :
Cloud native technology is good for organizations in the public cloud 、 In new dynamic environments such as private and hybrid clouds , Build and run scalable applications . Representative technologies of cloud native include Containers 、 Service Grid 、 Microservices 、 Immutable infrastructure and declarative API.
These technologies can build good fault tolerance 、 A loosely coupled system that is easy to manage and easy to observe . Combined with reliable automation means , Cloud native technology makes it easy for engineers to make frequent and predictable major changes to the system .
Cloud native Computing Foundation (CNCF) Committed to fostering and maintaining a vendor neutral open source ecosystem , To promote cloud native technology . By democratizing the most cutting-edge model , Let these innovations be used by the public .

In a nutshell : Cloud native is Using virtualization technology ( Such as Docker) And automatic editing tools ( Such as K8s) Containerization , Use the microservice architecture ( Such as SpringCloud), With agile development 、DevOps Support continuous delivery and operation and maintenance automation ( Such as JIRA、TAPD、Jenkins), Based on elasticity 、 Dynamically scheduled cloud platform facilities ( Such as various container clouds ), Implementation from design 、 Development 、 test 、 Deploy the overall technical solution system on the cloud throughout the whole cycle .
Two 、 Cloud primitives
1. Containerization (Containers)

In the last century 70 s , With the rapid development of Cloud Computing , Around how to improve resource utilization , Produced the earliest resource isolation technology , Such as chroot. To 21 At the beginning of the century ,Namespace、Cgroup Wait for resource isolation technology to join Linux kernel , But it is not convenient for developers to call the system kernel directly , Therefore, the complexity of the interaction between the application and the system kernel is greatly simplified LXC Container technology , And formed the container bottom Technology Kernel standard .
Docker From dotCloud An internal project of the company , It USES Google company-launched Go Language implementation , be based on Linux Kernel cgroup,namespace, as well as OverlayFS Class Union FS Technology , Operating system level virtualization technology that encapsulates and isolates processes . Because the isolated process is independent of the host and other isolated processes , So it's also called a container . The initial implementation is based on LXC, from 0.7 The version begins to remove LXC, Turn to self-developed libcontainer, from 1.11 Start , Then it further evolved to use runC and containerd.
Docker Encapsulate complex kernel functions into developer friendly components , Make it easy for developers to package 、 Upload 、 download 、 Run and debug container applications , Coupled with its very lightweight performance in memory and space use , It is very suitable for horizontal expansion application scenarios ( For example, cloud native applications ), Once announced, open source , It quickly becomes the most widely used container engine , It is widely used in the infrastructure of major Internet manufacturers , Become De facto standards for container technology .

Kubernetes yes Google stay 2014 Launched in, based on Borg Free open source project , For container management , Load balancing between containers , rely on Google Support and excellent performance in super large-scale environment , Free and open source Kubernetes A big hit , It has become a large-scale De facto standard for container application scheduling and management technology .
Kubernetes You can deploy a cloud service controller manager to make Kubernetes Enjoy computing on the cloud 、 Storage 、 Network and other resources , You can even combine multiple online 、 Offline cloud resources , Realize real cloud connectivity . This feature makes Kubernetes Become worthy of Cloud primary cornerstone .
Google It was planned to donate the project to Docker, but Docker The leadership of did not accept Kubernetes, Nor does it relate to Docker Integrate ( It was launched a few years later Kubernetes Integration mechanism ), Instead, it is regarded as its own income generating product --Docker Swarm competitors . Recently, Docker The company changed its owners several times 、 Facing great challenges ,2020 year 12 month ,Kubernetes Official announcement :“Kubernetes To be abandoned Docker When running as a container ”.
2. Microservices (Microservices)
Almost every cloud native definition includes microservices , Microservices are relative to individual applications , Microservices are based on “ Low coupling 、 High cohesion ” principle , Split a single application into multiple services according to the actual business functions , Each service provides specific business functions ( Principle of single responsibility ), Each service can be deployed separately , Are independent of each other . The splitting of services can also be based on DDD Concept .

Microservice and microservice architecture are two different concepts , Microservices emphasize the size of services and provide a single business function , Microservice architecture refers to managing the combination of applications and services deployed in the cloud , To provide a complete set of services to the outside world .
3.DevOps

DevOps, It's a compound word , Include Development( Development ) and Operations( Operation and maintenance ), In fact, it should also include QA( Quality assurance ).
The traditional organizational structure is generally based on development 、 test 、 Division of labor and cooperation between operation and maintenance , After service , Plus the convenience provided by virtualization and container technology , Make the development mode ( Such as waterfall to agility )、 Organization form ( For example, each service may have independent development 、 test 、 Operation and maintenance team , The boundary between development and operation and maintenance is more blurred ) Even the whole life cycle has undergone great changes , Also make DevOps Become a more urgent requirement .

All in all ,DevOps Is to adopt agile methods , By reforming the organizational structure , Software flow , Use software lifecycle management tools to provide continuous integration and delivery capabilities for cloud native .
4. cloud (Cloud)

The cloud provides computing for the operation of upper layer applications 、 The Internet 、 Infrastructure resources such as storage , It is the cloud's native infrastructure .
Determine whether an application or architecture belongs to cloud native , It's not using Docker Containers , Used Kubernetes management , Using the microservice architecture is cloud native , If it is still deployed on the physical machine of the traditional machine room , I don't think it's a real cloud native . Only in the way of cloud ( For example, public cloud 、 Private cloud or hybrid cloud ) Deploy , Only when the application of management is really built on the cloud can it be regarded as cloud native , Throw away the cloud's original , It's a rootless tree , Water without source .
summary
「 For the cloud 」 All technologies are cloud native technologies ,「 Born of cloud 」 Soft 、 Hardware integration architecture , Is the real cloud native .
边栏推荐
- Machine learning practice: is Mermaid a love movie or an action movie? KNN announces the answer
- Number structure (C language) -- Chapter 4, compressed storage of matrices (Part 2)
- View the port of the application published by was
- Redis sorted set data type API and application scenario analysis
- Microservice practice | load balancing component and source code analysis
- Long summary (code with comments) number structure (C language) -- Chapter 4, string (Part 1)
- During MySQL installation, mysqld Exe reports that the application cannot start normally (0xc000007b)`
- 一篇详解带你再次重现《统计学习方法》——第二章、感知机模型
- 微服务实战|手把手教你开发负载均衡组件
- Micro service practice | introduction and practice of zuul, a micro service gateway
猜你喜欢

微服务实战|Eureka注册中心及集群搭建

Don't spend money, spend an hour to build your own blog website

Chrome浏览器插件-Fatkun安装和介绍
![[staff] time mark and note duration (staff time mark | full note rest | half note rest | quarter note rest | eighth note rest | sixteenth note rest | thirty second note rest)](/img/7f/2cd789339237b7a881bfed7b7545a9.jpg)
[staff] time mark and note duration (staff time mark | full note rest | half note rest | quarter note rest | eighth note rest | sixteenth note rest | thirty second note rest)

Typeerror: X () got multiple values for argument 'y‘

Flink-使用流批一体API统计单词数量

Mysql安装时mysqld.exe报`应用程序无法正常启动(0xc000007b)`
![[go practical basis] gin efficient artifact, how to bind parameters to structures](/img/c4/44b3bda826bd20757cc5afcc5d26a9.png)
[go practical basis] gin efficient artifact, how to bind parameters to structures

Avoid breaking changes caused by modifying constructor input parameters

There is a problem with MySQL installation (the service already exists)
随机推荐
gocv opencv exit status 3221225785
微服务实战|微服务网关Zuul入门与实战
There is a problem with MySQL installation (the service already exists)
Matplotlib剑客行——初相识Matplotlib
概率还不会的快看过来《统计学习方法》——第四章、朴素贝叶斯法
2022/2/14 summary
Amq6126 problem solving ideas
京东面试官问:LEFT JOIN关联表中用ON还是WHERE跟条件有什么区别
Shengshihaotong and Guoao (Shenzhen) new energy Co., Ltd. build the charging pile industry chain
Typeerror: X () got multiple values for argument 'y‘
WSL installation, beautification, network agent and remote development
win10使用docker拉取redis镜像报错read-only file system: unknown
[go practical basis] how to bind and use URL parameters in gin
Pdf document of distributed service architecture: principle + Design + practice, (collect and see again)
"Interview high frequency question" is 1.5/5 difficult, and the classic "prefix and + dichotomy" application question
Gocv image cutting and display
Hengyuan cloud_ Can aiphacode replace programmers?
[go practical basis] how to verify request parameters in gin
Matplotlib swordsman line - layout guide and multi map implementation (Updated)
[staff] time mark and note duration (staff time mark | full note rest | half note rest | quarter note rest | eighth note rest | sixteenth note rest | thirty second note rest)