当前位置:网站首页>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 .
边栏推荐
猜你喜欢

The 'mental (tiring) process' of building kubernetes/kubesphere environment with kubekey

Cloud native annual technology inventory is released! Ride the wind and waves at the right time

File upload and download

限流组件设计实战

Huawei operator level router configuration example | BGP VPLS and LDP VPLS interworking example

JUC学习

Best used trust automation script (shell)

XXL job User Guide

xxl-job使用指南

咱就是说 随便整几千个表情包为我所用一下
随机推荐
MySQL knowledge points
Druid监控统计数据源
【读书笔记】《文案变现》——写出有效文案的四个黄金步骤
gcc使用、Makefile总结
EtherCAT简介
How the network is connected: Chapter 2 (Part 2) packet receiving and sending operations between IP and Ethernet
Huawei operator level router configuration example | BGP VPLS and LDP VPLS interworking example
ctfshow爆破wp
最新接口自动化面试题
md5sum操作
multiple linear regression
[reading notes] copywriting realization -- four golden steps for writing effective copywriting
Hal library operation STM32 serial port
Introduction and installation of Solr
Cookie&Session
安装VCenter6.7【VCSA6.7(vCenter Server Appliance 6.7) 】
[linear DP] longest common subsequence
Leetcode 1482 guess, how about this question?
VMware vSphere 6.7虚拟化云管理之12、VCSA6.7更新vCenter Server许可
C # realize solving the shortest path of unauthorized graph based on breadth first BFS -- complete program display