The Digital Stack
Description
The Moment of Truth
In order to view a bank balance, a user may use an application downloaded from a “store” of applications made available to their device. On her device, this “app” is part of an intricate set of components performing functions such as:
-
Accepting “input” (user intent) through a screen or voice input
-
Processing that input through software and acting on her desire to see their bank balance
-
Connecting to the phone network
-
Securely connecting over the mobile carrier network to the Internet and then to the bank
-
Identifying the user to the bank’s systems
-
Requesting the necessary information (in this case, an account balance)
-
Receiving that information and converting it to a form that can be represented on a screen
-
Finally, displaying the information on the screen
The application, or “app”, downloaded to the phone plays a primary role, but is enabled by:
-
The phone’s OS and associated services
-
The phone’s hardware
-
The telecommunications infrastructure (cell phone towers, long distance fiber optic cables, switching offices, and much more)
Of course, without the banking systems on the other end, there is no bank balance to transmit. These systems are similar, but on a much larger scale than the end user’s device:
-
Internet and middleware services to receive the request from the international network
-
Application services to validate the user’s identity and route the request to the appropriate handling service
-
Data services to store the user’s banking information (account identity and transactions) along with millions of other customers
-
Many additional services to detect fraud and security attacks, report on utilization, identify any errors in the systems, and much more
-
Physical data centers full of computers and associated hardware including massive power and cooling infrastructure, and protected by security systems and personnel
Consider: what does all this mean to the user? Does she care about cell phone towers, or middleware, or triply redundant industrial-strength Power Distribution Units? Usually, not in the least. Therefore, as we study this world, we need to maintain awareness of her perspective. The user is seeking some value that digital technology uniquely can enable, but does not want to consider all the complexity that goes into it. She just wants to go out with friends. The moment of truth (see The Digital Stack Supports the Moment of Truth) depends on the service; the service may contain great complexity, but part of its success lies in shielding the user from that complexity.
Stack Examples
The outcome of a digital service (e.g., an account balance lookup for an online banking application) is supported by a complex, layered structure of technology. For example, a simple systems architecture might be represented in layers as:
-
User interface
-
Middleware/business logic
-
Data management
-
OS
-
Network
Architecture also uses a layered method, but in a different way that is more abstracted from the particular and concrete to the conceptual; for example:
-
Business process architecture
-
Information architecture
-
Application Architecture
-
Technical Architecture
New Digital Technologies
So what is unique about this wave of “digital” and how do we use that to define for us digital technologies?
Historically, when we applied technology, we applied it internally within organizations to transform the operating model of a company, driving productivity and cost savings through automation. Now, technology is now being applied to transform the business models and customer experiences of organizations in ways that were unusual prior to about the year 2000. Furthermore, companies are now leveraging technology to know their customers better than ever before. Knowing who you are and what your wants and needs are allows organizations to provide you a personalized experience that suits your specific needs.
Cloud, mobile, and analytics are often discussed as the first wave of digital technologies.
Cloud as a technology is much more than just shared infrastructure. Cloud enables startups to experiment with ideas with little to no up-front investment, and scale faster than previously possible. Cloud created access to cutting edge technical capability out of reach of even the largest enterprises previously. Cloud has been an enabler of business model transformation, allowing Netflix to wipe out Blockbuster™, Dollar Shave Club™ to go head to head with Gillette™ and many more.
Mobile as a technology fundamentally transformed the customer experience. No longer was it necessary to be at a desk in front of a computer to be able to access information. The simplicity of the mobile interface forces designers to build digital products that were easy to navigate and understand on a device that could fit in your pocket.
Analytics and Big Data allow companies to know their customers at a deep level. No longer are companies forced to make assumptions about what customers need and want. Now, they have the ability to know the customer intimately and so can provide digital products with mass personalization, giving the customer exactly what they want, when they want it.
Evidence of Notability
The use of layered abstractions in digital systems engineering is well established. Such abstractions may be highly technical, such as the OSI stack describing layered networking protocols [ISO/IEC 7498-1], or more conceptual, such as the Zachman Framework [Zachman 1987].
Limitations
Sometimes, organizations attempt to structure themselves around the stack, with separate functional units for user interface, middleware, data management, network, and so forth. This approach may result in monolithic, hard to change systems; see xreaf:3-context:09_org-structure.adoc#KLP-conways-law[Conway’s Law].
Related Topics