100% found this document useful (2 votes)
2K views

Chapter 1 Platform Technologies

- Platform technologies can be defined as a strategic approach that focuses on leveraging technologies across applications through a common infrastructure and modular architecture. - Key aspects of platform technologies include organizing technological knowledge into reusable services, assessing technology reuse feasibility, and dealing with increasing complexity through nesting smaller technologies within larger platforms. - Platforms differentiate core platform functions from an application layer that draws on underlying common services, allowing different products to emerge without new process introduction by configuring shared building blocks in various bundles.

Uploaded by

Kim Pupa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
2K views

Chapter 1 Platform Technologies

- Platform technologies can be defined as a strategic approach that focuses on leveraging technologies across applications through a common infrastructure and modular architecture. - Key aspects of platform technologies include organizing technological knowledge into reusable services, assessing technology reuse feasibility, and dealing with increasing complexity through nesting smaller technologies within larger platforms. - Platforms differentiate core platform functions from an application layer that draws on underlying common services, allowing different products to emerge without new process introduction by configuring shared building blocks in various bundles.

Uploaded by

Kim Pupa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

CHAPTER 1: PLATFORM TECHNOLOGIES

Lesson 1: Introduction to Platform Technologies

Technology platforms can be defined as a strategic approach that focused on how


to systematically leverage technologies across different applications. With the rise of
information technology and the ever-increasing complexity of our technology landscape,
platforms have become the design paradigm of choice for today's complex engineered
systems. We first saw the power of the platform model in the development of the personal
computer some twenty to thirty years ago as operating system providers built their
technology as a platform for software developers to create applications on top. But it was
not until the past decade with the widespread advent of the internet that the platform
model has truly come of age as virtually every internet company from the biggest search
giants to the smallest little social media widgets has started to define their solution as a
platform.

Platform technology is now the answer to major three questions of what barriers
exist for effective technology reuse, how to organize technological knowledge, and how
to assess the feasibility of a planned case of technology reuse.

By using the platform technology solutions can be built via a service-oriented


architecture by connecting up services from different providers, as technology developers
increasingly build products on top of other people’s platforms, count this as the first role
of the platform.

Secondly, complexity; to deal with this complexity of our technology paradigm will
require a move from the standalone solutions of today, into a world of systems where
smaller technologies are nested within larger ones in a plug and play, flexible, modular,
service-oriented architecture.

Thirdly, user-generated systems; increasingly end-users are becoming producers


and to harness this new source of innovation means closed systems have to open up;
creating APIs and platforms on which end-users can alter, adapt and innovate while being
supported by the core technology for interoperability with others.

Lastly, this platform allows the end-users to draw upon underlying services so that
they do not have to reinvent them each time and can thus develop and deploy their
buildings more rapidly. Fast-paced technology change and the demands of a new
innovation-driven economy require constant product evolution and much shorter
technology development cycles for which the platform model can prove well suited.
PLATFORM TECHNOLOGIES DEFINED

During the past few decades, with the rise of the Internet platforms, such as the
App Store or eBay, have proven to be some of the most dynamic, innovative, and fastest
growing services. But of course, 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. However, within advanced 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.

Wikipedia defines a platform technology 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 level to deliver various instances of the
technology to the end-user.

Another definition of platform technologies according to Techopedia, is a group of


technologies that are used as a base or infrastructure upon which other applications,
technologies or processes are developed for the end-user. For example, in personal
computing, a platform is the basic hardware (computer) and software (operating system)
on which software applications can be run. Although the term is most readily identified
with information technology it, of course, applies to all type of technology. For example,
a city is another good model of a platform technology, with a core set of underlying
infrastructure services that are provided for building developers to construct modular
structures in the form of buildings on. This platform allows them to draw upon underlying
services so that they do not have to reinvent them each time and can thus develop and
deploy their buildings more rapidly.

