Today, no industry is safe from the application lifecycle. The hotel industry has been transformed by the emergence of Airbnb. The taxi industry has been radically disrupted by the emergence of Uber. Applications make companies work and have created a new stream of revenue by meeting customer’s demands for instant gratification through a quick, easy and enjoyable experience.
The application imperative
Whether internal or external, packaged or custom built, applications are the cogs that enable organisations to be leaner, faster and more profitable. As a result, the race is on to create software development lifecycles (SDLC) that ensure applications can be rapidly built or updated, tested and released.
To achieve the application imperative, IT has turned to Agile and DevOps in order to change development processes and culture. However, many IT departments are in denial, thinking they have what it takes to achieve Continuous Delivery.
The biggest challenge with continuously delivering new or updated applications is provisioning the development and testing environments. Limitations, inflexibility and costs inherent within supporting infrastructure mean project teams are relying on shared environments and using old data, data subsets or synthesised data as part of software development lifecycles (SDLC). This is because the hardest part of provisioning environments is the copying, refreshing, resetting and rewinding of data.
Within IT environments, the database is the largest amount of data and the most complicated part to copy. Often it requires manual scripting and calls for DBA’s, system, storage and network admins to do the heavy lifting. As a result, poor data works its way into the beginning of the SDLC, generating data driven errors that don’t get exposed until further along. At this point, the errors become costly to fix or require extensive rework. In addition, painfully slow data reset times choke the testing process and limit the amount of testing cycles that a business can do, which risks more bugs ending up in production.
The Data as a Service chasm
In the past, the dependency on data has meant organisations have sacrificed innovative new projects to prevent delivery rates from slipping. However, as businesses recognise the importance of being able to continuously deliver small incremental changes to applications on an ongoing basis, a new approach towards core data architecture is being championed.
For the continuous delivery of applications, data needs to be delivered as a service (DaaS). Instead of duplicating copies of the production database for each development or testing environment, a new layer can be built into the infrastructure that virtualises at the data level. Since the data is virtualised it can also be served up in minutes rather than days, weeks or even months so development data can be provisioned or refreshed on demand. Test data can be reset enabling a 1000x increase in cycles. Environments can be run in parallel, bookmarked and shared between users in a few clicks. Data from multiple sources can be synchronised solving the ever-painful process of integration testing. Data can be rewound instantly to any point in time, like to the moment before a system went down. Finally, typically complex tasks like data masking can be automated into the delivery of the data.
Everyone in IT wins. Development achieves faster project times with better quality. Operations add more value by freeing up valuable resource. IT reduces storage and infrastructure costs and security rests easy knowing non-production data is controlled and protected.
Embracing the cycle of Continuous Delivery
With powerful processes in place, organisations can create a shift in company culture that brings developers closer to IT operations so that both teams can work in tandem to achieve Continuous Delivery and improve efficiency. By delivering DaaS, businesses can break the dependency of development on data management skills that have sat within the infrastructure team since databases were first invented. This means the cycle of continuous denial can be broken and organisations can see the real value of continuously delivering applications that drive competitive differentiation and growth.