Over the past decade, organizations have been adopting agile development methodologies and have preferred frequent minor software releases unlike the traditional practice of major releases over significant intervals of time. On this journey, organizations’ IT landscape has evolved to quite an extent, to cater to business demands. They have realized that infrastructure assurance is vital for IT environments to function seamlessly. This paper establishes the importance of infrastructure assurance in providing better environment availability and less production issues.
Traditional view versus current need
In the traditional IT world, an organization’s test life cycle concentrated on functional parameters; there was a lack of focus on non-functional testing and infrastructure. The common myth associated with infrastructure assurance is: whether you are setting up a new environment or migrating an existing data center, the associated hardware and software will continue to function the way they are intended to; testing their infrastructure functionality in an integrated environment is not necessary. This myth leads to disastrous environment failures or incorrectly built infrastructure platforms.
To avoid these environment failures, and to provide a seamlessly functioning infrastructure platform, an organization should keep the following in mind regarding its infrastructure stack:
Considering the higher rate at which new IT environments are being setup coupled with the growth of data center or cloud migrations, Infrastructure assurance is of the utmost importance. Infrastructure assurance strategy validates environments and eliminates the following pitfalls:
Formulate infrastructure and cloud migration assurance
As enterprises move towards agile, the associated infrastructure workloads are moving towards virtualization and cloud. This infrastructure change or migration is the process of moving IT infrastructure, data, applications or other business elements from an organization's existing setup to a new on-premise or cloud data center, or moving them from one cloud environment to another. All service providers like AWS, microsoft azure provide infrastructure building blocks under IaaS, PaaS or SaaS models and all these ready-to-use blocks are technically equipped and accessible across the globe. These blocks offer storage, compute, databases and applications, depending on the nature of the service model among IaaS, PaaS or SaaS.
To enhance the quality of these infrastructure workloads the organization must strategize, automate the infrastructure validations and change the culture of infrastructure testing at various stages of the test life cycle. The essential elements of the building blocks are availability, compatibility, scalability, security, and responsiveness of the application. Infrastructure and cloud migration assurance strategy should certify that:
Cloud migration assurance strategy may also need to provide a direction to validate an unexpected or unknown scenario and plan the effort accordingly. Post-migration testing is a critical phase of the whole migration activity, and a separate testing strategy helps the migration team to plan and execute smoothly. Automation plays a vital role in infrastructure testing and necessary sanity testing of the migrated environments thereby resulting in significant improvement of lead time to provision the environment. Parallel manual validations also play a critical role in identifying security breaches or any other technical flaws in the environment. Unlike functional testing parameters, infrastructure testing does not require multiple phases and iterations of testing.
Infrastructure assurance is essential only at following points of time:
Rectilinear approach – for infrastructure & Cloud assurance
More and more organizations are adopting agile and building tool is driven delivery approach by creating action-oriented SME teams and using DevOps models to reduce cycle times. However, the challenges continue, especially in infrastructure components provisioning, integrations, and testing.
Rectilinear approach to IT infrastructure assurance, covering sub-element validation and standardization of deployment activities can validate the infrastructure provisioning and integration, to provide better assurance of infrastructure quality and availability. The sub-element validation of infrastructure platform includes validation of database, storage, LAN/WAN, switch, router and other infrastructure components using standard templates and checklists.
Figure 1: Compute to storage infrastructure testing Figure
For all the off-the-shelf infrastructure components there is a standard set of parameters to validate the product. All the templates and checklists have to tune in periodically, based on standard set of parameters and the nature of the requirement. Leveraging niche technologies on infrastructure validations, we can improve the rectilinear approach by automating the testing activities of the newly provisioned environments. Many tools and technologies are available in the market to automate all validation activities in each infrastructure block across the environment. Out of these tools and technologies, powershell scripts or any other in-house developed scripts, can be used as critical inputs for infrastructure validations.
Assets inventory is another crucial input for infrastructure validations. Assets inventory can be further improved by:
The rectilinear approach helps organizations to validate the IT infrastructure through sub-element validations for a full stack environment block. Multiple validated blocks help test environment teams to commission and de-commission environments quickly, and meet the testing demands for test environment requirements.
Figure 2: Infrastructure testing frame work
Validated blocks can be shared between multiple projects, thus minimizing the build and test requirements across the environment landscape. By following the rectilinear approach and sub-element validations, organizations are enabling infrastructure testing and validations to quicker environment provisioning and lower infrastructure failures. The key benefits of infrastructure and cloud assurance are:
Conclusion
Today, organizations rely on their infrastructure, some of which are business critical, and rest is to provide support for testing, training and other needs of the organization. On time and correctly configured infrastructure is of the utmost importance to the organization for business critical as well as non-critical environments. The only way to achieve this is to perform full a stack infrastructure testing that covers configuration, performance and scalability, security and third-party integration validations. The optimal testing approach is rectilinear sub-element validation for full stack environment block as well as an integrated view of the multiple full stack blocks. Infrastructure test strategy, team collaboration, and automation will assure the environment is provisioned with high quality and availability.
Peri Narasimha is a Practice Head for Test Environment and Infrastructure testing practices at Wipro Limited. A postgraduate in Computer science, with over 17+ years of IT experience, Peri has led and executed many integrated and standalone testing projects for various customers in the retail, telecom and insurance domains. He has developed a tool called the TE – manager that automates the operations layer of environment activities. He has also defined best practices and standardized test environment activities at an enterprise level and has helped organizations achieve the highest maturity level in managing test environments.
To know more about infrastructure and cloud assurance, write to digital.contact@wipro.com