Computers use specific central processing units (CPUs) that are designed to run
specific machine language code. In order for the computer to run software applications,
the applications must be in that CPU’s binary-coded machine language. Thus, historically,
application programs written for one platform would not work on a different platform.

Platform technologies are systems build upon a platform architecture that


distributes the system out into different levels of abstraction. This is done in order to
differentiate between core – platform – functions, and the application layer that sits on top
of, and draws upon, these underlying common services.
NON-PLATFORM TECHNOLOGIES

An example of a non-platform technology is a hammer, for it is a homogeneous


system. There is no differentiation between the system’s infrastructure and its application.
They are all just one thing. It is an instance of a hammer. It cannot 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.

POWER OF INTEROPERABILITY

Unlike traditional technologies Platforms are simply designed as individual


physical objects that perform a function, platforms are designed to be interoperable with
other systems, they will likely have external applications running on top of them all of
which cannot be fully foreseen by the developers of the platform. Let us analyze an IoT
platform for a house that will have to interoperate and work with many devices and
technologies in the house if it has to be successful at delivering the end service. This
dematerialized nature makes them non-excludable and non-rivalrous which creates a
very different dynamic. The result is one of increasing cooperation as most of the value
is no longer inside of the organization or technology but increasingly outside of it; the
value is increased in the system’s capacity to interoperate with other systems.

See the case of a smartphone that would not be very valuable if it could not connect
to the internet or run other people’s applications on it. Most of the value that the end-user
gets from their smartphone is not created by the original technology developer, but
instead by other people connecting into that platform and building things on it, or that
system connecting to others. With information technology, we can build once and deploy
many times, almost anywhere at a very little cost per extra unit.

The typical example is Facebook they can build their software platform once and
through the internet, it can be accessed and used as a service at extremely little extra
cost, per person, to them. Interoperability and collaboration between systems are the key
ingredients, and platforms facilitate this by allowing different technologies to plug into
each other and seamlessly draw upon their services. A platform technology architecture
– being open – is optimized for user-generated systems

The most successful technology providers of tomorrow will be those who are able
to harness this mass of new capacity and capabilities on the long tail by providing them
with the tools, know-how, methods, and connectivity to participate, and the platform model
is ideal for this.
CAPACITY OF BUNDLING

The abundant blessings of platform technology have been defined as a structure


or technology from which various products can emerge without the expense of a new
process introduction. This is achieved by defining a core set of building blocks and then
configuring them into different bundles depending on the context. Effective platform
technologies should work interdependently, where the platform provides the elementary
building blocks that are then bundled together on the application level to meet the specific
requirements of the end-user. Platform design goes hand in hand with a service-oriented
architecture, where developers of applications treat the building blocks as services that
they then simply string together in different ways to build their solutions like a Lego kit.

We can explain this idea as mentioned here, within just a few weeks, one could
create a new service by building a web application that draws upon services from Twitter,
for user identity, Ethereum for secure transactions, Alibaba for sourcing materials,
Upwork for staffing, etc. The fact that you don’t have to build all of these core components
yourself, you are just plugging them together means that you can easily and quickly
reconfigure them when needed. At the heart of the platform, a model is a distinction
between the basic functionalities of the technology and how those functions are
composed.

In precise technology companies going to be more technological and the individual


engineers or end users can join with these common platforms without much financial and
technological burden. It inspires us to be more inclusive rather than being exclusive of
our own adamancy.

TYPES OF PLATFORM TECHNOLOGIES

A platform technology is an environment for building and running applications,


systems and processes. These can be viewed as toolsets for developing and operating
customized and tailored services. The following are common types of platform
technology.

1. Operating Systems - Operating systems provide the basic services required to


use hardware. These are the lowest level of platform. Almost all software runs on
an operating system such as Linux with the only exceptions being low level
firmware and embedded systems.

2. Computing Platforms - Platforms built on top of operating systems that provide


computing functionality in areas such as cloud computing and virtualization. For
example, a cloud computing platform that allows you to scale your services by
adding and removing virtual machines as required.

