Technology, Applications

3 key IT application delivery trends: cloud, agile and composite apps

Blog-post by,
HP Blogger
,

Three delivery trends are changing the way enterprise IT leaders are bringing applications to market: cloud computing, agile development and composite applications. These initiatives share two common objectives: cost reduction and better, faster outcomes. All three seek to strip the latencies from traditional delivery and provide results that are more aligned with, and more responsive to, the business.

Most likely you’re pursuing all three. But are you doing so in concert? Pursued together, these trends present certain harmonies that significantly amplify their application delivery advantages. Without proper orchestration, these initiatives can pull the enterprise in opposing directions. 

The application delivery trifecta: agile, composite and cloud

  • Composite and cloud development prize the durability of services, ensuring that components perform well while remaining secure and resilient. Because both cloud development and composite applications facilitate the exposure of services and subcomponents for use by other applications, their shared priority is for components to remain trustworthy in a variety of different contexts.
  • Agile development and composite apps align in their aim for modularity. They resist large and change-resistant monoliths—whether in terms of project plans or application architectures—in favor of discrete, bounded units that can be built, tested and delivered to production quickly.
  • Agile and cloud overlap in the aim of responsiveness to change. Agile software development projects are designed to anticipate rather than resist change and to be able to pivot accordingly. The “always on” aspect of the cloud can facilitate this aim by reducing or eliminating the time to provision application environments, a key source of latency and inter-departmental squabbles.

But problems arise when application delivery initiatives are pursued in silos, as independent strategies. This tendency means that instead of harmony, the risks in each trend begin to amplify the risks of the others. As one example, Agile software development’s focus on velocity can come to antagonize the thoughtful architectural planning that good composite applications require. In pursuit of speed, developers may code in an ad hoc manner (“cowboy coding”), which leads to a proliferation of redundant or poor-quality composite application services.

 The magic of the application delivery trifecta

World-class delivery organizations harness the collective promise of Agile, composite and cloud development by seeing each in the context of the other. These organizations maximize the shared opportunities and minimize what could otherwise become hostilities among the initiatives. In this way, each initiative amplifies the value of the others.

Consider some examples of how these harmonies might be achieved:

  • Harmony between composite and cloud: In this case, enterprise technical policy lays out standards for reusable services so that any new service is suitable for either internal use or the public cloud. In this way, standards for security and resilience would be included alongside performance—achieving the durability that both cloud  and composite applications require of their services to ensure service trust and adoption.  

 

  • Harmony between Agile and composite: At the same time, the organization might define certain principles to guide how coarse- or fine-grained a composite application service should be, ensuring that developers aren’t unnecessarily bogged down in architectural debates or tempted by shortcuts. In this way, Agile software development teams can produce composite services that meet the requirements for enterprise reuse, without a return to endless planning sessions.

 

  • Harmony between composite and cloud: Given the interdependencies in building composite applications, where key services or systems are frequently either under development or available only at certain times, the organizations might seek to virtualize these dependencies—by finding alternate services already available in the cloud, or by investing in service virtualization software that mimics the behaviors of dependent application services.

 

There’s little doubt that these application delivery trends have improved the way we build and deliver apps. But the real value is in using all three together as part of the same strategic aim: to deliver better applications faster.

 

For more articles like this, join Discover Performance for IT leaders.

(2) (2)

Discussion
Would you like to comment on this content? Log in or Register.
pcalento
Paul Calento 256 Points | Tue, 09/27/2011 - 16:58

Judy, what are some practical applications of cloud, agile & composite apps working together in concert? Are there any processes, say built into the Instant-On framework that make orchestration possible/easier?

--Paul Calento

(note: I work on projects sponsored by EnterpriseCIOForum.com and HP)

pearl
Pearl Zhu 90 Points | Wed, 09/21/2011 - 16:50

Hi, July, I like you connect the dots among agile, cloud and composite from the lens of application, yes, Agile is more about software development methodology, cloud both means SAAS-software application as a service and PAAS -application platform as the service, and composte is more about application architecture, when we pull them together and create the synergy, it could be the faster-delivery, better communication with end users, lego style architecture and cost-effective discipline. However, the simplicity is sill critical, the trendy terminology should not add un-necessary layer of complexity. thanks.

Judy Redman
Judy Redman 55 Points | Thu, 09/22/2011 - 00:09

Thanks, Pearl.  It's a little like being an orchestra conductor getting everything to work in harmony. And a lot harder to accomplish than this post makes it sound.