当前位置:网站首页>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 .
边栏推荐
- GO语言-自定义error
- When I was young, I thought my father was omnipotent
- Onnxoptimizer, onnxsim usage records
- A bug in rtklib2.4.3 B34 single point positioning
- 【Leetcode】最长递增子序列问题及应用
- MCS:连续随机变量——LogNormal分布
- 账号多开是什么意思?为什么要账号多开?如何安全实现?
- H5 适配全面屏
- Investment risk management
- Introduction to MySQL (II) sub query + Association
猜你喜欢
随机推荐
MCS:连续随机变量——LogNormal分布
After the idea code is developed, the code is submitted. If the branch is found to be incorrect after submission, how can I withdraw it
Three implementation methods: left fixed and right adaptive (Flex, float + BFC, float margin left)
Introduction to JDBC (IV) - use of Druid connection pool
Memory model of JVM principle
云原生数据库是未来数据库的天下
JVM原理之内存模型
markdown给图片加背景色
BGP experiment
Introduction to MySQL (I) grammar
第十六届东北地区大学生程序设计竞赛(热身赛)B-String Value(字符串dp)
(IntelliJ)插件一 Background Image Plus
Get bat command results in bat
物联网开源开发平台 Shifu 开放内测!第一版技术文档发布
云原生架构(04)-CNCF
MCS:连续随机变量——Chi-Square分布
Mysql入门学习(一)之语法
数学分析_笔记_第1章:集合与映射
[microservices | Nacos] Nacos realizes data isolation of multi environment and multi tenant
STM32 clock tree misconfiguration causes boot to enter hard interrupt









