In today’s app economy, businesses are under tremendous pressure to build and deploy apps faster. Developers are looking to create applications more quickly than ever with microservices, APIs, containers, mobile backends and chatbots using modern DevOps processes. With the rising need for rich, robust platform capabilities to support these rapid development processes, there’s an increased developer appetite to take advantage of low-code and no-code platforms.
In a world where competitive advantage is synonymous with IT speed and agility, it is essential that businesses give their development teams the tools and technologies they need to innovate. Providing the right development and testing lab is key.
A sense of urgency Businesses across every sector are feeling a new urgency to quicken the pace of enterprise app development. This accelerated pace will only continue as a burgeoning crowd of business unit leaders are expected to drive digital transformation. They want to experiment, to try a lot of applications or initiatives, with the expectation that only a few of them will succeed.
Faster, more effective app development cannot be achieved without a flexible, powerful dev/test lab. Hyper-agility in software development requires infrastructure and automation that not only keep pace with development processes but actually help accelerate cycles and improve overall quality. And, with the latest cloud technologies, hyper-agile dev/test labs are increasingly within reach of most enterprises.
Moving test environments to the cloud
Today, the best enterprise technology has cloud at its core – and the same principle carries over to the dev/test environment. When dev/test labs are built on cloud, they offer developers a huge number of benefits, including virtually limitless resources; self-service capabilities; automation; the ability to monitor usage of resources; and continuous integration from application to infrastructure. The flexibility of the cloud also enables dev/test labs to offer extreme testing, so that developers can check network failure scenarios or test high availability environments with a simple API call.
Setting up your dream dev/test lab: 5 tips
The ideal dev/test lab will not only improve application quality and accelerate time to market, but also reduce overall costs. To get started setting up your dream dev/test lab, here are five tips to keep in mind:
1) Data centre like capability on cloud
Most enterprises have teams of developers and test engineers working on building new applications and adding features to existing applications that run in the enterprise data center. In order for these teams to work on their projects, they need several pre-production environments for development and testing. To utilise public cloud for these pre-production needs, public cloud needs to support data-center like capabilities (for example, give the ability to run VMware VMs with Layer 2 networking) to be able to effectively perform dev-test.
2) Everyone loves a replica
Even when cloud does support data-center-like capabilities, an ongoing challenge for development is whether the test environment is representative of production. Testing on replicas of production is essential in ensuring that the final result is consistently high quality. Setting up these replicas takes a lot of time on-premises and on cloud. An ideal public cloud environment for dev-test will enable one-click cloning capabilities that eliminate the setup overhead associated with creating high fidelity replicas.
If a quality assurance tester finds a bug, they should be able to invite other developers to examine it, or remove the bug across the application, without causing any disruptions or delays to other ongoing tests. What’s more, this kind of collaboration should be easy and seamless, no matter where each developer is located.
4) Ability to reproduce bugs
Reproducing bugs can be very difficult in a complex multi-VM application due to the dependencies and interactions across application elements. In the ideal setup, the entire complex app can be packaged as one environment so that reproducing bugs is simple, such as executing a replica of the test system where the bug was identified.
5) Rapid prototyping
The use of standard pre-defined building blocks (e.g., a standard database cluster) to rapidly prototype applications can accelerate the dev/test cycle significantly. However, ideally the building blocks would not just be brand new or vanilla instances of standard app components but would actually be replicas of the same elements that exist in the production app.
With the right technology and processes in place, organisations can create a dev/test lab that will unlock true agility and speed for their enterprise developers – as well as significant competitive advantage for the business.
By Sankaran G, DGM & CIO, City Union Bank and Vaibhav Gawde, Sr. Director - Solution Consulting, Oracle India