See the full course: https://systemsacademy.io/courses/complex-systems-design/
According to our friend Wikipedia, a platform technology can be defined as a structure or technology from which various products can emerge without the expense of a new process introduction. In this section of our course we discuss the architecture of platform technologies and talk about some of their advantages and disadvantages.
During the past few decades with the rise of the internet, Platform technologies have become the new cool. Platforms, like the app store or eBay have proven to be some of the most dynamic, innovative and fastest growing services, but of cause the platform model to systems architecture has always been there, since the invention of farms and factories to the making of lego building blocks.
When many people see a new technology at work, they don’t usually consider all the pieces that went into its creation. They simply see the amazing capabilities and never give it much thought. But within advance industrial economies many products and services are enabled by the power of abstraction, they are remixes, built out of services from platforms that enable the endless bundling and re-bundling of different components.
So what is the difference between bank ABC at one end of your street and bank XYZ at the other, not much really they are both buying their technology from a hand full of platform technology providers like IBM and VISA and bundling the components in different ways to appeal to different customers.
According to our friend Wikipedia, a Platform technology can be defined as a structure or technology from which various products can emerge without the expense of a new process introduction. In order to achieve this our system needs to be architected to have two fundamentally different levels, that is, it must have a platform providing the basic services that can be combined into different configurations on the application, to deliver various instances of the technology to the end user.
But lets start by thinking about what exactly a non-platform technology is, take a hammer for example, it is a homogenous system, there is no differentiation between the systems infrastructure and its application they are all just one thing, it is an instance of a hammer, it can not generate new and different configurations of itself. The same can be said of a car, it is an instance of a technology, the end user gets and uses the whole thing.
To make the comparison clearer we could compare the instance of a car with an automobile platform that allows a motor company to release several vehicles built upon a common chassis, which is the platform, with different engines, interiors and form factors, for the same or different vehicles and brands within the company.
Probably the clearest and best example of platform technologies are personal computers, so lets spend some time taking one of these computers to peaces to better understand the different level of abstraction to a platform technology. Our platform in this case is the computers operating system, but before we can get to the platform that’s doing all the great work we need a foundation for it to sit on, that is a set of enabling technologies.
In this case our foundation layer is our computer hardware and all the low level firmware that interfaces between it and the operating system, but within a business our foundation layer might be the economic system it is a part of, the public services such as security, rule of law and maintenance of natural resources that would enable our business to function, the same would be true of a city, it rests upon and is enabled by a national infrastructure system.
The next layer up from the foundations or hardware is the platform itself, the computers operating system in this case, it essentially manages the computers resources and services that will be required by applications. The platform takes the resources available to it from the infrastructure and creates the lego blocks that we will be using to build things with. These resources are
presented to producers on the application level through what are called APIs or application program interfaces.
In our automotive factory the platform would be the physical technologies in the production line for creating the car’s parts, our employees can rearrange this production line to create different vehicles. Or in our example of the city this platform level might be the urban utilities that contractors will interface with to build offices and residential spaces and there will be a standard set of procedures for them to do this.