Friday, September 9, 2016

Application Architecture and Pace Layers

Discussion for EA874 Topic 2 > Application Architecture Layer
Post # 3

Applications architecture is the discipline of ensuring that application systems used to create the composite set of technology solutions for the organization is scalable, reliable, available, and manageable. It is important to understand and manage the system functionalities, data characteristics, performance and quality requirements of these solutions, and how these applications do and can work together. Moreover, it is equally important to know deployment strategies which are timely and cost-effective, managed for risks that could impact the operations of the organization, and counter to business goals and mission.

The enterprise Applications Architecture strategy for acquisition, development, and integration should always align with the enterprise business strategy of the organization. The architecture should also allow provisions for varying life cycles of different types or categories of applications i.e. recognizing those applications which are based on stable technologies at one end, and those which are volatile and at the "bleeding" edge of innovations on the other. Therefore, the organization demands a mix of applications that are both capable of robust long-term service, as well as applications that need the agility to be responsive to current market demands, in order for the enterprise to remain competitively sharp.

I was reading Altman's 2012 Gartner article on "retiring the concept of the three-tier application" in which the author speaks of technology changes and how the nexus of forces continue to impact our demands on applications and therefore the way life cycles for these applications are affected.  As he observes, there is probably at no other time have we had to manage change in so many different domains: cloud, big data, mobility, social apps, virtualization, etc. To confirm this assertion, we do only have to consider the client side of a modern application, as he points out. The broad range of UIs that applications must support continues to add to the burden of managing application architecture i.e. applications running on an array of different "client" devices, including PCs, netbooks, tablets, smartphones,  kiosks, car dashboards, GPS devices and media players. I remember going crazy with numerous test cycles that we had to endure to implement a web application on different browsers, some of which have come and gone just like a fad. The same goes for the backend with modern applications needing to support multiple data sources, possibly residing in different database platforms (not all relational) with different semantic layers, different data storage formats, and data access mechanisms.

The thing that keenly caught my interest was the notion of "pace layers" which Gartner introduced to the technology context in 2012.  It does make sense and can possibly provide a helpful way of thinking about applications. Gartner defines pace-layering as "A new methodology for categorizing applications and developing a differentiated management and governance process that reflects how they are used and their rate of change." In simple terms, this means that application systems or application components have different lifecycles, some last longer than others, and some need to be replaced more frequently. Understanding in which "pace-layer" your company's application components lie can enable more effective management of the application portfolio. The payoff, as Altman argues, is shown by the resulting IT-based solutions which are flexible, deliverable in a timely manner, and can be tailored to short-term business needs.

To my mind any concept such as pace layers can help application architects recognize varying lifecycles and timing which can better reduce architecture complexity, perhaps simplify assessments that enables better identification of robust options, and help reduce disruptive technology shifts and/or expansions.

The original concept of pace layers came from Stewart Brand, a Stanford-educated environmentalist who also views environmental elements residing on different layers evolving at different paces. Check out his blog to gain deeper insights into pace-layering. There was an even earlier concept of "Shearing layers" coined by architect Frank Duffy, which was later elaborated by Brand in his book, How Buildings Learn: What Happens After They’re Built (1994), referring to buildings as composed of several layers of change.

























Source: http://blog.longnow.org/02015/01/27/stewart-brand-pace-layers-thinking-at-the-interval/

References:

Altman, R.  (2012 September 18). It's Time to Retire the Concept of the Three-Tier Application. Gartner paper, ID: G00232626

, A. (2012 February 17).  Pace-Layered Application Strategies, Fact or Fiction?  Retrieved from http://www.drdobbs.com/architecture-and-design/pace-layered-application-strategies-fact/232601066


Gartner.  (2012 February 14). Gartner Says Adopting a Pace-Layered Application Strategy Can Accelerate Innovation. News Article. Retrieved from http://www.gartner.com/newsroom/id/1923014

No comments:

Post a Comment