Presentation is loading. Please wait.

Presentation is loading. Please wait.

Infrastructure Orchestration to Optimize Testing

Similar presentations


Presentation on theme: "Infrastructure Orchestration to Optimize Testing"— Presentation transcript:

1 Infrastructure Orchestration to Optimize Testing
SOFTWARE QUALITY CONFERENCE PACIFIC NW Infrastructure Orchestration to Optimize Testing Rohit Naraparaju Sajeed Mayabba Kunhi OCT 18th 2016

2 SOFTWARE QUALITY CONFERENCE
Bio PACIFIC NW Sajeed Kunhi is a senior engineering manager with Intel with nearly twenty years of software engineering experience. He is highly passionate about process automation, product quality and DevOps principles. His expertise in software development, technology domain and managerial experience has helped in building optimized software development lifecycle. Rohit Naraparaju is software builds/tools engineer with Intel with over eight years of software development experience. He is an ardent believer in DevOps and has dedicated a good amount of his career working on Infrastructure Orchestration, Continuous Integration, Configuration Management, Test Automation, and Release Management. Rohit is currently working on advancing the usage of Configuration Management in various other products within his group.

3 Agenda Introduction The Problem The Approach Tools The Solution
SOFTWARE QUALITY CONFERENCE Agenda PACIFIC NW Introduction The Problem The Approach Tools The Solution Conclusion

4 Introduction What is Testing? When should testing be performed?
SOFTWARE QUALITY CONFERENCE PACIFIC NW Introduction What is Testing? When should testing be performed? About Release Cycles Infrastructure Provisioning Configuration Management

5 The Problem Manual configuration of environments
SOFTWARE QUALITY CONFERENCE PACIFIC NW Manual configuration of environments Maintenance of environments over time Connectivity issues Storage limitations Dedicated resources Upgrade environments with patches, software, newer versions

6 The Approach SOFTWARE QUALITY CONFERENCE PACIFIC NW Determine if the team will adapt to the new technologies and tools set used to set up the environment. Evaluate a cloud services platform (such as: AWS, VMware, Azure, Openstack, Private cloud) by understanding its capabilities, advantages, costs, documentation, pricing, and support. Choose the right Configuration Management tool, Infrastructure Provisioning tool, and Continuous Integration tool by evaluating the tool, team’s adoption to new tool, documentation, training, licensing and support. When we understand the importance of Infrastructure Provisioning, Configuration Management, and Continuous Integration the next challenge is to select the appropriate scripting language that supports making calls to the API’s exposed by the cloud services platform in order to set up the testing environment.

7 Infrastructure Orchestration
SOFTWARE QUALITY CONFERENCE PACIFIC NW What is Infrastructure Orchestration Advantages: Cost savings Manageability Spin up multiple environments on an as-needed basis Reduces manual effort Testing environments will be consistent

8 Configuration Management
SOFTWARE QUALITY CONFERENCE PACIFIC NW What is Configuration Management Advantages: Faster restoration of the application Increased efficiency of configuring the system Cost reduction Strong security

9 Automated Infrastructure Orchestration Workflow
SOFTWARE QUALITY CONFERENCE Automated Infrastructure Orchestration Workflow PACIFIC NW Continuous Integration Tool Source Control Build Repository Cloud Services Platform Product Code Product Package Dev Work Station Infrastructure Code Deployment Build Test Environments Build Infrastructure Package Configuration Management scripts Configuration Package Configuration Management server

10 Tools Cloud Services Platforms Infrastructure Provisioning Tools
SOFTWARE QUALITY CONFERENCE PACIFIC NW Cloud Services Platforms Infrastructure Provisioning Tools Configuration Management Tools Continuous Integration Tools

11 Cloud Services Platforms
SOFTWARE QUALITY CONFERENCE PACIFIC NW Examples: Amazon Elastic Compute Cloud (EC2) Microsoft Azure VMware VCloud Air Virtual Private Cloud Advantages: Elastic compute Flexible Easy to start Secure Reliable Identity and Access Management High Availability Network

12 Infrastructure Provisioning Tools
SOFTWARE QUALITY CONFERENCE PACIFIC NW Examples: Terraform AWS Cloud Formation VMware vRealize Automation Features: Infrastructure as code Easy to use Customizable Flexible Good documentation

13 Configuration Management Tools
SOFTWARE QUALITY CONFERENCE PACIFIC NW Examples: Chef Puppet Ansible Features: Efficiency Automate the machine configuration Ease of use

14 Continuous Integration Tools
SOFTWARE QUALITY CONFERENCE PACIFIC NW Examples: Jenkins TeamCity Features: Easy setup Well documented Ease of use Configurability Extensibility Variety of Plugins

15 The Solution Technologies and Tools used:
SOFTWARE QUALITY CONFERENCE PACIFIC NW Technologies and Tools used: In-house VMware VCloud Virtual Private Cloud as Cloud Services Platform Chef for Configuration Management Jenkins for Continuous Integration VMware vRealize Automation (vRA) for Infrastructure Provisioning Python scripting to bundle the vRA API calls, Chef knife bootstrap commands, and running automated tests

16 The Solution SOFTWARE QUALITY CONFERENCE PACIFIC NW Steps for setting up and configuring infrastructure automatically Create a job in Jenkins for provisioning the infrastructure Write Chef cookbooks and check-in to source control Write a python script for provisioning the VMs using vRA API’s and bootstrapping the Chef commands Check-in the python script to the source control Configure the Jenkins job to call this python script that provisions, configures the infrastructure, and run automated tests Configure a post build deployment step in Jenkins to publish the test results and send out an notification to the interested subscribers.

17 Python Script layout SOFTWARE QUALITY CONFERENCE PACIFIC NW Read the VM configurations specified in the config file Call the vRA API’s exposed by the Private Cloud for requesting the VMs Check the provisioning status for the VMs Store the result of the provisioned VM in a JSON file Call the Chef knife bootstrap command to configure the respective application by passing the Chef’s recipe list for the VM

18 Benefits SOFTWARE QUALITY CONFERENCE PACIFIC NW Spin up environments on an as-needed basis by developers/testers Integrate Infrastructure Provisioning, Configuration Management, and Automated Tests into the Continuous Integration process Spin up environments with different configurations in less time Enable immediate developer testing, rather than waiting for a specific stable build Run multiple builds performing various tests on various environments Save time that would have been spent on manual intervention Create environment configurations consistent across all environments

19 Questions???

20 Contact Info SOFTWARE QUALITY CONFERENCE PACIFIC NW Rohit Naraparaju Sajeed Mayabba Kunhi

21 Thank You!!!


Download ppt "Infrastructure Orchestration to Optimize Testing"

Similar presentations


Ads by Google