Share This Page


Share This Page


Cloud Native Applications

As per a report published by Forbes, 83% of enterprise workload will move to the cloud by 2020. This includes Public, Private and Hybrid cloud workloads. Today this number stands at 68%. These are good indicators of how companies are making conscious efforts to drive their IT transformation by maximizing the cloud adoption. There are several changes that the companies make that underline the IT transformation – one of the important change is to write cloud native applications – applications which are purposefully written for cloud infrastructure. Now, that is something which QA teams take note of for their testing strategy.

At Mindtree, we engage with our clients on various aspects of quality engineering and lately more on cloud computing, migration, cloud native applications, containers and impact on testing due to all of them. In this article, I will first discuss little bit about cloud native applications and why they are the built the way they are, and what QA teams should consider for testing such applications.

Cloud native apps are architected to run in the elastic and distributed nature of cloud computing platforms. Key features of cloud native applications are –

  • Modular – based on micro-service architecture
  • Leverage elasticity of the cloud infrastructure
  • Always current and highly available
  • Easily work with virtualized environment
  • Easy connection with compute, storage and networking resources of the cloud
  • Extreme automation

Considering the above mentioned characteristics of cloud native applications, the QA strategy should focus on –

Factors to focus on Brief description
Scalability Auto-scaling is a very important feature of cloud computing services. The native apps have to be aware of the scalability requirements due to dynamic load patterns and include them in the test strategy.
Dynamic Environments Parts of the applications can be deployed in various cloud infrastructure, in some cases across various cloud service providers. From testing perspective, consider latency, key features, fail-overs and recovery
Resiliency It’s not only important to design for failure but also test for recovery. Testing should consider traffic routing during overloading and how does load balancing effect the performance. Also, check how user requests are handled when some features are not available.
Automation For cloud native apps, automation is the key lever that brings the most impact in terms of speed at which software is deployed. Testing has to simultaneously test the deployments, perform a selected set of functional tasks and undertake negative task based scenarios. Micro-services on one hand, makes the integration testing difficult, container services like Docker which package everything (code, configuration, OS, test data) in containers makes it easier for deployment. Containers make life easier for test automation as well. (I will write a separate article on Containers and how they affect software testing)
Metrics Apart from measuring all relevant QA metrics, check for their achievability and search ability for troubleshooting during downtime.

Micro-services based architecture makes faster deployment of cloud native applications. Adoption of CI/CD tools and practices is mandatory to keep pace. In this scheme of things, testing plays an extremely important role. Having said that, developing and testing of cloud native application come with its unique set of challenges such as keeping data persistency across various services, integration and seamless coupling of multiple micro services for the end customer. Mindtree is doing some very differentiating work in this space. Please reach out to me for more information.


About the Author

Mudit Kumar
Head of Test Engineering Services – APAC

Mudit Kumar is a Solution Architect at Mindtree for large transformation deals and pursuits in Quality Engineering space. He is an engineering graduate from Indian Institute of Technology (IIT) and an MBA post-graduate from Symbiosis University. Having two decades of experience working with Fortune 500 clients across 20 countries, Mudit has been instrumental in driving many testing transformation deals spanning across multiple industries. Today with the rapid adoption of Agile/DevOps in digital world, Mudit assists Mindtree clients with testing strategies that are aligned to business objectives of time to market, cost, and quality. Several of his technical papers on regression testing, machine learning, and automation have been published in international forums.

Other Stories by the Author

Let's Talk About Your Needs

Thank you for your submission. We'll be in touch.