Excalidraw has consistently been my tool of choice for designing data system diagrams. Despite being impressed by the elegance and quality of the diagrams it allows me to create, I've always grappled with issues related to sharing and version control.
Initially, sharing diagrams within the organization posed challenges for me. Finding a seamless way for others to update or modify them proved to be less straightforward than desired. Subsequently, version controlling my diagrams presented almost insurmountable obstacles. In most cases, I found myself having to save a file containing metadata that could then be utilized to reload an older version of the diagram.
Moreover, my diagrams suffered from a lack of consistency, a factor I consider crucial when generating various diagrams for presentation to users and colleagues. When I mention consistency, I refer to the ability to employ various diagram components—such as edges and nodes—uniformly.
Recently, I stumbled upon a Python package that enables the drawing of cloud system architecture in Python code without the need for external design tools. In essence, it provides Diagrams as Code, allowing the creation of diagrams programmatically while facilitating version control.
Keep reading with a 7-day free trial
Subscribe to Data Pipeline to keep reading this post and get 7 days of free access to the full post archives.