DynamoDB ER Diagrams and System Diagrams
As we continue to roll out new pieces of functionality for managing your cloud infrastructure, more and more “higher level” pieces of functionality are coming out in. One of the most popular NoSQL services out there is DynamoDB, but we have noticed that there is a major lack of tools to be able to visualize it. As we begin to expand our offering to more services, we are also going very deep with our popular services. We are not only having a fun time building out the Dynamo tooling, but we are also heavy users of Dynamo as developers, so these tools are helping us directly. Solving our pain points with cloud services continues to help others in developing feature rich computer programs. In the next few paragraphs, I will discuss our ER and System Diagrams and how they help to visualize the systems you build and maintain.
Commandeer is a tool built by developers for developers that solves three things in the cloud. First, we are focused on the deployment of your IAC. Secondly, we enable you to ‘Test your Plumbing’. Lastly, Commandeer provides you the ability to easily view your data. (Manage AWS, Algolia, Slack, Twilio, SendGrid, Serverless, LocalStack, Ansible, Docker and more from your desktop)
DynamoDB is a no sql style database, meaning it is just a bunch of json data. But that doesn’t mean that patterns in data do not emerge. Our plan is to build out a full blown ER mapping tool, letting you define relationships between tables, and also guarantee referential integrity. The first step of this is to just visualize the data.
Below you can see all the Dynamo tables with their columns in diagram form. As we continue to build this out, we will have auto inference between tables, as well as allowing you to explicitly define them, not only in Commandeer, but most importantly within your IAC code, whether it be Ansible, Terraform, or raw Terraform. Making the definitions in code is a vital aspect of this.
We are also working on visualizing the connections between the different services. For DynamoDB, this includes the tables connected to lambdas via Dynamo Streams, and then the CloudWatch Logs connected to the lambda. It also includes CloudWatch Alarms that are connected to the tables. As we continue to build this out, you will be able to drag and drop your own connections, and have it produce your IAC code automatically. But for now, just being able to see how your system interacts is huge!
DynamoDB is a very powerful tool, but visualizing it has been lacking. As we continue to build out our rich feature set, new and exciting ways to understand your system architecture and data continue to rollout.