NMSDK is a set of libraries which make consuming the ONTAP API (a.k.a. ZAPI) easier. You would need to create an application which accepts some form of input from the user, e.g. JSON, describing what is desired, then translate that into a request to the storage system's API...using NMSDK is one of the ways you can communicate with ONTAP. For example:
User sends a request to your app which says "I want 10GB of Gold storage"
Your app interprets Gold == AFF
It does whatever logic you implement to select where to provision the request (e.g. cluster 4 -> controller 3 -> aggr 12)
Using NMSDK, the API request is executed against the cluster to create the storage (and enable access...i.e. create an export policy + rules)
Return the info needed to connect to the requestor
About 95% of this is handled for you with something like NSLM.
Not sure what you mean by #2. Any computer which can talk to the storage on a management LIF can accomplish that.
If this post resolved your issue, please help others by selecting ACCEPT AS SOLUTION or adding a KUDO.