CICD Test Environment Management

Top 20 Continuous Integration Tools in 2017

A key consideration when building Test Environment Management solutions is to both understand and promote the DevOps philosophy of Continuous Integration and Continuous Delivery (CICD).
A philosophy or practice that promotes the rapid merging of developer artifacts (which could cross Application Software, the Data and the Infrastructure) and ensuring continual and automated build, testing, packaging and deployment).
Key Benefits include:
+ Early identification of defects.
+ Developer/Engineering Change is managed continually (opposed to a high risk big bang approach)
+ A constantly available development & test environment with the current build
+ Promotion of automated testing i.e. Unit & Shakedown (reducing manual intervention)
+ Immediate feedback on issues that have been introduced
+ Promotion of consistent & simplified packaging
+ Promotion of promotional (stateless) deployment methods
+ Accelerated Time to Market:
In today’s vast software market there is a plethora of CICD & TEM tools to consider and choose from. Some of which do one specific task (e.g. system deployment e.g. Atlassian Bamboo) and others which help govern the complete IT life-cycle across the enterprise (promoting SAFe or “Agile at Scale” objectives, for example enov8 Environment Manager).
Looking for some ideas on the best tools to help you in the complex world of CICD (Continuous Integration and Contininuous Delivery) then visit Guru99’s latest Top 20 list for CICD.

The 3 Ms of Test Environment Management

Why do we need Test Environment Management Solutions?

Test environment management can be defined as Managing, Monitoring and Maneuvering the test environments of an organization as per their fast-changing IT requirements. 
And these 3 M’s become the pillars of any successful test environment management solution.  

In today's fast moving digital world we require vibrant test environment management practices that will help organizations increase their performance, improve analytics &  better control through a combination of automation and real-time decision making. 

History of TEM solutions

Before Test Environment Solutions came into market, Test environment were being managed by Test Environment teams using manual ways predominantly by using excel sheets. When somebody would need an environment or information related to it, they would just either refer to excel spreadsheets or set of applications to calculate their answers to their problems. This always ended up as a time-consuming exercise.
These were the most common challenges which came due to all manual process for test environment management:

  • Time Consuming – It took a lot of manual effort to maintain & collate the information as per requirements from stake holder or end users.
  • People Dependent – Most of the information was maintained by group of people or teams. To get information always had a person dependency.
  • Lack of Visibility – Teams working across locations or on various projects didn’t have much insight on the changes or development happening in applications within the same organization. This sometimes resulted in production failures.
  • Multiple Tool Set – Most of the organizations have different tools to manage different set of information and activities like SharePoint for document management, CMDB tools etc. So, everybody would need access or knowledge of these tools to get the right information.

So, what should a good test environment solutions look like?

Here are some of the key features which should be available in any solution to be successful:

  • Environment Modelling  – The solution should provide capability to manage information or refer to different sources of information so that it can be used as one stop shop for all knowledge needs and be the source of truth for the organization.
  • Planning & Scheduling – The solution should provide the required information and visibility for better planning & Co-ordination with ease. They should provide key information on contentions and risks that can impact the software release or project at a click of a button.
  • Project Demand Awareness – These solutions should provide organization in understanding the demand for test environment thus allowing them to take pro-active approach in planning delivery of IT.
  • Service Management – These solutions should have in built workflows which can be used for stream lining their operations and services.
  • Release Operations – These solutions should help in standardizing build, Deploy and Test activities while promoting existing application automation toolsets through seamless integration.
  • Centralized Status Accounting & Reporting - By moving away from your manual spreadsheets, emails and other makeshift methods, these solutions should help organisation with effectively reporting and dashboards on various aspects of environment management including activity, performance, usage & availability. 

In summary, the solution should act as an umbrella on all your IT framework and tools which will allow the organisation to leverage the best outcome from the existing capabilities and promote transparency, control and productivity

Badly cooked Environments

The DevOps Chef

A  good article / insight from Enov8 on a recent customer meeting.

No you cant automate your End to End Test Environment Creation if you:

  1. Don’t know what your Systems look like &
  2. Don’t know the Operational Steps

Tip! Learn to walk before you run. Get the basics right first.