4

Troubled DevOps Toolchain

In addition to creative design and coding work, developers often need to free up their energy to deal with many deterministic and repetitive tasks, and the management of the DevOps tool chain is one of them.

In all aspects of the software development life cycle, tool selection, connection, implementation, and maintenance are not easy tasks.

One-stop DevOps platform

Therefore, many cloud vendors have launched a one-stop DevOps platform, using a large and comprehensive solution to save the resources invested by the R&D team in DevOps tool chain management affairs. The one-stop platform does bring convenience, but it should be noted that this convenience is based on the surrender of some freedom of choice. From a global perspective, limited options sometimes impair R&D effectiveness.

As software engineering becomes more complex, microservices architecture is widely adopted. The service is divided into microservices and is independently responsible by a team. Each service can flexibly choose its architecture. The programming language between services may be different, and the deployment methods and characteristics may also be different.

At this time, it is difficult for a one-stop DevOps platform to meet the flexibility needs of each team under the microservice architecture.

Open Source DevOps Toolchain

A DevOps tool chain that is more in line with the concept of microservices should allow each service team to flexibly choose the tools that can best improve their efficiency based on business needs and developer preferences; Integrate or replace existing tools with existing tool chains without being tied to existing vendors.

However, to build a complete tool chain, put it into application and continue to maintain it, the premise is to understand the "best practices" of each link. This requires not only sufficient human support, but also very experienced engineers.

A third option?

We not only want the flexibility of an open source DevOps tool chain, and give developers full freedom of tool choice; we also want the ease and convenience of a one-stop DevOps PaaS service, which can be implemented efficiently without the team investing too much manpower and material resources in research.

The recently released version 0.1.0 of DevStream is to solve this problem: to solve the difficulties in the implementation of open source DevOps tools, to solve the pain points of opening up open source DevOps tool chains, to liberate the productivity of the R&D team, and to make everyone less likely to step on DevOps tools. Free up more energy on your own business logic.

What does DevStream v0.1.0 currently do?

DevStream is an open source tool that addresses DevOps toolchain management. Use a simple configuration file to manage mainstream open source tools in all aspects of the DevOps life cycle, including rapid installation and deployment of these tools, best practice configuration, and connection between tools. The current v0.1.0 can do

  1. Defect, Requirements Management - Trello (Integrated with GitHub)
  2. Source Code Management - Golang Scaffolding Generation
  3. CI Process - Golang, Python, Nodejs
  4. CD/GitOps - ArgoCD / ArgoCD App
  5. Monitoring - kube-prometheus

Demo video: https://www.bilibili.com/video/BV1wq4y147T1/

Future plans for DevStream

The vision of DevStream is to realize "DevOps toolchain as code", at which time the entire DevOps toolchain will be operated and maintained with DevStream as the only entry point, and dtm (DevStream command line tool) will become the "single source of truth" of the DevOps toolchain. When a developer needs to replace a link in the toolchain, it can be done with a few lines of code.

DevStream has partially implemented "single source of truth", and some changes in deployed tools can be sensed by dtm, and dtm will judge whether the change is reasonable and whether it needs to be repaired, and then take corresponding actions to make the entire DevOps tool chain becomes more reliable.

How to get started

The development of DevStream is inseparable from the support of community users. DevStream welcomes everyone to participate in community construction, improve the functions of dtm together, and make dtm more and more powerful!

You can find merico-dev/stream project on GitHub. There is a more detailed introduction in the README. You are welcome to download, experience, catch bugs, raise issues, thorns, bugfixes, etc.

If you have any suggestions or questions, you can join the Discord or click merico-dev/stream->Readme->DevStream user WeChat group to communicate with DevStream developers.


snakesss
1.1k 声望243 粉丝

SegmentFault 思否编辑,欢迎投稿优质技术资讯!