3. Database Platforms - Cloud platforms for deploying and managing various types
of database such as relational, NoSQL and in-memory databases.

4. Storage Platforms - Platforms for scalable storage of objects and files including
APIs and value added services such as resilient storage that is backed up in
multiple locations.

5. Application Platforms - Application platforms are environments and toolkits for


developing and deploying applications, a class of software that is primarily
designed to be used by people. For example, a platform that allows developers to
build dynamic web applications by executing code and integrating with databases,
systems and APIs.

6. Mobile Platforms - Mobile platforms include mobile operating systems and


environments for building mobile apps. They also include cloud platforms for
building mobile backends that provide services to mobile apps. This may include
specialized APIs that are useful for mobile app developers in areas such as
location services and voice recognition.

7. Web Platforms - Platforms that provide services that are useful to websites and
web-based software as a service such as web servers, web application servers,
content delivery networks and edge computing.

8. Content Management Systems (CMS) - Platforms for publishing and managing


content, media and documents. These are often used internally in organizations
as an intranet site and document management system. They are also commonly
used to publish web content such as a newspaper, blog or corporate website.

9. Media Platforms - Platforms for media publishing and analysis with tools such as
video transcoding, streaming and recognition.

10. API Platforms - Cloud platforms for deploying APIs that are typically built around
an API gateway that performs functions such as load balancing, latency reduction
and rate limiting.

11. Analytics Platform - Services for capturing, processing, analyzing and visualizing
data. This may include tools for ingesting, processing, querying and managing big
data.

12. Security Platform - Security services such as firewalls, identity & access
management, directory services, certificates, compliance reporting, encryption,
key management and threat detection.
13. Robotics Platform - Robotics platforms may include an operating system for
robots with a framework for developing and deploying backend systems and
services for robots on cloud infrastructure.

14. Internet of Things (IoT) - Internet of things platforms may include an operating
system for devices and a cloud platform with specialized APIs for internet of things
in areas such as device management, IoT security and analytics.

15. AI Platforms - Services that are based on AI such as a voice synthesis service
and tools for building your own AI such as a machine learning API. This may also
include environments for running your AI that are optimized for machine learning
such as a machine learning database.

16. Game Platform - Environments that are optimized for running game services such
as backends for mobile games or massively multiplayer online games. These may
include services such as 3D game engines, AR and VR APIs.
Lesson 2: Foundation of Platform Technologies

ABSTRACTION

The key to the platform technology architecture is abstraction, as all platform


technologies involve two distinctly different levels to their design with these different levels
defined according to their degree of abstraction. Abstraction is the quality of dealing with
generic forms rather than specific events, details or applications. In this respect,
abstraction means removing the application of the technology from the underlying
processes and functions that support that application. The platform is an abstraction,
meaning that in itself it does not have application. For example, you might rent a cloud
platform from a provider but in itself, this is absolutely no use to an end-user they cannot
do anything with it. Platforms are composed of generic processes that do not have specific
instantiation. The application is designed to bundle these underlying resources and turn
them into a real instance of an application that can be applied in the real world.

In the auto industry, for example, a car platform is a shared set of common design,
engineering, and production models from which many different specific models can be
created. In this way the car companies have abstracted away from any specific type of
car to create a two-tiered system; one level being generic the other specific to any
instance of that model. This is a central aspect of the platform model, the creation of a
generic form or set of services, on the underlying platform level, and then on the
application level these services are bundled into different configurations and customized
to the specific needs of the end-user. In such a way a finite amount of reusable abstract
building blocks can be bundled and re-bundled on the application layer.

