380 likes | 1.06k Views
Workflow Automation Technical Overview. NetApp Confidential - Internal Use Only. Agenda. Motivation behind WFA Where does it fit within the Orchestration picture ? What is a Workflow ? Customer Example WFA Demo Availability / Short-term Future Questions / Comments / Feedback ?.
E N D
Workflow Automation Technical Overview NetApp Confidential - Internal Use Only
Agenda • Motivation behind WFA • Where does it fit within the Orchestration picture ? • What is a Workflow ? • Customer Example • WFA Demo • Availability / Short-term Future • Questions / Comments / Feedback ?
The Reality of Storage Automation • Motivation • Provide an extensible platform for Flexible Automation • Encapsulate complexity into simple defined workflows that can be executed by 3rd parties with limited knowledge • Current Gaps • Each customer looks to automate processes using their own unique settings (naming standards, options, best practices) • Many storage processes require non-ONTAP configuration (VM, tickets, storage switches, etc.) • Storage teams do not have programming skill sets • Vendor based products often can’t cater for every use case
Storage Workflow Automation Platform • Storage Workflow • A series of steps that complete an end-to-end process • Focus on storage-centric workflows • Design • Experts use Designer GUI to create workflow • Leverage rich library of pre-defined components • Flexible platform allows for adding new components • Integrate • Publish workflow to portals & orchestration systems • Activate workflows via web services • Operate • Storage operators use portals to activate workflow
Audit logs & history for automation activities Monitor workflow execution Alert on activation and completion of workflow execution Identify & troubleshoot failures Support delayed execution (scheduling) One instance to support automation across multiple data centers Template/policy enforcement for process object Gold volume, Silver volume, etc. Key operational aspects
Workflow activation via Web Services • $wfa = New-WebServiceProxy –urihttp://localhost/wfa-ws/WorkflowService_rpc?wsdl • $jobid = $wfa.executeWorkflow(“Provison Oracle”, ("controller_A_IP=10.68.66.214", "controller_B_IP=10.68.66.217", "vCenterIP=10.68.66.132"))
Sample scenarioOracle Provisioning NetApp Confidential - Internal Use Only
WFA Portal Login • The operator will log into the WFA portal (http://<wfa server IP>/wfa) • Enter their UserID/Password • LDAP support available • RBAC authentication • Guest • Operator • Architect • Admin NetApp Confidential - Limited Use
Storage Operator Portal (example) • After successfully logging into WFA, RBAC controls will not allow the ability to Edit or change anything. The Operator will only be able to execute Workflows or review Execution statuses. • The Operator will identify a workflow to process and select ‘execute’ NetApp Confidential - Limited Use
Operator Inputs (per specific workflow) • The user input screen for this workflow is presented to the Operator • The Operator provides the necessary input by leveraging the default values, drop down lists, or by typing in the required values • The Operator can then elect to: • Execute now (and optionally watch the execution) • Schedule the workflow for later execution • Preview the workflow to confirm what actions will be performed NetApp Confidential - Limited Use
3. Create Volumes 2. Find Aggregates 1. Input parameters 4. Set Volume specific options 5. Create Qtrees 7. Create Secondary Volumes 8. Trigger Protection 6. Create Exports Oracle Provisioning – use case flow NetApp Confidential - Limited Use
Oracle 10g Silver Provisioning Process SID_ENV_oradata01 oradata01_exp array1 array1_SID_ENV_oradata01 SID_ENV_oradata02 array2 oradata02_exp array2_SID_ENV_oradata02 Bkp_array2 aggr_64_03 SID_ENV_redo01 redo01_exp array1_SID_ENV_redo01 SID_ENV_redo02 aggr_64_06 redo02_exp array2_SID_ENV_redo02 aggr_64_01 SID_ENV_arch01 arch01_exp array1_SID_ENV_arch01 SID_ENV_arch02 arch02_exp array2_SID_ENV_arch02 SID_ENV_export01 export01_exp bin01 array1_SID_ENV_export01 admin01 SID_ENV_bin01 bin01_exp array1_SID_ENV_bin01 oraInventory dbatools orauhome Hostname_ENV_common common_exp array1_Hostname_ENV_common NetApp Confidential - Limited Use 13
Planning report NetApp Confidential - Limited Use
Designing a Workflow NetApp Confidential - Internal Use Only
Storage Architect Portal (example) • Logging into WFA as an Architect role enables the ability to design and edit workflows as well as the ‘building blocks’ leveraged by workflows. • To edit the workflow, the Architect / Storage Expert would click on ‘edit’ for the appropriate workflow NetApp Confidential - Limited Use
Workflow Designer NetApp Confidential - Limited Use
WFA concepts and building blocks • Workflow • Commands • Finders & filters • Policy templates • Functions NetApp Confidential - Limited Use
Storage Workflow • Definition • A series of steps that performs an end-to-end Storage process • Examples • Provisioning storage for an application (SAP, Oracle, Exchange) • Provision storage component (Gold, Silver,..) • Decommission storage for an application • Storage migration for server, application or VM • Designed by an Architect, to be executed by an Operator/administrator NetApp Confidential - Limited Use
Commands • Definition • An action taken as part of a workflow (excluding selection of resources) • Every workflow includes a list of commands, to be performed in order • Commands can be added by customers if written in PowerShell, Java (and later on Perl) NetApp Confidential - Limited Use
Commands - Examples • CreateVolume • CreateQtree (or resize existing one) • Create NFS export • Setup mount • Resize aggregate • Resize Qtree quota • Add volume to dataset • Trigger 3rd party API commands (ie VMware) NetApp Confidential - Limited Use
Workflow Table • A Workflow is defined by filling a table • Actions performed left to right, top to bottom • Commands appear as the columns of the table • Command’s sub-columns are the parameters required for every Command to operate • Example: NetApp Confidential - Limited Use
Table Cell types • Constant value • Numbers or strings that will be the same in every execution of the workflow (200, ‘TMP’ , etc) • Variable (or variable attribute) • A variable is an object that needs to be defined for the commands to operate. Examples: db_data_vol, PrimaryAggr, qtree1 • User Input • A value to be provided upon the execution of the workflow. Examples: $Appname, $dbData_volSize NetApp Confidential - Limited Use
Table Cell types (cont.) • Function call • Usage of function (Either pre canned or user created) on a variable or user input. Examples:NextName($Customer), CalcVolSize(Vol.size_mb) • Expression • A combination of the aforementioned types in a formulaic expression. Examples: $VolSize - 2, vol.name + “/” + qtree.name NetApp Confidential - Limited Use
Finders & Filters • Finder • A search operation for locating resources • The finder looks for information on WFA Objects in the WFA cached repositories • Comprised of several filtering rules that “filter out” irrelevant resources • Includes a possible sorting order for the list of applicable results • Populates a variable if a match was found • Example: “Find Aggregate, Find Array, Find volume” NetApp Confidential - Limited Use
Using a Finder to define a Variable Example: For locating an aggregate, we will: • Input parameters for location and required capacity • Select filters would run and filter out ill matching aggregates • Sorting order will be employed based on selected aggregate attributes • The result may be either a chosen aggregate or a decision that one was not available given the selected filtration criteria NetApp Confidential - Limited Use
Templates • A blueprint of object to be used as a reference or for adhering to usage policies • Examples: • Gold, silver bronze Volume • Setup object templates for fast editing NetApp Confidential - Limited Use
Policy templates • Policy may be used as a source for pasting information when defining a WFA object. • Any workflow attached to a policy will use the current values of policy in execution (No backward policy enforcement) • Attached policies prohibits the user from changing it’s attached attributes NetApp Confidential - Limited Use
Functions • A complementary tool to achieve non-trivial or black boxed operations required for planning and execution • Written in a variant of Java (Processed at run time by 3rd party library) • Examples: • Calculate volume size from actual usable size • Create a volume name following naming scheme NetApp Confidential - Limited Use
Where to go for more information? • The WFA community site provides a wealth of information about the product including: • Product brief • Presentations • Product demos • Documentation • Sample workflows • For more information contact the following: • Prakash Subramanian – Product Manager • Kevin Hill – MEI Solutions Architect NetApp Confidential - Internal Use Only