How to use the drawing tool

This article explains how to use the drawing tool for solving system design problems.

Manipulating Objects

An object is an element that can be placed in the drawing area, such as a VM instance, a load balancer, or other components of the system, or text.

Finding

To find an object you want to place, check the list in the appropriate category or enter the relevant keyword in the search bar.

Placement

You can place an object anywhere by dragging and dropping the icon displayed in the sidebar to the drawing area on the right. Clicking the icon will also place the object in the center of the drawing area.

Moving

You can move an object to any location by dragging it while it is selected or by operating the arrow keys.

Delete

You can delete an object by pressing the Delete key or clicking the Delete icon in the advanced settings.

Adjusting the size of a network

Networks such as VPCs and subnets can be adjusted in size by dragging the small squares that appear around them when selected.

shape-network

Change settings

  • When an object is selected, a popup with detailed settings appears in the upper right corner of the drawing area.
  • Each object has a default name based on its type (e.g., VM instance, SQL, etc.), but you can change the name to something more descriptive of the system that meets your assignment requirements.
  • In addition to the name, there are also objects that have unique configuration items. For example, in the case of VM instances, scaling can be expressed by turning on auto scale.

List of object-specific setting items

Object
Item
Description
VM instance
Auto Scale
Setting auto scale to ON will automatically increase or decrease the number of instances depending on the server load.
 
SQL
Replication
Replication can be enabled to represent database replication. Select either the master DB for the synchronization source, which is always processed, or the slave DB for the synchronization destination by using the selector.
Sharding
Sharding can be enabled to express database partitioning.

Arrow Manipulation

Data flow such as request and response can be expressed by connecting objects with arrows.

Connecting with other objects

  • Drag the small circle displayed when selecting an object to extend the arrow.
  • When the cursor is moved over an object that can be connected, the area around the object will turn blue, and when dropped, the objects will be connected to each other.

Reconnecting Arrows Once Connected

Click on the small circles that appear at the start and end points of the selected arrow, then click again on the other object to change the arrow's connection point.

Making Arrows Bidirectional

Arrows are oriented graphs and initially have a start point and an end point, but you can change the direction of the arrow to bi-directional by using the Advanced selector.

Text Manipulation

  • Text, like other objects, can be placed in the drawing area from the sidebar.
  • Double-clicking on a placed text will bring up the text area where the text can be freely edited.
  • Clicking anywhere other than the text area saves the edited content.

Drawing Area Operations

Zoom in and out

The entire area can be enlarged or reduced by pressing the +- buttons displayed in the lower right corner of the drawing area. The same operation can be performed with the cmd + wheel operation for the mouse, or the pinch-in pinch-out gesture for the trackpad.

 

Moving the display area

The display area can be moved freely. The entire display area moves with the cursor when the center button is pressed on a mouse or two fingers are touched on a trackpad

Minimap

A minimap is displayed in the lower right corner of the drawing area. If you do not wish to display the minimap, you can retract it by pressing the X button.

Shortcut List

 
Feature
Shortcut
Undo
cmd+Z
Redo
cmd+shift+Z
Select multiple
click and drag over multiple objects, or shift+click
Select all
cmd+A
Copy
cmd+C
Cut
cmd+X
Paste
cmd+V
Zoom in/out
cmd+mouse wheel (pinch in/out on trackpad)
Move area shown
click center button and drag (two-finger drag on the track pad)
Move object (small)
arrow key
Move objects (large)
shift+arrow key

*In WindowOS, use the ctrl key instead of the cmd key.

This concludes the explanation of the drawing tool operations.