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/
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