Bobcares

DevOps for Testing – How we accelerated projects using automation and virtualization

PDF Header PDF Footer

“This code works fine on my computer, but not on the live server!”, programmers often complain to IT system administrators. This happensĀ when the environments in these servers do not match. As a result, projects often get delayed.

To avoidĀ compatibility issues, development and production server software has to be identical. DevOps aims to achieve this using configuration management and automated deployment.

With our DevOps service plan,Ā Bobcares helps businesses deliver projects on time.Ā We automate the DevOps cycle forĀ fast deployment of application code on the servers.Ā WeĀ help toĀ create and maintain a uniform configuration for different server environments.

Recently a business owner came toĀ us for assistance to reduce project delays. His company providedĀ testing and bug fixing services for WordPress websites. The projects were hosted on shared servers. This led to a lot of time beingĀ wasted inĀ setting up the environments for each project. “I findĀ it hard to meet deadlines”, he said. “And I have no time to focus on my business”.

Implementation of DevOps solution

To being with, we tried to figure out howĀ to resolve theĀ bottle-necks. Every time a projectĀ came, they had to manually setup the environment. This was because each project required a unique WordPress install with different configuration and plugins. For example, an online promotion website required SEO tools, whileĀ a photography site needed image hosting tools. Setting up and maintaining theseĀ custom environments was time-consuming.

To reduceĀ project turn-around time, we decided to implementĀ a solution to automate these tasks.Ā We builtĀ a custom DevOps plan for the customer’sĀ testing services using server virtualization technology. Here is how we did it.

 

1. Virtualization framework to enable fast provisioning

As part of ourĀ plan, server virtualization was chosen in place of current shared server setup. Virtualization enabled fast creation of server instances called Virtual Machines (akaĀ VMs). Development and testing environments could be setup on these VMs.

We chose Proxmox VE to setupĀ virtualization as it has a web interface to easily create and manage VMs. And its open-source too. Yay! In Proxmox, we used KVMs (Kernel-based Virtual Machines) to create VMs, as it supported both Linux and Windows images.

 

2. Automating deploymentĀ of testing environments

WordPress installs varied in each project. This required custom environment to be created for each case. We configured a custom VM template withĀ CentOS 7 and server software such as Apache/Nginx, PHP, SQL server etc. Additional feature-setsĀ for each project, such as SEO plugins, image libraries, Ad toolsĀ etc., were installed.Ā The VM was optimized for security and performance.Ā We then setupĀ testing tools such as Selenium, JMeter and an IDE such as Eclipse in the VMs for speeding up automated testing.

Once the VMs were fully configured, templates were created to build similar server instances in future. We designedĀ VM templates withĀ different feature sets for each testing project. We then usedĀ these templates to quicklyĀ create virtual instances in a few clicks. When eachĀ project got over, these VMs wereĀ destroyed to free up the resources.

 

3. Automation of testing services

We automated common time-consuming tasks such as:

  1. Creation of testing environment in VM for each WordPress website.
  2. Deployment of customer’s website in the VM.
  3. Automated testing with tools – JMeter for performance testing, XSS-Me and SQL Inject-Me tools for security testing, SEO tools for responsiveness testing, etc.
  4. NotificationĀ to developers when bugs are detected.
  5. Creation of development environment for the developers to help in bug-fixing.
  6. Delivery of bug-free code to end user after retest.

 

Here is a glimpse of our DevOps design:

 

DevOps-testing

DevOps in testing

 

This scalable solution helped customer reduceĀ turn-around time for testing services.Ā Automated provisioning with our script spared customer from the overhead of setting upĀ environments. This enabled him to provide seamless testing services andĀ deliver projects on time.

 

Bobcares helps software businesses manage their DevOps and save time through configuration management and code release automation services, as a part of our DevOps services.

SEE HOW WE CAN HELP YOU

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Get featured on the Bobcares blog and share your expertise with a global tech audience.

WRITE FOR US
server management

Spend time on your business, not on your servers.

TALK TO US

Or click here to learn more.

Speed issues driving customers away?
We’ve got your back!