Dev Dives: Streamline document processing with UiPath Studio Web
Self Service for IT Infrastructure
1. Slide Header…
QualiSystems Proprietary & Confidential
Tuesday, June 24, 2014
Self-Service for Complex IT Infrastructure
Wing Ho, Techinical Account Manager, QualiSystems
Dave Chandler, Enterprise Networking Solutions Practice Lead, WWT
2. Slide Header…
QualiSystems Proprietary & Confidential
Global Software Company
Established 2004, privately held
North America HQ: Santa Clara, CA
R&D Center: Tel Aviv, Israel
Market-leading supplier of automation solutions for:
• IT infrastructure self-service for DevOPS agility and cloud evolution
• Test lab management, test automation, continuous development/integration
Mature, proven technology:
• Hundreds of customer deployments
Cisco DevNet partner
Who is Quali?
3. Slide Header…
QualiSystems Proprietary & Confidential
Challenges:
• Infrastructure is complex, not just VMs
• Automation is often silo’d and can be
quite code-centric
• Relatively few programmers in the team
So you need to get more “agile”?
Mandate: Self-service IT, support DevOps, continuous
everything
4. Slide Header…
QualiSystems Proprietary & Confidential
Self-Service with a Side of IT Governance
• Accountability and control
• Reservation-based
• Both auto-provisioning
and auto-reclamation
• Resource usage can be “all you
can eat” model today
• Resource hoarding, waste
• “VM sprawl”, poor utilization
• Lost productivity, agility
• Higher CAPEX and OPEX
6. Slide Header…
QualiSystems Proprietary & Confidential
Customer Demonstrations
Training environments for sales and professional
services engineers
Sandbox environments
Customer proof of concepts
Beta and EFT environments
Advanced Technology Center
7. Slide Header…
QualiSystems Proprietary & Confidential
WWT ADVANCED TECHNOLOGY CENTER
ATC
EBC
ATC – Advanced Technology Center
EBC – Executive Briefing Center
26,000 sq. ft.
building
8. Slide Header…
QualiSystems Proprietary & Confidential
Challenges
High Utilization
• A victim of our own success!
Difficult to schedule appropriate topology
• Lab Manager often has to consult pod owners
to determine what is needed
No granular device scheduling
• All or nothing – entire sandbox is reserved
Re-cabling required
• Different cabling than “default” is requested
9. Slide Header…
QualiSystems Proprietary & Confidential
Previous Scheduling Mechanism
Ticket is opened in Ticketing System
Lab Manager picks up request
• Emails/phones “pod owner” to discuss request and topology
needs
If request is granted:
• Pod owner/lab staff cables topology
• Clears existing configurations and install correct OS
• Installs baseline configuration and management interfaces –
Multiple Devices
• Confirms topology
Lab Starts – Topology locked out for “x” days
Rinse and repeat
10. Slide Header…
QualiSystems Proprietary & Confidential
Qualisystems
What we are hoping for
•Increase granularity of scheduling
•Decrease complexity of scheduling
•Automate scheduling and lab launch
• Automate cable changes
•Increase multi-tenant capabilities
12. Slide Header…
QualiSystems Proprietary & Confidential
• Increase granularity of scheduling
• Decrease complexity of scheduling
• Automate scheduling and lab launch
• Automate cable changes
• Increase multi-tenant capabilities
• Replication of entire topologies to service catalogs
• Increase quality of documentation
• Include automation and configuration of Storage, VMs
• Reduce power consumption
• Accurate inventory of equipment
• Interleave labs
• Cost Avoidance
• SDN use case
Much more than we expected!
13. Slide Header…
QualiSystems Proprietary & Confidential
Inventory objects:
• Actual inventory including physical, virtual, cloud, apps,
tools, subnets, etc.
• Hierarchical structure for granular multi-tenancy
o EG: Chassis—blade—port for bare metal switches
o Attributes: abstraction+ provisioning object parameters
• Enables reservation/multi-tenancy
Provisioning objects
• Resource level interfaces
Process task objects
• Test automation (functional, sanity, regression)
• Continuous Integration
Build and Maintain an Object Layer
14. Slide Header…
QualiSystems Proprietary & Confidential
Pre-packaged libraries (of course)
Independent interface creation:
• Integrate and “objectize” API’s
• Utilize existing scripts (TCL, python, etc.)— no
“starting from zero”
• Capture and objectize CLI, SNMP, terminal
interactions
Make them small and maintainable
Overcomes interfacing obstacles
Removes roadmap dependencies
Helps integrate legacy/special infrastructure
OOTB & DIY Integration Tools
15. Slide Header…
QualiSystems Proprietary & Confidential
• Visual environment/topology creation
o Inventory-based modeling
o Enables reservation of entire environments
o Simple to any arbitrary network topology
o Abstract design to maximize utilization
o Packaged with provisioning & reclamation
flows
• Visual workflow authoring
o Hide syntax from users
o Dramatically scale “service creation”
o Continuous integration, test automation
Visual Topology & Workflow Creation
Management mandate IT to become more agile. Offer self-service to access IT infrastructure
DevOps: IT involvement with current operations
Problem: Not easy to do with hardware + virtualization + public cloud
How to integrate everything together. Don’t want a bunch of silo operations
Not enough programmer to do the job
We have been in automation for over 10 years and we have the experience and expertise for this type of deployment
If IT is NOT agile, people get around IT by going to Public Cloud on their own.
Leads to waste or hording VM Sprawl,
IT loses control
** IT will need governance reservation-based sharing
** Auto-provisioning + auto reclamation needed, so resources can be used correctly and put back correctly
What do we mean by object oriented automation?
It means capturing all automation elements such as the inventory and interfaces to cloud infrastructure components, provisioning actions such as spinning up a VM, and testing tasks such as running a traffic load test, as limited scope, reusable, building block objects.
When I say limited scope, I mean that one object may simply be to log into a particular vendor’s equipment. Another object might be to run a ping test. Another object might be to load a particular OS image. Another object might be to bring up a virtual machine in a hypervisor. Because they are small in scope, they are easy to maintain, update, and make new versions of.
These objects are parameterized and given searchable attributes and live in an organized library, which promotes a high level of re-use. Objects can be assembled into higher-order objects. For example, infrastructure resource objects such as servers, VMs, virtual storage devices, and SAN switch ports can be assembled as a test topology, or a set of individual provisioning and testing task objects can be assembled along with a test topology object, into a testing workflow. Multiple testing workflows can be assembled into a test job.
Now we’ll come back to scripting. An object-oriented architecture is the ideal way to leverage scripting. TCL, Python, and even Puppet can be used to create the objects here, but rather than the commands living in long, hard to maintain and difficult to reuse scripts, they live as easy to maintain and highly reusable objects.
What do we mean by object oriented automation?
It means capturing all automation elements such as the inventory and interfaces to cloud infrastructure components, provisioning actions such as spinning up a VM, and testing tasks such as running a traffic load test, as limited scope, reusable, building block objects.
When I say limited scope, I mean that one object may simply be to log into a particular vendor’s equipment. Another object might be to run a ping test. Another object might be to load a particular OS image. Another object might be to bring up a virtual machine in a hypervisor. Because they are small in scope, they are easy to maintain, update, and make new versions of.
These objects are parameterized and given searchable attributes and live in an organized library, which promotes a high level of re-use. Objects can be assembled into higher-order objects. For example, infrastructure resource objects such as servers, VMs, virtual storage devices, and SAN switch ports can be assembled as a test topology, or a set of individual provisioning and testing task objects can be assembled along with a test topology object, into a testing workflow. Multiple testing workflows can be assembled into a test job.
Now we’ll come back to scripting. An object-oriented architecture is the ideal way to leverage scripting. TCL, Python, and even Puppet can be used to create the objects here, but rather than the commands living in long, hard to maintain and difficult to reuse scripts, they live as easy to maintain and highly reusable objects.
[FIX THIS SLIDE]
An object-oriented architecture is achieved by tools that can implement and leverage an object library with GUI-driven capabilities that increase team productivity.
For example, a central manager that allows for multi-user sharing of the object library and automates storage.
A tool for managing and utilizing test environment infrastructure objects, for example the ability to graphically design test or cloud environments and reserve them for effective resource sharing in a team. It’s also important to be able to create your own automation drivers so that you’re not dependent on a vendor ‘s release cycle.
Another tool can enable non-programmers to take provisioning and testing objects along with logic and create automation workflows in a flowchart style GUI. We’ve seen this unleash a huge amount of productivity in test groups.
An integrated and centralized way to take automation workflows and schedule and queue them for execution across distributed stations.
Finally, reporting and management app integration allows an object-based approach to empower business intelligence reports, and tie into larger quality management processes.