diagrams:让您可以用 Python 代码绘制云系统架构

liftword4周前 (12-12)技术文章19


diagrams即代码

diagrams让您可以用 Python 代码绘制云系统架构。它的诞生是为了在没有任何设计工具的情况下对新的系统架构设计进行原型设计。您还可以描述或可视化现有的系统架构。目前, Diagrams支持的主要提供商包括:AWS、Azure、GCP、Kubernetes、等...它还支持节点、以及主要框架和语言。Alibaba CloudOracle CloudOn-PremiseSaaSProgramming

图即代码还允许您跟踪任何版本控制系统中的架构图更改。

注意:它不控制任何实际的云资源,也不生成云形成或地形代码。仅用于绘制云系统架构图。

入门

它需要Python 3.6或更高版本,请先检查您的 Python 版本。

它使用Graphviz来渲染图表,因此需要安装 Graphviz才能使用diagrams。安装 graphviz (或已经安装)后,安装diagrams。

brew install graphviz如果您使用的是Homebrew,macOS 用户可以通过下载 Graphviz 。

# using pip (pip3)
$ pip install diagrams

# using pipenv
$ pipenv install diagrams

# using poetry
$ poetry add diagrams

您可以从快速启动开始。查看指南了解更多详细信息,您可以在此处找到所有可用节点列表。

例子

事件处理

有状态架构

高级网络服务

您可以在示例页面上找到所有示例。

贡献

要为图表做出贡献,请查看贡献指南。

如果您使用图表,请告诉我!我会将您添加到展示页面。(我在做这个工作!) :)

谁使用它?

GitPitch是适合技术会议、培训、开发者倡导者和教育工作者的完美幻灯片解决方案。图表现在作为专用的云图 Markdown 小部件提供,因此您可以直接在任何幻灯片上使用图表进行会议、聚会和培训。

Cloudiscovery可帮助您分析云(AWS/GCP/Azure/阿里巴巴/IBM)帐户中的资源。它允许您基于此图库创建分析的云资源图的图表,以便您可以使用 Cloudiscovery 绘制现有的云基础设施。

Airflow Charts是一个 Airflow 插件,旨在通过图表轻松可视化来自 AWS、GCP、Azure 等提供商的服务级别的 Airflow DAG。

其他语言

  • 如果您熟悉 Go,也可以使用go-diagrams。

项目地址:

https://github.com/mingrammer/diagrams

相关文章

Python+PyQt架构:如何调用多个设计师窗口界面文件示例

引言Qt是C++语言下广泛使用的一种跨平台的程序界面设计库,而PyQt是其在Python语言下的绑定,这为在Python语言下编写GUI界面程序提供了极大的便利。对于界面程序的设计,可以使用代码构建,...

做好架构师,要懂微服务,汇总微服务架构落地的15种框架

这两年,微服务这个概念火了,火到什么程度呢?2016年有一个统计说,两千家企业里,30%在使用微服务,15%在实验开发和测试微服务架构,24%在学习微服务准备转型,只有剩下的30%的企业没有使用微服务...

产品经理要理解的架构图(结构图)

产品经理在工作过程中会遇到各种结构图(结构图),这些名词很容易混淆。一般情况下,3-5年经验,善于总结归纳的产品经理才能逐步理解这些概念的含义,并且相对灵活的运用到工作中。下面针对这些概念来系统地梳理...

超级实用 Python GUI 入门

有时候使用 python 做自动化运维操作,开发一个简单的应用程序非常方便。程序写好,每次都要通过命令行运行 python 程序,就不是那么人性化了。为了更方便的操作,使用 Python GUI 编写...

从零开始搭建一个Python Flask项目

Flask是一个轻量级的Web框架,以其简单的功能,深受众多开发者的喜爱,其核心功能非常简单,但可以通过扩展支持复杂的Web应用开发,下面我们就来演示一下如何从零开始搭建一个Flask项目。环境准备在...

Python中threading线程模块

一个进程就是一个正在执行的程序,每一个进程都有自己独立的一块内存空间、一组系统资源。在进程的概念中,每一个进程的内部数据和状态都是完全独立的。在一个进程中可以包含多个线程,多个线程共享一块内存空间和一...