Onion or Lasagna?
Cooking up a good architecture means understanding layers and platforms
Platforms, platforms, platforms. Boy, was that the Word of the Year in the electric power world a few years back! I was supporting a US state commission on their efforts to advance grid modernization in their state at that time. Vendors were flooding into the public hearings, each saying they had a platform that would solve all the grid problems. Aside from the window-hanging aspect of that, it was remarkable that none of these vendors bothered to explain what they meant by a “platform.”
The Commission Chair actually asked me to explain to the whole Commission what a platform was and why it mattered. (I did.)
Now, platform is a very useful architectural concept and structure. It can take more than one apparent form, but ultimately it depends on the concept of layering. By this I do not mean layered decomposition for coordination frameworks - that is a topic for another day. I mean system components structured in layers. Such structures generally show up as either onions or lasagna.
A platform is a stable collection of components arranged in a layered structure that provides fundamental or commonly-needed capabilities and services to a variable set of uses or applications through well-defined interoperable interfaces. Platforms may have a single layer but most have three or more. A common example is the arrangement found in PCs and laptop computers.
The platform in this case is the three layers: hardware, BIOS1, and Operating System. Hardware may have many variations, but a (hardware-specific) BIOS “evens them out” for the operating system, which then provides a uniform way for any application to make use of the hardware without needing to know any of the details of that hardware. The BIOS insulates the operating system from hardware variations, and the operating system provides open standard interfaces for the applications. This points to a powerful aspect of platforms: future-proofing. The underlying hardware can change without requiring any changes to the applications. Alternately, the hardware does not need to change to accommodate new applications. All good.
Now consider the basic structure of the internet. It is often referred to core-edge and may be depicted something like an onion. But we can “unwrap” it to see the layers.
In fact, when we talk about something being like an onion, how do we describe looking into it to understand it - we say “peel back the layers!”
So, why do we care about the layered platform structure? It confers many advantages:
Separates foundation functions from end uses (“applications”) via layering.
Provides a set of services and capabilities that are useful to many applications.
The platform is stable over time, while the applications may change frequently.
Provides decoupling of changes between applications and underlying infrastructure.
May scale (adjust resources) to support variable demands from applications.
Third parties can freely create applications that use the platform (must have open standard interfaces to do this).
The value of the platform is spread across many uses.
Layering in platforms can also improve resilience. Use of Resilience Algebra shows how a three-layer platform can have significantly greater resilience than a two layer platform. Given the discussion of computer platforms above, this is not surprising; the math confirms it.
Just how far could we carry the platform concept? How about this far?
The figure illustrates a “macro-platform” consisting of three layers: the electric distribution infrastructure, distribution sensing, and the distribution communication system (including services). This is a pretty radical departure from traditional distribution system design, but in a dynamic distributed-control environment, it would provide considerable flexibility, resilience, and future-proofing. To my knowledge, nobody does this today. Alas.
So, when it comes to your platform, onion or lasagna?
Basic Input Output System








Love the analogy (s)
Yep, definitely it’s the future. The trick is to not overcook it. Which, unfortunately, vendors of platforms are want to do.