当前位置:网站首页>Improve the delivery efficiency of enterprise products (1) -- one click installation and upgrade of enterprise applications
Improve the delivery efficiency of enterprise products (1) -- one click installation and upgrade of enterprise applications
2022-07-07 08:18:00 【Rainbond】
Automated delivery through application models
Enterprise application refers to supporting enterprises 、 Software system for various business operations of institutions or government agencies . In addition to supporting collaborative work within the organization , Enterprise applications also support enterprises and their suppliers 、 Collaboration and coordination between business partners and users .
The complexity of each enterprise application is different , But it can often be subdivided into multiple components that cooperate with each other . Take a lightweight system as an example , It should also be divided into business system and database at least . Large systems may contain dozens of components , Several components can also form modules . Some configurations need to be defined between these components or modules , To realize the correlation and dependence between each other . Such a complex scene , It's really hard to do ToB Implementation and delivery personnel of software manufacturers .
Implementation, deployment and upgrading of enterprise applications in traditional mode , Its difficulty 、 The cost is directly proportional to the complexity of enterprise applications . This is because in the traditional mode , The implementation and delivery personnel are more manual , Manually deploy service components 、 Edit profile . Processes that cannot be automated are inefficient and error prone , The number and complexity of enterprise application components will add up these common problems .
Enterprise application delivery in the cloud native era relies on various container delivery platforms , By playing containerization 、 Advantages of platform , Solved environmental consistency 、 Automatic operation and maintenance 、 Problems such as fault self-healing . In the scenario of simplifying application delivery and upgrade , The ability of the selected platform is very important .
Rainbond It is an open source cloud native multi cloud application management platform , Both of them Kubernetes Cluster automation management capability , And one click installation and upgrade capability of enterprise applications .Rainbond Application Model(RAM) Is based on Rainbond An application model is proposed , Through the modeling and abstraction of enterprise applications , collocation Rainbond The application market mechanism of the platform , Finally, the one click installation is realized / upgrade . Highly automated delivery experience , Improve the efficiency of enterprise application delivery , Lower delivery costs .
RAM Model abstraction , It includes all service components contained in enterprise applications and the relationship between components . This high-level abstraction does not matter how many service components are contained within the enterprise application , It doesn't matter whether the relationship between components is complex . Application template (RAM The specific implementation of the model in the field of application market ) Can be published to Rainbond Unique application market , The released application template can be regarded as the installation package of enterprise applications , No matter how complex the original architecture is 、 Number of internal components , Can complete one click installation and upgrade .
In order to adapt to the broader delivery field ,RAM The model is trying to Open Application Model(OAM) evolution .OAM It is a new application model proposed by the industry , It is designed to be able to , Deliver more robust enterprise applications in complex environments .
Use Rainbond One click installation of enterprise applications
Rainbond The application template is the concrete implementation of the application model , It is the carrier of one click installation of enterprise applications , How to make an application template can refer to the following tutorial .
Making application template tutorial
When the application template is made , Release to the application market , You can use the application template to install , The one click installation process can perfectly reproduce the enterprise application from the development environment to the delivery environment . Features of components 、 Mirror image 、 plug-in unit 、 The dependencies remain the same .
In practical terms , Click Install template on the right side of the application , Selected team 、 colony 、 application 、 Version and other necessary information , Confirm to start installing the target enterprise application .
Rainbond It can support various customer environments , Whether it's a server or a virtual machine , Is it online or offline ,X86 It's still made in China CPU Can support , As long as the customer environment can install Rainbond, You can use the application template to install .
Make an application template that can be installed with one click
The enterprise application carried by the application template , With the help of one click installation capability, it can be delivered and deployed quickly . However, whether the delivered enterprise application can automatically enter the available state after installation , It has a great relationship with the production process of application template . Next , Let's introduce , An application template that can be installed with one click , What kind of “ self-improvement ”.
Environment variables define connection information
Accessible address , Is the key to the interrelated calls between components . Usually , The accessible address will be in IP:Port
Or domain name . However IP Changes , It is inevitable in the delivery scenario , This seriously affects the ability of one click installation to be available . So don't write the connection address as a fixed value , Instead, it is designed into a form that can be dynamically picked up and configured through environment variables .Rainbond The platform provides very powerful connection information injection function , Specifically used to handle access addresses between components .
Data is automatically initialized
Persistent data for enterprise applications , It should be separated from the program file . All data that needs to be persisted , Should have a separate directory , These directories before the container starts , Can be null . If there are multiple directories that need to be persisted , They should preferably have the same parent directory . All database middleware 、 Business persistent data needs to support automatic initialization . There are many ways to initialize data , Developers can choose according to the actual situation :
- Business code management data version ( recommend )
Developers add logic inside enterprise applications , Complete the initialization of the database structure . This is a very general method , When the enterprise application starts, it automatically detects whether there is a specified table structure in the database that can be connected , If it does not exist, perform an initialization . The reason why this method is more respected is that developers can also use this method to upgrade the database table structure . Reference resources The source code construction realizes the free upgrade of database table structure You can learn about a method based on Liquibase combination Rainbond Database version solution with source code construction ability .
- The ability provided by the official image
For all kinds of common database middleware in the market , Its official images have the ability of automatic data initialization . Including but not limited to Mysql、Mongo、Postgresql And other common databases .
- Make initialization plug-ins for unstructured data
For more general scenarios , The platform supports data initialization for the specified persistent directory of service components with plug-in mechanism , This method uses external object storage to keep the data that needs to be initialized . How to use the plug-in , Reference resources Universal data initialization plug-in Understand this best practice .
Reasonable decoupling scheme
In order to achieve the goal of one click installation of enterprise applications , It is necessary to divide different modules that can be decoupled , Apply the template in the way of . Application template corresponding to each module , Should be able to be installed and run independently . The delivery implementation personnel shall meet the business needs of the end customer , Deploy multiple application modules with one click on demand , And assemble it under the graphical interface , That is to complete the overall delivery of enterprise applications . For enterprise application developers , Reasonable decoupling scheme , It can achieve the effect of modular reuse , Reduce the repetitive workload of developers .
Deeply understand how to divide modules reasonably : Use Rainbond Package business modules , Realize business building block assembly
Use Rainbond One click upgrade of enterprise applications
from RAM The implemented application template has version control mechanism , This means that you can quickly upgrade and rollback between different versions of the same application template .
For developers , Make the required changes on the source application side , Whether it's built after code changes , Or add other components , Will be superimposed on the new version of the application template in the next application template release process . Developers must pay attention to the version number defined at the time of release ,Rainbond Use it to determine whether to upgrade .
For delivery personnel , You only need to import different versions of application templates into the delivery environment ,Rainbond It will automatically identify different versions of the same application template , And perform one click upgrade operation .
And when it has been delivered , In the running application page , Small A Found the entrance to the upgrade .Rainbond Recognized the latest version , The upgrade operation is also triggered by one click , Very easy to use .
Implementation principle of one click installation and one click upgrade
be based on RAM Why can the application template implemented by the model install complex applications with one click ? First, you need to understand the internal structure of the application template .
The application template consists of two parts : Application metadata 、 Container image compressed package .
Application metadata
Application metadata is responsible for describing the characteristics of the application and its internal components . let me put it another way , Applying metadata is right RAM Description of the model . These metadata will be saved in Rainbond In the database ,Rainbond By picking up these metadata , Understand what kind of application you need to install . The main contents of these metadata are as follows :
attribute | Level |
---|---|
apply name | application |
Application version | application |
Dependencies between components | application |
Gateway policy | Components |
Component name | Components |
Component image | Components |
Component environment variables | Components |
Component plug-in configuration | Components |
Component storage | Components |
Component port configuration | Components |
Component deployment method | Components |
Component health check strategy | Components |
Container mirror
The source of the business container image , Once the template is imported , The container image will be loaded into Rainbond The referenced container is mirrored in the warehouse . When starting each component ,Rainbond The corresponding image will be pulled according to the image address recorded in the metadata .
After parsing the application metadata, insert , And the import of container image , Delivery personnel can install enterprise applications in the customer environment with one click .
After the one click installation of enterprise application is completed ,Rainbond It can be guaranteed to run . If you want to go further , Ensure that the business logic inside the enterprise application can also work normally , You need to pay more attention to automation improvement in the production process of application template .
upgrade
The principle of one click upgrade is similar to that of one click installation , The one click upgrade process actually changes the version of application metadata and container image respectively .
The upgrade of container image is easy to handle , Just reference different tag that will do . For all components in the upgradeable application , The following metadata changes will be overwritten during the upgrade process .
attribute | Level | The rules |
---|---|---|
Components | application | newly added , to update |
plug-in unit | application | newly added |
Configuration group | application | newly added |
Mirror image | Components | to update |
Start command | Components | to update |
environment variable | Components | newly added |
Component connection information | Components | newly added |
port | Components | newly added , to update |
Storage | Components | newly added |
The configuration file | Components | newly added , to update |
Health detection probe | Components | newly added , to update , Delete |
Monitoring charts | Components | newly added , to update |
Monitoring point | Components | newly added , to update |
plug-in unit | Components | newly added |
Component dependencies | Components | newly added , Delete |
Storage dependencies | Components | newly added , Delete |
It is worth noting that , Upgrade based on application template , Only the upgrade of the application is included . In the real world , Often involves changes to persistent data . One of the most common situations , It is the table structure of the database used by enterprise applications , It needs to change with the upgrade of the application . What I've mentioned before The source code construction realizes the free upgrade of database table structure programme , You can handle the version control of this table structure .
Enterprise application management and operation and maintenance
The installation and upgrade of enterprise applications are one-time , And management and operation and maintenance are long-term and continuous .
When the enterprise application is delivered to the customer environment , Operation and maintenance personnel need the ability to control and manage the operation environment . modern IT Infrastructure is very complex , The operation and maintenance personnel want to work on the physical machine 、 It is not easy to coordinate different environments such as virtual machines , Want to be in the public cloud 、 The ease between private cloud and even hybrid cloud poses a challenge to its technical capability . If you can have an easy-to-use platform to smooth out the differences between different infrastructures , That will greatly simplify the management of operation and maintenance personnel .
understand Cloud native application management , Like managing mobile phones APP Manage enterprise applications as well .
summary
This paper focuses on the implementation process of enterprise application automation installation and upgrade , This process is very suitable for the standardized delivery of enterprise products without function customization , Docking development environment can realize the continuous delivery of customers , Improve 10 More than times the delivery efficiency . However , Standardized delivery can only account for a minority in the process of enterprise product delivery , How to provide delivery efficiency for personalized delivery scenarios that require customized functions ? We will cover in detail in the next article .
边栏推荐
- Famine cloud service management script
- The legend about reading the configuration file under SRC
- The largest 3 same digits in the string of leetcode simple question
- Search for an element in a binary search tree (BST)
- [quick start of Digital IC Verification] 14. Basic syntax of SystemVerilog learning 1 (array, queue, structure, enumeration, string... Including practical exercises)
- Call pytorch API to complete linear regression
- Understanding of out covariance, in inversion and invariance in kotlin
- 复杂网络建模(二)
- Complex network modeling (III)
- Analyzing the influence of robot science and technology development concept on Social Research
猜你喜欢
Uniapp mobile terminal forced update function
使用SwinUnet训练自己的数据集
互动送书-《Oracle DBA工作笔记》签名版
在Rainbond中实现数据库结构自动化升级
The simple problem of leetcode is to judge whether the number count of a number is equal to the value of the number
通俗易懂单点登录SSO
eBPF Cilium实战(1) - 基于团队的网络隔离
Wang Zijian: is the NFT of Tencent magic core worth buying?
Unityhub cracking & unity cracking
opencv学习笔记四——膨胀/腐蚀/开运算/闭运算
随机推荐
Infix keyword infix expression and the use of generic extension function in kotlin
ZCMU--1396: 队列问题(2)
ROS bridge notes (05) - Carla_ ackermann_ Control function package (convert Ackermann messages into carlaegovehiclecontrol messages)
Famine cloud service management script
[quick start of Digital IC Verification] 13. SystemVerilog interface and program learning
Network learning (III) -- highly concurrent socket programming (epoll)
[quick start of Digital IC Verification] 14. Basic syntax of SystemVerilog learning 1 (array, queue, structure, enumeration, string... Including practical exercises)
在 Rainbond 中一键安装高可用 Nacos 集群
Domain specific language / DSL in kotlin
BiSeNet的特点
JS cross browser parsing XML application
The largest 3 same digits in the string of leetcode simple question
Register of assembly language by Wang Shuang
Blob object introduction
Openjudge noi 2.1 1752: chicken and rabbit in the same cage
Complex network modeling (II)
uniapp 移动端强制更新功能
The truth of robot education in hands-on practice
【雅思口语】安娜口语学习记录 Part2
Network learning (II) -- Introduction to socket