Is Agile Development Sending Your Apps To Data Prison?

A need to accelerate application development and deliver higher IT quality is driving organizations to adopt agile development models—sometimes referred to as DevOps—and these models are often implemented as part of a move to cloud-based services. Public clouds offer undeniable economic benefits when used for rapid application development: pay-as-you go pricing, on-demand availability and elasticity to scale up or down. However, cloud-based applications can become locked into cloud siloes and end up as inmates of a data prison built by one cloud provider or another. To avoid this lock-in, it’s important to understand how a data fabric can be used to support application lifecycle management across a hybrid cloud ecosystem.


The Enterprise Application Lifecycle


Blog - Application Lifecycle.jpg


Source: Imaginet


While there are many models of the application lifecycle as defined by vendors and organizations such as ITIL, each of them includes three core components:


  • The lifecycle begins with a definition of the application, a corresponding business case, and an agreement to create and fund the application.
  • The next step is in the actual development of the application. This is not a one-time event, but rather, for most applications, the development process reappears again several more times during the application’s lifetime as updates and rewrites take place.
  • Finally, operations, the work required by IT to support and manage the application, begins shortly before deployment, and runs continuously until the application is removed from service.

All three phases must be well-executed in order for an application to bring its expected value to an organization. Consider a project that gets the initial definition wrong, perhaps by not fully understanding business needs or failing to accurately estimate project costs. Or a project that drags on endlessly as developers hit unexpected compatibility issues. By the same token, a project that targets the right problems but ignores operational issues, such as underestimating the demands of heavy user activity, may be doomed from the start.


Application Definition

During the application definition stage, programming governance is usually well-defined, based on an organization’s best practices and standards. However, the governance model should also extend to applications designed to operate in the cloud. A cloud governance model includes guidelines for cloud architecture and deployment, authorized cloud providers, and the process of on-boarding and off-boarding cloud service providers.


Because public clouds open the door to the potential of shadow cloud services, it’s important, (but difficult) for IT teams to corral their use. By implementing a governance model that includes a unified data fabric that allows seamless data transfer, business units are more likely to see the value of a supported, established, cloud model - and less likely to go rogue.


Application Development

When developing applications within an agile hybrid cloud environment, the ability to tear down and rebuild a test environment in minutes — and then to do it over and over again — isn’t just a nice-to-have capability, it’s a necessity.


Automating this process so that it doesn’t require intervention or special approval to implement reduces the time needed for development and improves collaboration between software developers and IT operations – improving the application quality. A data fabric with simple and secure cloud management that ties back into corporate IT is an essential piece of this process.


Application Operations

Once the application has moved through the dev/test process, IT Operations is faced with an important decision - should this application stay in the cloud, or does it need to be moved on-premises? There are several factors in determining this – among them data custody and security, desired application performance, and a hosting vs. onsite cost analysis. Too often, applications born in the cloud are destined to stay in in the cloud – because there is no convenient method to move them from the cloud to on-premises equipment.


A unified data fabric that facilitates the movement of cloud data between external providers and on-premises equipment can deliver benefits across the entire application lifecycle – rapid development, vigorous pre-release testing, and the ability to quickly move to a high performance, secure, production environment.


Beyond deployment, IT must also ensure that application data is backed up regularly and that it remains continuously available, even in the face of a catastrophic failure. Integration of cloud-based applications with cloud-hosted backup and cloud-enabled disaster recovery is simplified when using a data fabric that contains a universal framework for accessing data across all end-points within a hybrid cloud.


Problem or Opportunity?

Planning for application deployment begins well before the application is completed and handed off to IT operations. The arrival of agile software development and inexpensive public clouds permits rapid application development outside the rigid domain of IT, presenting both a problem and an opportunity for enterprise organizations.


In the broadest sense, the key benefit of the hybrid cloud and data fabric is the ability to utilize various fabric end points as enterprise applications are developed, launched, and subsequently retired. The business benefits of this model are undeniable, however, it requires a new way of thinking and planning in order to avoid application isolation.