Tuesday, October 3, 2017

How to use WFA as a self service portal

If you ever thought about using WFA as a self-service portal, I'm sure you have bumped into a few challenges on how to make it user friendly.

If you want to design a good a userinput form, the absolute number 1 rule is "KISS" (keep it short and stupid).  So if you are going to present an operator or end-user with a short and simple input form, how can it kick off a long and complex workflow ?  If you want to omit all the technical information and decisions from the operator, how can WFA know what resources to pick ?


Trust me, I've been there and it took me 3 years to find a good balance and a somehow generic solution to solve this problem.  So bottom line.  I would like to turn something like this :

which is too technical for the operator, into to this :

Which is waaay more appropriate for an operator.  These are the things he understands.


Another important aspect is scalability, your customers environment is most likely dynamic.
A workflow can be seen from different contexts.  Locations, environments.  What is a good setting for 1 environment, is not always the setting you want for another environment.  So how do you deal with the parameters and constants that drive your workflow.  I'm talking about the things you take for granted in your workflow like :

- snap reserve
- enable dedup
- snapshot labels
- schedules
- naming conventions

What if your customer wants a different snap reserve setting for production and acceptance.  Will you duplicate your workflows ?  Will you build in if-then-else logic to capture this requirement ?

What if you could change your constants into this :

A little explanation :

- ges : Get Environment Setting
- ggs : Get Global Setting

By having this functionality your workflow works for every combination of location, environment, ...


This datamodel allows you to :

- define locations & enviroments within a company context
- define services, settings, ... for each combination of environment & location
- each service can be bound to nodes in your clusters (for example : vmware in production on location x can run on node 3 & 4 from cluster Y)
- define a range of ip's per vlan and then automatically grab the next free available one
- define settings on company or global level
- define dr locations per service
- the adapter data-object tell you what adapters on you controllers are free for use (maybe not all adapters are connected and/or for service use)

The package

I've been working on this model for a while and it should fit quite a high number of your customers.  
To import the data, I'm using the EDM package, that allows you to import data from an excel file.  
The package comes with a setup workflow that will save an empty excel file to c:\temp.

You can fill it in and then have it imported with an included datasource.  

It contains a few sample workflows to get you started.  
- create SVM
- create NAS & SAN storage
- decommission storage
- advanced logging

The sample workflows are a nice to have and are just a sample of what you can do.  But obviously you should clone and adapt them to your own needs.  The scope of the package is the datamodel and the handy functions and filters that will allow you to quickly get started.

I'm at NetApp Insight at the moment, as I type, to present this package.  Once I'm home, I'll record my presentation and drop it on my Youtube channel.  That should help you understand it a bit more.


  1. this package is not compatible for wfa 4.0 is it possible to uplaod new one please?

    1. Hi Chintan,
      I see your comment only now. I assume I'm too late... Sorry. I hope you found a way into making this work by now ?

  2. Fantastic, This is exactly what I'm looking for, great job.
    Gonna test it out now

    1. Hi Boris,

      Best to watch the demo online. To focus 100% on the pre-created pack. Learn from it, steal from it, but change it into what feels ok for you.

    2. I got it running in under an hour. Tested it in WFA 5.0 Release Candidate. Just needed to check the video to understand your datamodel and excel file and how to configure the path to the excel file in the Data Source. Small suggestion, maybe change the "hostname" field in the Environment configuration Data Source to "path" :-) Have it running now at a Province in the Netherlands, will definitely use it for other customers. Again thanks alot.

    3. Cool. Don't try to focus 100% on the datamodel. Sometime it can be simplified, sometimes you need a larger one. It's rather the concept that is important. Externalize parameters, map technical resources to human-readable resources. Good luck !