当前位置:网站首页>Cloud native architecture (04) -cncf
Cloud native architecture (04) -cncf
2022-06-23 05:28:00 【Yanglinwei】
List of articles
01 introduction
Learning reference materials :《 Enterprise Cloud native architecture : technology 、 Service and practice )》

Cloud native Computing Foundation (Cloud Native Computing Foundation, CNCF).
CNCF from Google On 2015 year 7 Launched in January , Affiliated to the Linux The foundation .
- Its goal vision is “ Committed to making cloud native computing universal and sustainable , Maintain and integrate cloud native open source technologies , Build communities around a range of high-quality projects , Microservice architecture applications that support container choreography ”.
- Its scope of responsibility is to promote the development of cloud native standards , Promote the development and evolution of ecosystems , Management project , Promote the development of cloud native communities .
02 CNCF Ecological blueprint
CNCF The cloud native related products involved at present 、 Technology and ecology are divided into 8 There are three main areas and directions , As follows .
2.1 Cloud infrastructure (cloud)
The cloud deployment location can be divided into Public cloud and Proprietary cloud ( Private cloud ):
- Public cloud : Refers to the deployment of cloud infrastructure on the Internet , Users can directly obtain cloud products and services provided by cloud manufacturers through Internet channels (
IaaS、PaaS、SaaS). This greatly reduces the threshold for users to use cloud products , At the same time, it saves users' self construction IDC The initial one-time investment of the computer room , Open and use , Pay as you go . - Proprietary cloud ( Private cloud ): It means that the user is in his own
IDCComputer room , Use cloud technology and products to build your own exclusive cloud platform environment . The proprietary cloud platform can use the cloud base provided by commercial cloud manufacturers , You can also use open source virtualization technology to build , Such asVMware、OpenStack、ZStack、CloudStacketc. . The cost of building a proprietary cloud is high , But for the sake of data security and self-control , Some users will choose VPC .
2.2 The deployment environment (provisioning)
With physical machines and virtual machines , Before running the container service , We also need to prepare a standardized basic environment for containers , Such as : Automated deployment tools 、 Container mirroring tool 、 Security tools, etc , To support the operation and maintenance automation of infrastructure .
IaaS Layer provides the hardware network foundation , Environment deployment provides a software tool base , Both support the foundation of the vessel operation platform .
2.3 Runtime (runtime)
The runtime is the cloud native technology at the core of the container , Provide a virtualized and isolated operation support environment for container operation , Including virtualized computing resources 、 Virtualized storage resources 、 Virtualized network environment .
Cloud native computing :Linux Container (LXC) Container is a kernel lightweight operating system layer virtualization technology , adopt Linux Of Namespace and Cgroup Two mechanisms to achieve resource isolation and restriction management , It provides a resource independent running environment for application software and its dependent components .2016 year 4 In June, the first open container standard was launched , Standards mainly include Runtime standards (runtime) And mirroring standards (image).
The introduction of standards helps bring stability to the growing market , So that enterprises can safely adopt container technology , The user is packing 、 After application deployment , You can freely choose different container runtime standards . meanwhile , Image packaging 、 establish 、 authentication 、 Deploy 、 The naming can also be carried out according to the unified standard .
Cloud native storage : The container fits the design concept of stateless service in microservices very well from the very beginning , So at the beginning, some people even got the impression that the container is only suitable for stateless services , But with the maturity of container technology and the change of user concept , The container has now fully entered the stateful service field . Because of the short life cycle of containers , So the state of the container ( Stored data ) Must be independent of the life cycle of the container , And that's why , The storage of containers becomes very important .
Cloud native network : Most cloud vendors provide users with virtual and proprietary cloud services (Virtual Private Cloud, VPC), It is convenient for users to build customizable virtual network solutions in cloud environment . The most important function of the network is to provide connectivity between different computing resources , With the development of virtualization and container technology , Traditional network solutions can no longer meet the rapid growth of cloud computing 、 Changing network requirements .
for example :Docker It will be automatically created on the host machine during installation 3 A network mode : host (host) Pattern 、 The bridge (bridge) Pattern 、 Containers (container) Pattern .
Arrange and manage (orchestration&management): When using containers in a production environment , Containers on a single host can no longer meet the requirements , Therefore, it is necessary to manage multi host container clusters , It also requires a tool to provide resource management 、 Container scheduling and service discovery , Ensure that the multi host container can work properly . so to speak , For cloud native systems , Container scheduling is the core .Kubernetes Is the world's most popular container orchestration platform and the first CNCF project , Help users build 、 Extend and manage applications and their dynamic lifecycles .
application layer (App definition and development): The container platform will eventually run the application , Of course, the main application is the business of each company , In addition, there are some general industrial applications , It can provide functions similar to the application market according to the demand .
Technologies and products provided by the application layer , Including basic products related to application development ( Such as a database 、 Message queue 、 cache 、 Stream computing, etc ), It also includes software process management related to application development ( Such as code base 、 Image libraries 、DevOps).
Platform services (platform): Platform service refers to a higher level of encapsulation based on container technology , For developers 、 Operation and maintenance personnel provide more friendly 、 Convenient 、 Container based application development capability , Get containers out of the box as an infrastructure service - Container as a service (Container as a Service, CaaS).
With Kubernetes Rapid development of , Many with Kubernetes Companies that manage container management platforms and applications came into being , Greatly reduce the user's use of Kubernetes Manage the threshold of the container . Container technology makes the concept of microservice hot , Then let Serverless The word appeared in front of the public . Since the container can shield the infrastructure , Let developers only care about the delivered applications ( Container mirror ), So can we go further , So that developers do not need to care about the delivered image , And only focus on the core logic of the business ? This is it. Serverless Ideas . The developer defines the business logic based on event triggering , Everything else is left to the platform , When the user makes a request or other events occur , The platform will automatically run the corresponding business logic code according to the previous configuration , So as to realize the real on-demand service . If containers are concerned with Applications , that Serverless What I care about is the function , This also gave birth to some new application development models , For example, function as a service development model (Functions as a Service, FaaS)、 Back end as a service development pattern (Backend as a Service, BaaS)、 Small program development mode, etc .
Monitoring analysis (observability&analysis): Monitor the operation health of the system , To ensure the stability and reliability of the business , The main content of operation and maintenance is . After the cloud based native application platform is established , We need to ensure that the entire platform can work properly , Ensure that the services running on it will not be unavailable due to platform errors , But also know the overall operation of the application , Give early warning of some possible mistakes in advance , Once an error occurs, it can provide appropriate information for debugging and repair , This is all monitoring (observability) And analysis (analysis) The work to be done .
Monitoring analysis includes operation monitoring ( Host monitoring 、 Container monitoring 、 Application monitoring )、 Distributed log ( Log collection 、 Real time flow calculation 、 Log analysis )、 Distributed tracking ( Full link tracking 、 Architecture awareness ) And so on . Monitoring and analysis is the top priority of container platform operation and maintenance , Cloud native construction reduces application deployment 、 upgrade 、 structure 、 The difficulty of the test , But sink the difficulty to the container platform , The original O & M tools and
03 CNCF The roadmap
3.1 Containerization
Containerization is the first step in cloud native , If the application is not containerized , You can't realize cloud native . A container is a standard software unit , It packages the code and all its dependencies , In this way, applications can move quickly from a computing environment 、 Run reliably to another computing environment .
As for the size and type of application , It doesn't matter .Docker Is the preferred platform for containerization , You can combine applications and dependencies of any size , Even some programs running on the simulator , It's all containerized .
Docker Container mirroring is a lightweight 、 Independent 、 Executable packages , Contains everything you need to run your application . as time goes on , You can also split applications , And write future functions as micro Services .
3.2 CI/CD
Set up CI/CD Environmental Science , So that any modification on the source code can be automatically compiled through the container 、 test , And deployed to the pre production environment , Even in the production environment , If there are any exceptions during deployment , You can easily and quickly roll back to the last stable version . The software development pattern starts from the original waterfall model , To the later agile development , And today's DevOps, This is what modern developers build Technical route of color products . With DevOps The rise of , There is CI/CD And new ways of continuous deployment , The traditional software development and delivery methods are rapidly becoming obsolete . Under the traditional development mode , Most companies release software every month 、 Every quarter or even every year , And in the DevOps Time , Once a week 、 It is normal to publish every day or even many times every day .
3.3 Application choreography
Container orchestration mainly manages the life cycle of containers , Especially in large-scale and complex production environment , Software teams use container orchestration to control and automate many tasks .
Kubernetes It is the most widely used tool in the field of application and arrangement in the market , There are other orchestration tools , Such as Docker swarm、Mesos etc. .Helm Charts Can be used to help application developers and publishers define 、 Install and upgrade Kubernetes Applications running on .
3.4 Monitoring and Analysis
In this step , Users need to choose monitoring for the platform 、 Logging and tracking tools .Kubernetes Provides detailed information about the resource usage of the application on the container cluster , It does not provide a solution for application operation monitoring , But we can integrate many existing cloud native products into Kubernetes In the cluster . for example , take Prometheus Used to monitor 、Fluentd For log 、Jaeger Used for tracing the whole application call chain . Through this information , We can evaluate the performance of the application , And eliminate bottlenecks , To improve overall performance .
边栏推荐
- Introduction to JDBC (III) implementation of transaction rollback function
- Introduction and use of precise ephemeris
- Spark 离线开发框架设计与实现
- Win软件 - (Net-Framework)已处理证书链,但是在不受信任提供程序信任的根证书中终止
- Introduction to unityshader -- rendering optimization technology in unity (IV)
- C language stack implementation
- Missing essential plugin
- Mysql入门学习(一)之语法
- Memory model of JVM principle
- Onnxoptimizer, onnxsim usage records
猜你喜欢

Drag and drop拖放框架

Drag and drop frame

onnxoptimizer、onnxsim使用记录

Raspberry pie network remote access

How to conduct exploratory data analysis

九九乘法表.bat

VMware network connection error unit network service not found

JDBC入门学习(一)之DML操作

JVM原理之完整的一次GC流程

STM32 clock tree misconfiguration causes boot to enter hard interrupt
随机推荐
关于信息泄露和防御
Image noise reduction denoise AI
Swiftui 2.0 course notes Chapter 4
How to conduct exploratory data analysis
pkav简单爆破
今日睡眠质量记录80分
618 how to break through the siege? Haier Zhijia: do a good job in digitalization of users
应用挂了~
关于重放攻击和防御
MCS:离散随机变量——Uniform分布
konva 系列教程 1:konva 是什么?
ES6的Array.from方法创建长度为N的undefined数组
Zygote process
GO语言-panic和recover
人脸识别 确定阈值
Fund performance evaluation
Master shell, one article is enough!
Database connection exception: create connection error, url: jdbc: mysql://ip/ Database name, errorcode 0, state 08s01 problem handling
Hcip reissue experiment
Web application security testing guide