当前位置:网站首页>Ultimate dolls 2.0 | encapsulation of cloud native delivery
Ultimate dolls 2.0 | encapsulation of cloud native delivery
2022-07-01 03:24:00 【Erda technical team】
This article is about 3000 word , Estimated reading time :8 minute
I always like some metaphors , In this way, we can understand things more vividly .
Erda It's a PaaS platform , The underlying technologies have been used from marathon + mesos Switch to the current K8s, They are generally considered to be “ Container layer ”.Erda stay “ Container layer ” It's stacked again CI/CD Pipeline、 Cluster and deployment management 、 Application monitoring 、 Automated testing and so on , The embodiment of such layering is very similar to the layering of the network , Each layer performs its own functions , But I prefer to compare it to 「 programing language 」.
A high-level programming language has a grammar that is more in line with human understanding , It runs by compiling into assembly or machine code , Or compile it into a low-level language and then compile it again .
A similar ,Erda Through to “ Container layer ” Encapsulation , For our users, it presents “Erda idea ” Function design and use experience . And so called The most important thing about encapsulation is to reduce artificial “ error ”, It's like high-level languages through restricted and elegant syntax 、 Intelligent compilation tips and rich class libraries , Greatly reduce the mental burden of developers , You can easily write robust code . And the programming method above it 、 Best practices , Provide theoretical support for high-speed delivery .
Erda Your body bones are made of 「 application 」 For the center , hypothesis Erda Can only If there is one function left , That is the application “ deliver ”.
Delivery can be very simple , I call it “ Two steps ”:
Compile the code into an application installation package
Install the application in the environment required by the customer
The product is right docker Further abstraction of the image , similar docker-compose.yml, Covers multiple mirrors ( service ) General description of , And the dependencies between them Artifacts are statements of the application delivery environment ( structured 、 Software installation and deployment instructions that can be recognized by the system ), Not only declare the resource limit of each image service , You can also declare the required middleware ( such as mysql)


Manufactured Addons details
among rds and MySQL They can replace each other


dice.yml
:version: "2.0"
envs:
ETCDCTL_API: "3"
services:
:
cmd: /app/cluster-agent
deployments:
replicas: 1
envs:
DEBUG: "false"
resources:
cpu: ${request_cpu:1}
max_cpu: 1
max_mem: 1024
mem: ${request_mem:1024}
addons:
mysql:
plan: mysql:basic
dice.yml
, Can be found in open source code :dice.yml
On the service / Multi application integration “ Delivery environment ” Encapsulation ( The number of instances 、 environment variable 、 resource consumption 、 Middleware dependency ), We can say with confidence :“ Developers only need to care about what they need to know , The platform is responsible for others ”.Image list (docker images) dice.yml
Each service is declared ( The image list corresponds to ) Resources required for deployment , And the required middleware
dice.yml
The syntax specification and configuration of .dice.yml
Content , And it turns into “ Container layer ” The structure of cognition ( If it is K8s It is Deployment、Service、Ingress, as well as StatefulSet perhaps Operator), And then turn to “ Container layer ” Deploy . be familiar with K8s Will know , If you let users write these configurations manually , You need to understand a lot of knowledge that you don't know ( Most of them are related to operation and maintenance ), also It's easy to make mistakes .dice.yml
It seems to be a “ High level language ”, and K8s yml It is “ Low level language ”( We are referring to high-order and low-order , Not that “ Higher order ” It must be “ good ” and “ correct ” Of , But for the convenience of human cognition , It is easier to understand and prevent mistakes , And exactly “ The low order ” In performance 、 Flexibility 、 Control and correct logic are more advantageous ),Erda After a complicated “ compile ”, Will the user ( Let's say business R & D personnel ) Easier to understand configuration and declaration format or syntax , Into actual deployed workloads (Workload) And endogenous or external services (Addons).
———
Erda Github Address : https://github.com/erda-project/erda Erda Cloud Official website : https://www.erda.cloud/

This article is from WeChat official account. - Erda Erda(gh_0f507c84dfb0).
If there is any infringement , Please contact the [email protected] Delete .
Participation of this paper “OSC Source creation plan ”, You are welcome to join us , share .
边栏推荐
- Subnet division (10)
- 数据交换 JSON
- [machine learning] vectorized computing -- a must on the way of machine learning
- The best learning method in the world: Feynman learning method
- Leetcode 1482 guess, how about this question?
- Include() of array
- # 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的'心路(累)历程'
- VMware vSphere 6.7虚拟化云管理之12、VCSA6.7更新vCenter Server许可
- 力扣-两数之和
- 手把手带你了解一块电路板,从设计到制作(干货)
猜你喜欢
MySQL index --01--- design principle of index
POI exports excel and displays hierarchically according to parent-child nodes
[machine learning] vectorized computing -- a must on the way of machine learning
不用加减乘除实现加法
倍福TwinCAT3 Ads相关错误详细列表
HTB-Lame
8 pits of redis distributed lock
Keil5中如何做到 0 Error(s), 0 Warning(s).
过滤器 Filter
Druid monitoring statistics source
随机推荐
串口接收数据方案设计
HTB-Lame
[us match preparation] complete introduction to word editing formula
About the application of MySQL
第03章_用戶與權限管理
File upload and download
How to determine the progress bar loaded in the loading interface when opening the game
Include() of array
Druid monitoring statistics source
监听器 Listener
后台系统页面左边菜单按钮和右边内容的处理,后台系统页面出现双滚动
[small program project development -- Jingdong Mall] the home page commodity floor of uni app
Detailed list of errors related to twincat3 ads of Beifu
Introduction and installation of Solr
Huawei operator level router configuration example | BGP VPLS and LDP VPLS interworking example
[linear DP] shortest editing distance
MySQL index --01--- design principle of index
JUC学习
[applet project development -- Jingdong Mall] user defined search component of uni app (Part 1)
文件上传下载