Delivering a flawless user experience despite significantly increased demand from users on their service.
The cloud system implemented had to have excellent performance with no functional issues to accommodate a huge rise in the number of users engaging with the platform.
Implemented a Cloud Based Testing Systems, with cost and speed advantages by using Cloud Native Technology.
Provided a precise performance testing strategy, automation in AWS, and cloud native tests that the platform would hold up under the stress of so many additional users and all functionalities would work.
Built a strong performance testing approach to further reduce costs and improve the effectiveness of the platform for greater user experience.
Full confidence was achieved for their delivery platform to be able to handle a large surge in additional user numbers.
The Client is one of the largest American non-profit news agencies, who has been leading press coverage and used by numerous news and media outlets around the world for over a century.
They employ more than 3,000 people globally and is known as the news source of the world’s leading web portals, who rely on the Client for coverage of breaking news stories.
The growing demand for news, especially during a period of global uncertainties and changes, requires the Client to be nimble and adaptable to be able to deliver instant, reliable, and frictionless value on scale and offer a better user experience for the countless people who rely on their news cycle.
Our Client faced significant challenges when keeping up with current technology trends, with a slower time to market with infrequent production deployments and maintaining a competitive edge in the market. As such, they needed to modernize their IT infrastructure.
They took the decision to retire one of their critical on-premise data centers to save on costs and improve their efficiency. Additionally, they decided to move from a monolithic architecture to a distributed architecture to improve the performance, availability, and scalability of their applications to take advantage of the benefits of migrating to the cloud.
Being able to achieve this goal involved re-hosting and a lift and shift of the applications, as well as re-architecting their on-premise platforms to be more cloud-native and distributed in nature. To be more agile, available, and scalable, they needed to adopt new technologies and practices which required a significant investment in training, development, and testing.
One of the main challenges that our Client came up against was to balance the need for cost savings with the need for innovation and transformation, all while assuring the quality, security and integrity of their data and their systems.
Qualitest’s engineers needed to strategically devise solutions for the ‘Cloud First’ approach that the client was taking. “Cloud first” is a strategy that prioritizes the use of cloud computing services for deploying new applications and services. It means that when an organization plans to develop new systems or applications, they will first consider cloud-based solutions before on-premise infrastructure.
It was important therefore for Qualitest to understand the direction each of the platforms were taking to migrate to AWS cloud. As a result, we implemented a 2-step approach to clearly distinguish the test strategy for each.
The first step involved application re-hosting from on-premise to cloud/lift and shift, and identifying the correct framework for 15 apps and services. The second step involved re-architecture from monolithic to distributed and involved identifying the correct framework for 34 apps and services.
The second step involved design and implementation in the following areas:
Regression Baseline Comparison
For the identified applications/services identified in step 1, Qualitest engineers identified a set of test cases that covered the different functionalities of the application that was ready for migration. Test cases were then run before the migration to establish a baseline of the expected behavior, and again after the migration of the application on the target cloud environment.
This benchmarking included not only regression for both functional manual and automated tests but also performance benchmarking on the critical shared services and distribution platforms. Close to 3000 test cases were executed as part of the regression benchmarking exercise for multiple iterations.
The benefits of performing regression benchmarking before and after a migration to the cloud are significant. By verifying that there is little to no deviation in the application behaviour w.r.t functional and non-functional areas, helped improve the confidence in the migration and provided the reassurance to key business stakeholders and their B2B customers.
Distributed Architecture Testing
For those apps and services that embraced re-architecture to adapt and take advantage of the cloud benefits, Qualitest’s engineering team had to come up with innovative ways to test the distributed architecture. One of the approaches was to test the serverless component using event-driven services (such as AWS SNS) and event-based compute (such as AWS Lambda functions).
AWS provides a powerful suite of services for event-based compute and event driven architectures such as SQS, SNS, Lambda, Kinesis etc. SNS provides a simple and flexible messaging and notification service, enabling all the consumers to perform operations at real-time and in parallel.
When a new event occurs, AWS Lambda function which is a serverless component can fetch the event notifications from SNS topic for parallel processing. By leveraging AWS microservices in an event-driven architecture Qualitest engineering team were able to test the micro-services at the component level which increased the accuracy of our tests thereby reducing the risk of finding defects by its consuming applications.
Due to the asynchronous nature of the event-driven architecture and event-based compute engine being highly scalable, Qualitest was able to achieve a high level of concurrent test executions.
Overall, this approach not only helped us to assure the quality of the distributed architecture at a component level, but also assure the value of the architecture.
For the API automated test executions, the Qualitest engineering team containerized the test harness/framework and executed the containers images within an AWS lambda function. This approach helped in:
In addition to all the above aspects, at Qualitest we have different solution offerings to support cloud native assurance and governance:
We also utilized our partner Sauce Labs to bring in capabilities for UI cross browser and platform compatibility testing.
Overall, 7000+ tests were automated and executed over multiple iterations for the applications on the distributed architecture.