This use of abstraction works to remove the complex for the application
developers. By moving core services down to the platform level application developers
can simply plug into these services and build their applications on top of it, thus working
to greatly simplify the complexity they encounter. We can think about a house as a
platform, once there are common protocols, IoT platforms for houses will be built where
any device, technology or item that enters into the house can then connect into the
platform and become an application, the house platform can then manage these
applications, providing them with infrastructure services and present them as an
integrated solution to the house occupants.
This core idea of abstraction is very powerful and can be applied to our entire
technology landscape, with smaller more specific technologies sitting on top of others that
work as the platform supporting them which, in turn, may also sit on top of others that
support them. For example, smart cities will become platforms with houses being
applications that draw upon the common physical and information resource made
available - such as parking, water, electricity etc - but also the house itself will be a
platform for all of the technologies within it delivering services to them. Each layer in the
hierarchy bundles the resources provided to it from that below and delivers those
resources as a service to the applications that sit on top of it.

LEVELS OF ABSTRACTION

Probably the clearest and best example of platform technologies are personal
computers. Let’s spend some time taking one of this computers to pieces to better
understand the different level of abstraction into a platform technology.

The platform, in this case, is the computer’s 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.

1. Foundation Layer (Hardware)

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.
2. Platform Layer (Operating System)

The next layer up from the foundations or hardware is the platform itself,
the computer’s operating system in this case. It essentially manages the
computer’s 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 used to build things with. These resources are
presented to producers on the application level through APIs, or application
program interfaces.

In an automotive factory, the platform would be the physical technologies in


the production line for creating the car’s parts. The employees can rearrange this
production line to create different vehicles. In the example of a 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.

3. Application Layer

On top of the operating system lies the application layer. Developers draw
on the services provided by the operating system and bundle them in various
different combinations to deliver a finished application to the end-user. Apps in the
App Store, the cars coming off of our production line, the buildings in a city or the
financial products offered by a bank are examples of the application layer, endless
configurations, and reconfigurations in response to the perceived needs and
feedback of the end-user.

4. User Interface Layer

Lastly, the user interface layer. When the end-user switches on their
computer, they don’t want to see 0’s and 1’s or lines of code. They want to see
things they understand, pictures of files, and nice drop down menus. The majority
of people who interface with the systems we are architecting will do so, so as to
get the maximum functionality out with the minimum input of effort. In order for
them to do this, we need a layer that translates the internal logic of the system into
a language they understand. This interface might be the dashboard on our car or
the receptionist in our hospital telling people where to go. Whatever it is, it is all
about the end-user, the language they speak, what they need, and how to translate
the systems functionality into a solution that involves the participation of the end-
user.
In continuing with our analogy from the world of I.T. we might call this a solution
stack, the full set of subsystems and layers of abstraction to provide the platforms full
functionality without dependencies. An important thing to note is that as we go up each
level of abstraction towards the end-user, we are simplifying the complexity and level of
engagement required. Those working on the platform level require a deep understanding
of the system and have to deal with its full complexity but are relatively unconstrained.

Those who engage with the system on the application and user level are
constrained by what the platform providers have designed, but being enabled by this
technology they will be able to do more with less input and engagement.

The net result is that we should get an amplification effect as we go up the solution
stack due to the increased ease of engagement. Thus, there will be many more
application developers than there are operation systems developers, and there will, in
turn, be many more end-users than there are application developers, and this should be
the case wherever we are using this platform model to systems architecture.

IMPORTANCE OF PLATFORM TECHNOLOGIES

Why should we care about platform technologies? There are a number of reasons
this architecture should be of benefit to us. Firstly, by distributing the system across
multiple layers, we can abstract away the complexity that users or producers of the
service have to deal with. Everything gets its own space. Secondly, we can avoid
redundancies by having the platform provide the common services required by all
components. We can reduce the need for each component on the application layer to re-
invent the wheel. Thirdly, platforms are the ideal architecture for creating user-generated
systems. Thus, we can leverage the amplification effect we discussed earlier to do more
with less, helping to maintain an agile core system. And lastly, the platform architecture
is ideal for building flexible, adaptive, and evolutionary systems. Given its independence
from fixed instances, the system can stay innovating on the application level to continue
regenerating itself.

You might also like