当前位置:网站首页>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-agentdeployments:replicas: 1envs:DEBUG: "false"resources:cpu: ${request_cpu:1}max_cpu: 1max_mem: 1024mem: ${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.ymlEach 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 .
边栏推荐
- EDLines: A real-time line segment detector with a false detection control翻译
- XXL job User Guide
- POI导出excel,按照父子节点进行分级显示
- 岭回归和lasso回归
- 后台系统页面左边菜单按钮和右边内容的处理,后台系统页面出现双滚动
- JUC学习
- Subnet division (10)
- Huawei operator level router configuration example | BGP VPLS configuration example
- Keil5中如何做到 0 Error(s), 0 Warning(s).
- [reading notes] copywriting realization -- four golden steps for writing effective copywriting
猜你喜欢

Example of Huawei operator level router configuration | example of configuring optionc mode cross domain LDP VPLS

Huawei operator level router configuration example | BGP VPLS configuration example

Introduction and basic knowledge of machine learning

Basic concepts of database

Hal library setting STM32 interrupt

Redis高效点赞与取消功能
![[machine learning] vectorized computing -- a must on the way of machine learning](/img/3f/d672bb254f845ea705b3a0ca10ee19.png)
[machine learning] vectorized computing -- a must on the way of machine learning

# 使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的'心路(累)历程'

Let's just say I can use thousands of expression packs

排序链表(归并排序)
随机推荐
EtherCAT简介
岭回归和lasso回归
Ridge regression and lasso regression
Error accessing URL 404
C#实现图的深度优先遍历--非递归代码
Depth first traversal of C implementation Diagram -- non recursive code
MySQL knowledge points
Introduction and basic knowledge of machine learning
Druid monitoring statistics source
Let's just say I can use thousands of expression packs
Multithreaded printing
[applet project development -- JD mall] uni app commodity classification page (Part 2)
If a parent class defines a parameterless constructor, is it necessary to call super ()?
[applet project development -- Jingdong Mall] classified navigation area of uni app
Redis 教程
[exsi] transfer files between hosts
【EXSI】主机间传输文件
leetcode 1482 猜猜看啊,这道题目怎么二分?
Subnet division (10)
gcc使用、Makefile总结