Digital Transformation is a large topic. That is not the focus here. Rather the focus is transforming digital applications from legacy to cloud solution.
Lets understand what each of the word means: AWS (cloud), legacy, transformation.
AWS – Traditionally, organizations used to have on-premises servers and would host all applications internally. That means organization had to employ a network administrator and a system admin as a bare minimum to look after the network and infrastructure. There was always maintenance cost, when hardware failed they needed replacement, sometimes server/hardware reached end-of-life and needed to be upgraded. Sometimes server’s operating system was too old and had to be replaced with newer version and greater capability. What if there was a mechanism where someone took care of all these issues and organization just had to pay a monthly charge towards maintaining the infrastructure? I bet a lot of companies would gleefully get rid of their network admins and make significant cost savings. Amazon provides this in the form of Amazon Webservices (AWS). Microsoft provides these through Mircrosoft Azure. In layman’s term, this service offered by Amazon or Microsoft is labelled as “cloud”. Please look further into details about different types of services:PaaS, IaaS and SaaS model.
Legacy – A legacy application is a software application that is considered obsolete, or that is based on technology that is older than a current standard. For example, even though Windows Form is still available in Visual Studio, better UI design framework is now available. So any existing application built with Windows Form will be considered as a legacy application.
Transformation – Converting an application into a different solution. This could include complete re-design, converting a server-client application to a SaaS model, and/or deploying a solution from on-premises server to a cloud server.
It is important to note that AWS or Microsoft Azure will provide the infrastructure but what is deployed their and the maintenance of the application including patching, updates etc. will still reside with the organization.
Both in private and public sector, there has been a strategic change in direction:
- Development, testing and service delivery work are increasingly being outsourced to vendor
- As part of the contract, vendor is being commissioned to host the solution in cloud. This way organization can transfer the application hosting and maintenance cost to a third party (vendor in this instance).
- Vendor is provisioning both test and production environment in cloud
So in terms of development and quality assurance (testing), there should be a renewed emphasis on below areas:
- It is important to have a robust solution design where business layer needs to be separated from data layer
- Design should address security vulnerabilities such as implement password policy, be PCI compliance, offer robust session cookies, prevent against sql injection and cross site scripting etc.
- Features such as logging, remote monitoring, alerts, service availability polling, image encryption, security logging, access control, Active Domain single sign-on etc. should be embedded in the solution as mandatory design principles
- Non-functional testing scope should be increased. Note that as part of the digital transformation, an application can move partially or wholly to cloud. For example, when application is moved to cloud but the database remains on-premises, the solution is called hybrid. In such cases, response time will be a key metric to test as data will now traverses between two environments (geographically separated) over more hops. The webservice also needs to be performance tested with peak load test, soak test, stress test and sociability test.
- Using SoapUI, the request/response of a webservice call needs to be tested for encryption, accuracy and protection of personal details
Since transformation from legacy to cloud application did not have any prior benchmark, the non-functional test results will need to be treated as the new benchmark and any future changes/enhancements will then have to be compared against these metrics.