Development and testing are critical components of the software development process. But this process is getting more complicated than ever before. On one hand, the data deluge means that sheer scale at which applications need to run has gone up manifold. At the same time, the number of software platforms and environments has increased considerably. So it is important that software products/applications be tested on these multiple platforms.
This can considerably complicate the testing process. Because while most companies have an existing test and development environment, usually, it doesn’t resemble production even remotely, either in terms of size or variety of software that can be set up. The traditional way of testing is to build a test environment, a process that takes days or weeks. The testing is then undertaken on this environment. If the software needs testing in another environment, then the process starts from scratch – from building the new environment. Needless to say, this is a very tedious and long-drawn process that takes up a considerable amount of time.
Today, everyone wants a solution where test environments can be deployed in minutes, not weeks. And cloud simply is the best solution. Here’s how testing and development in the cloud can help:
– Every developer has their own environment, since the cloud has seemingly unlimited space
– Deploy new environments in minutes
– Multiple projects and versions
– Secure, controlled environment
– A ‘disposable environment,’ – if you need to test your application on ten servers for two hours, you can do that at an affordable cost, and not having to invest in the infrastructure.
Not surprisingly, the most vocal opposition to cloud-based testing comes from IT teams, which are anxious not only about the effectiveness of this approach, but also about safety and compliance issues. The fact is that it is a toss-up between developer freedom versus IT control. But if teams are conscious about HIPAA (If it’s healthcare) and other compliance regulations, the cloud offers an excellent platform to refine test and development processes.
A great example is how the Halo franchise used Microsoft Azure based solutions to solve their on-demand compute and scale challenges. Read about it here.