当前位置:网站首页>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 .
边栏推荐
- Mysql安装时mysqld.exe报`应用程序无法正常启动(0xc000007b)`
- 【Go实战基础】如何安装和使用 gin
- 机器学习实战:《美人鱼》属于爱情片还是动作片?KNN揭晓答案
- Pdf document of distributed service architecture: principle + Design + practice, (collect and see again)
- Avoid breaking changes caused by modifying constructor input parameters
- 破茧|一文说透什么是真正的云原生
- Cloudreve自建云盘实践,我说了没人能限制得了我的容量和速度
- Don't spend money, spend an hour to build your own blog website
- Sentinel reports failed to fetch metric connection timeout and connection rejection
- The channel cannot be viewed when the queue manager is running
猜你喜欢
Solutions to Chinese garbled code in CMD window
Micro service practice | introduction and practice of zuul, a micro service gateway
Solution of Xiaomi TV's inability to access computer shared files
Actual combat of microservices | discovery and invocation of original ecosystem implementation services
Talk about the secret of high performance of message queue -- zero copy technology
Flink - use the streaming batch API to count the number of words
Chrome视频下载插件–Video Downloader for Chrome
Programmers with ten years of development experience tell you, what core competitiveness do you lack?
"Redis source code series" learning and thinking about source code reading
Multi version concurrency control mvcc of MySQL
随机推荐
别找了,Chrome浏览器必装插件都在这了
队列管理器running状态下无法查看通道
Number structure (C language) -- Chapter 4, compressed storage of matrices (Part 2)
【Go实战基础】gin 如何自定义和使用一个中间件
「面试高频题」难度大 1.5/5,经典「前缀和 + 二分」运用题
[staff] time sign and note duration (full note | half note | quarter note | eighth note | sixteenth note | thirty second note)
Webflux responsive programming
C nail development: obtain all employee address books and send work notices
微服务实战|微服务网关Zuul入门与实战
oracle修改数据库字符集
【Go实战基础】gin 如何验证请求参数
十年開發經驗的程序員告訴你,你還缺少哪些核心競爭力?
Redis安装部署(Windows/Linux)
C Baidu map, Gaode map, Google map (GPS) longitude and latitude conversion
Typeerror: X () got multiple values for argument 'y‘
Solution of Xiaomi TV's inability to access computer shared files
[go practical basis] how to customize and use a middleware in gin
【Go实战基础】gin 如何设置路由
Matplotlib swordsman line - first acquaintance with Matplotlib
洞见云原生|微服务及微服务架构浅析