Weihong Technology’s microservice architecture practice based on KubeSphere

Author: Yin Min, KubeSphere Ambassador, contributor, and webmaster of KubeSphere Community User Committee Hangzhou Station.

Company Profile

Hangzhou Weihong Technology Co., Ltd. was established in 2012 and focuses on business process management and automation (BPM&BPA) software research and development and solution provider. The founding team graduated from well-known universities at home and abroad such as Zhejiang University, Tsinghua University, Rice University in the United States, and the University of Texas. They have served in world-renowned software companies and Fortune 500 companies.

Microvast has provided full life cycle process software products and solutions from process planning and design, process operation, process automation, process integration, and process mining to more than 1,000 domestic and foreign large and medium-sized enterprises and governments. Its customers are located in manufacturing, finance , electrical and electronics, medicine, service industry, high-tech and government and other more than ten industries.

Weihong Technology is a national high-tech enterprise and a specialized enterprise in Zhejiang Province. It has passed ISO9001 quality management system certification, CMMI certification, and ISO27001 information security management system certification. Won the CCID "2021 Best Product in the Intelligent BPM Field" Award, the "2021-2022 Excellent Product in the Business Process Management & Automation Field" Award, China Software Network's "2021 Intelligent Process Platform Excellent Product Award", and the "2022 Yinglong Cup Best Best BPA Business Process Automation Product Award, "2022 Digital Government Construction Leading Enterprise" Award, and has been listed on the Zhejiang Province Software Association's "Zhejiang Province Software Core Competitiveness Enterprises (Growth Type)" list for 2 consecutive years.

Background introduction

The company built a Kubernetes cluster on a physical server in its own IDC computer room and used Kuboard as a cluster management tool. The R&D environment uses these cluster resources for development and testing. The CI/CD pipeline implements code compilation, image building and other steps through Jenkins, which is also deployed on the physical server, and finally releases the service manually.

There are some problems in this model: lack of unified service orchestration and management, lack of linkage between clusters and services, insufficient automation of CI/CD processes, manual operations required for deployment and release, scattered log and monitoring data, lack of unified visualization platform, etc. This traditional R&D model has been unable to adapt to the needs of enterprises for agile development and automated delivery. It is necessary to further integrate cloud native technology to realize the intelligence of infrastructure and end-to-end automation of R&D processes.

Platform selection

As a DevOps operation and maintenance team, we need to provide a self-service comprehensive operation and maintenance platform. When selecting an open source platform, the company considered the following two points and finally chose KubeSphere:

  1. KubeSphere shields the complexity of Kubernetes, simplifies cluster management through GUI, and reduces learning costs.
  2. KubeSphere integrates and expands a variety of excellent open source projects, such as Prometheus, Jenkins, etc., providing a unified entrance and realizing full-stack DevOps capabilities.

Compared with other platforms, KubeSphere better avoids the complexity of Kubernetes itself and reduces the workload of integrating various open source tools. This allows us to focus more on operation and maintenance automation and self-service platform construction, without the need to separately manage the underlying infrastructure and services. Therefore KubeSphere became our best choice to meet the company's needs.

Practice process

Hardware resources

R&D environment: 40 virtual machines in IDC computer room, self-built K8s+KubeSphere cluster. Production environment: Alibaba Cloud ACK cluster 12 nodes.

Storage plan

Use JuiceFS as the distributed file layer and MinIO as the object storage access layer.

  • JuiceFS: Provides distributed high-performance file storage. Use approximately atomic open source storage engines such as LevelDB.
  • MinIO: Open source object storage is compatible with AWS S3 API and serves as the JuiceFS object storage interface.

Advantages of integrated solutions:

  • Simple and easy to use, providing S3-like object storage API.
  • High performance and elasticity, achieved through JuiceFS.
  • Low cost, you can use cheap cloud disks or NAS as back-end storage.

DevOps continuous integration deployment

The company's previous CI/CD in the R&D environment mainly relied on single-node Jenkins, which had many problems:

  • Developers frequently update code and switch between multiple environments, resulting in frequent build and deployment errors.
  • Jenkins has limited resources and low build efficiency.

To solve these problems, we switched to the KubeSphere platform and used its integrated DevOps capabilities to improve the CI/CD process:

  • KubeSphere provides visual pipeline orchestration, simplifying the construction of complex processes.
  • Based on the elastic resources of Kubernetes, Jenkins executor can be dynamically expanded to improve build efficiency.
  • Standardization and best practices reduce environment configuration errors and improve deployment stability.

Through KubeSphere's DevOps solution, we have improved the CI/CD process and improved the efficiency and quality of the R&D environment.

Logging and monitoring

The company uses its self-built ELK stack to collect log data, uses Prometheus built into the KubeSphere platform as a monitoring solution, and then uses Grafana to visually display the monitoring data.

Effect

CI/CD

The company uses the DevOps capabilities of the KubeSphere platform to better meet the needs of large-scale concurrent build pipelines.

app Store

In the process of exploring cloud native, the company found that using Helm can standardize application release. KubeSphere is inherently equipped with an application store function, which visualizes Helm's capabilities and greatly reduces developers' learning costs.

future plan

At present, we have completed the full containerization of our business and migrated to cloud-native architecture based on the capabilities of the KubeSphere platform. KubeSphere provides us with GUI-based Kubernetes cluster management, CI/CD pipeline, service grid governance and other functions, simplifying the application of cloud native technology.

With the help of the platform, our R&D and operation and maintenance efficiency has been significantly improved. We believe that using KubeSphere's cloud native platform will provide a solid foundation for the company's next business growth. We will continue to expand business scenarios, enrich platform functions, and explore new architectures such as multi-cloud and edge computing based on KubeSphere to bring customers a better product experience.

This article is published by OpenWrite, a blog that publishes multiple articles !

The author of the open source framework NanUI switched to selling steel, and the project was suspended. The first free list in the Apple App Store is the pornographic software TypeScript. It has just become popular, why do the big guys start to abandon it? TIOBE October list: Java has the biggest decline, C# is approaching Java Rust 1.73.0 Released A man was encouraged by his AI girlfriend to assassinate the Queen of England and was sentenced to nine years in prison Qt 6.6 officially released Reuters: RISC-V technology becomes the key to the Sino-US technology war New battlefield RISC-V: Not controlled by any single company or country, Lenovo plans to launch Android PC
{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/u/4197945/blog/10116903