/
Infrastructure Orchestration to Optimize Testing Infrastructure Orchestration to Optimize Testing

Infrastructure Orchestration to Optimize Testing - PowerPoint Presentation

pasty-toler
pasty-toler . @pasty-toler
Follow
377 views
Uploaded On 2018-09-16

Infrastructure Orchestration to Optimize Testing - PPT Presentation

Rohit Naraparaju Sajeed Mayabba Kunhi OCT 18 th 2016 SOFTWARE QUALITY CONFERENCE PACIFIC NW Bio 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 a ID: 667007

softwarequality infrastructure configuration conferencepacific infrastructure softwarequality conferencepacific configuration management cloud tools provisioning environments continuous integration chef services software tool

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Infrastructure Orchestration to Optimize..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Infrastructure Orchestration to Optimize Testing

Rohit NaraparajuSajeed Mayabba KunhiOCT 18th 2016

SOFTWAREQUALITYCONFERENCE

PACIFIC NWSlide2

Bio

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.

SOFTWAREQUALITYCONFERENCE

PACIFIC NWSlide3

Agenda

IntroductionThe ProblemThe ApproachToolsThe SolutionConclusion

SOFTWAREQUALITYCONFERENCE

PACIFIC NWSlide4

Introduction

SOFTWAREQUALITY

CONFERENCEPACIFIC NWWhat is Testing?When should testing be performed?

About Release Cycles

Infrastructure Provisioning

Configuration ManagementSlide5

The Problem

SOFTWAREQUALITY

CONFERENCEPACIFIC NWManual configuration of environmentsMaintenance of environments over time

Connectivity issues

Storage limitations

Dedicated resources

Upgrade environments with patches, software, newer versionsSlide6

The Approach

SOFTWAREQUALITY

CONFERENCEPACIFIC NWDetermine 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.Slide7

Infrastructure Orchestration

SOFTWAREQUALITY

CONFERENCEPACIFIC NWWhat is Infrastructure OrchestrationAdvantages:

Cost savings

Manageability

Spin up

multiple environments on an as-needed basis

Reduces manual effort

Testing environments will be consistentSlide8

Configuration Management

SOFTWAREQUALITY

CONFERENCEPACIFIC NWWhat is Configuration ManagementAdvantages:

Faster restoration of the application

Increased efficiency of configuring the system

Cost reduction

Strong securitySlide9

Automated Infrastructure Orchestration Workflow

SOFTWAREQUALITY

CONFERENCEPACIFIC NWDev Work Station

Source Control

Product Code

Infrastructure Code

Configuration Management scripts

Build

Build Repository

Product Package

Infrastructure Package

Configuration Management

server

Deployment Build

Cloud Services Platform

Test Environments

Continuous Integration Tool

Configuration PackageSlide10

Tools

SOFTWAREQUALITY

CONFERENCEPACIFIC NWCloud Services Platforms

Infrastructure Provisioning Tools

Configuration Management Tools

Continuous Integration ToolsSlide11

Cloud Services Platforms

SOFTWAREQUALITY

CONFERENCEPACIFIC NWExamples:

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

NetworkSlide12

Infrastructure Provisioning Tools

SOFTWAREQUALITY

CONFERENCEPACIFIC NWExamples:

Terraform

AWS Cloud Formation

VMware

vRealize

Automation

Features:

Infrastructure as code

Easy to use

Customizable

Flexible

Good documentationSlide13

Configuration Management Tools

SOFTWAREQUALITY

CONFERENCEPACIFIC NWExamples:

Chef

Puppet

Ansible

Features:

Efficiency

Automate the machine configuration

Ease of useSlide14

Continuous Integration Tools

SOFTWAREQUALITY

CONFERENCEPACIFIC NWExamples:

Jenkins

TeamCity

Features:

Easy setup

Well documented

Ease of use

Configurability

Extensibility

Variety of PluginsSlide15

The Solution

SOFTWAREQUALITY

CONFERENCEPACIFIC NWTechnologies 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 testsSlide16

The Solution

SOFTWAREQUALITY

CONFERENCEPACIFIC NWSteps for setting up and configuring infrastructure automaticallyCreate 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 email notification to the interested subscribers.Slide17

Python Script layout

SOFTWAREQUALITY

CONFERENCEPACIFIC NWRead the VM configurations specified in the config fileCall 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 VMSlide18

Benefits

SOFTWAREQUALITY

CONFERENCEPACIFIC NWSpin up environments on an as-needed basis by developers/testersIntegrate 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 environmentsSlide19

Questions???Slide20

Contact Info

SOFTWAREQUALITY

CONFERENCEPACIFIC NWRohit Naraparaju rohit.naraparaju@intel.comSajeed Mayabba Kunhi sajeed.mayabba.kunhi@intel.comSlide21

Thank You!!!