Architecture Drawing tool

I am trying to build an application similiar this one:

I am wondering if :

1: should I use a canvas view, my concerns with this are:
- will canvas be performant

  • canvas limitations: being able to treat each drawing on the canvas independently

2: Can I just create a view for each architecture component, this way I get all the features of views
- my concern with this is again performance, each architecture diagram can have hundreds of components, will this affect the UX