I'll chime in as well, even though Rick and Michael provided the same answer I will, with a slight twist. I'll sum it up in two different ways:
- It depends on how badly you want to 'roll your own'
- It depends on how much you want to use "certified/supported" automated processes.
So... for the first one, this is where you'd basically do everything via Chef. Making your own front-end, how it should look/feel to your customers, as well as any Storage or end-to-end manageability processes you want to code in... code in every single line of automation, validation, error collection, and so on.
- You own everything... down to the last nut and bolt. This is not saying NetApp will not deal with a direct ONTAP issue, but the inputs, timing, validation and error correction from the UI initiating against ONTAP will definitely be suspect.
For the second method, you could simply use Chef for your front end and identify the WFA workfows to call via REST.... and in this way, use WFA as your engine to initiate your storage... or your end-to-end automation tasks. There are limitless ways to identify what WFA does or does not do... that choice is totally up to you.
- you don't own everything.
- you create your own look/feel and call an engine for automation
- ensure your processes follow the same validations & error corrections
- leverage certified/supported content available within the 'engine' (i.e. able to get support)
- ability to pull in data / information to facilitate intelligent automation
- ability to automate beyond storage if necessary
- dependency on a vendor product for your automation
- some of the certified content might not meet your needs... so you need to create your own (community supported) content.
So... While I am heavily weighted toward using WFA as an engine (which I do today... with a different front-end), the choice is totally up to you. There are many advantages to utilizing the WFA database and it's "cache" of information it can pull from a variety of datasources. That said, I've worked with several customers that identify reasons they "can't" use WFA, and decide to roll their own... typically with a variety of python scripts and leveraging the NMSDK.
Just trying to provide a different context. WFA is very, very useful, and should meet your needs... but if you decide to 'roll your own', then you have that option as well.
Good luck in your decision!