Amazon Web Services (AWS)

Generic Topics

Platform Architecture applied to business

Role of platform products & services to mediate activities of disparate business components or ecosystems is widespread today. Platforms connect with & mediate diverse set of systems in an organization / connect disparate external services. Platforms, when used as a utility service, accelerates the velocity for consumers (development teams), creating their respective component modules.

Platforms may exist within firms as product lines, across firms as multi-product systems, and in the form of multi-sided markets. Platform architectures target to modularize complex systems, mediate between stable components and those components subjected to variations in time. Platform interfaces are designed to be stable, to control platform & it’s evolution.

One of the key trends in today’s fast paced market is for product creators to re-think the development approach. This is to maximize the return on investment for the business – applying component-based design; and apply reuse. Architecting effort is a key success factor - combine reuse approaches; improve time-to-market; fast-paced & efficient product development cycle.

What is platform architecture?

Product & system designers have long worked towards creating reusable, modular & pluggable components with stable, evolving & extensible interfaces, to integrate multiple disparate systems in an enterprise, cross-enterprises, OR across public domains.

Platform architecture means – “Structuring the business into domain owned technology platforms that deliver business value across and beyond the domain via domain owned and managed platform services”.

Fundamental architecture behind all platforms essentially partitioned into:

  • platform core components &
  • variety of complementary / peripheral components

 Core components are designed to be stable, composite, interactive & self-contained components which mediate across consumers – peripheral components or external services. Researchers have developed common set of tools to study platforms; representation schemes – network graphs from organization theory, design structure matrices from engineering design and layer maps from technology strategy.

Why platform architecture?

Platform architecture is widely used to address the design problems for complex systems; primarily to simplify & modularize system components to achieve:

  • Low coupling & high cohesion: reduce coupling, improve interaction / communication across component modules
  • Reduce product integration effort, to release related products & multiple product versions
  • Build scalable application components at an accelerated rate
  • Improve modularity, adaptability, modifiability & configuration management for developed system components

 Where is platform architecture applied?

Platform Architecture/business model is being employed by many organizations, IT, and non-IT because of the many benefits that they provide that outweigh the limitations/threats. Platform business is not just about potential: The profits of the top 50 publicly traded platform companies over the last five years amount to over $1.3 trillion [?].

Platform architecture today are applied to hardware & software product development & technology strategies for variety of business use cases. Listed here are a sub-set of industry use cases; evolving continuously: mobile application development; webpage / user-interface development; micro-services / applications mediation & integration; edge device integration IoT; systems for navigation; continuous development & integration; applied artificial intelligence & machine learning; etc.

Researchers have categorized platform applicability across three distinct, but related fields – product development, technology strategy & industrial economics. Although the fields are distinct & diverse, reuse of the core component to achieve economies of scale while reducing the cost of creating wide variety of complementary components is a common factor.

Managing platform architectures

System level economies of scope can be achieved by reducing the cost of developing product variants targeted at different markets or incorporate new technologies. For fixed components, economies of scale are realized via increased production volume. Decision to develop product variants are driven by the multiple design experiments & choose best outcomes without compromising the core functionality.
 

Defining modules & modular interfaces in a larger system helps split design & production across multiple partners. Such a structure allows for modular clusters or business ecosystems of complementary & competing firms. However, poses a potential threat to the business when outsourced sub-component partner(s) get access to core platform design / component architecture. 

A very popular example is the “Facebook” platform introduced in May 2007. Facebook platform is a set of APIs (application programming interface) & services, tools that help third parties to integrate and run their applications on Facebook. API enables to communicate & integrate with their services. Within its ever-evolving website Facebook is making its platform architecture available as a model for other social networking sites.

Platform system components & platform design considerations

Platform business models are underpinned by technology. The most important characteristic is that it should enable the exposure of common services that are quick and easy to integrate. Initial set of activities include - identify the key elements of the platform; underlying technology elements, business intent & architecture / design elements to build the platform.

Product / system design engineers define interface specifications for platform components to interact internally as well as with external consumers of the platform. Applying object-oriented design principles:

  • system components are loosely coupled; highly cohesive, segregate interfaces
  • generalize abstract interfaces; sub-components extend & implement specific functionality
    encapsulate actual implementation via exposed interfaces (composition & dependency inversion)
  • define extensible interfaces, handle data transformation – marshal & un-marshal data between  consumer(s) & provider(s)
  • identify & define supported data types, data formats, data transmission protocol(s)
  • define special data handling requirements – encryption, compression, segmentation, large-data handling, etc. Design the platform architecture to support special data handling.
  • identify mode of interaction – synchronous; asynchronous; event-driven; etc.

Most important considerations designing a platform are the NFRs – by definition, any platform design needs to be scalable, extensible, portable & available. Due considerations for testability are required to ensure a well-tested platform released in every increment.


Platform design is dependent upon the underlying hardware & infrastructure; technical specifications vary by the operating system, hardware, device specifications, supported connectivity protocols etc. Platforms have been promoted to increase the quick connect capability within a network.

Provisioning of services through a platform means bundling the re-occurring resources & features across application components and making them accessible for reuse. Following this principle, the platform contains the stable components and supports the variability & evolvability of the other services by constraining their linkages.

Platform-as-a-service (PaaS) and Platform Architecture

Gartner has highlighted key trends in PaaS technology & platform architecture to consider for the technology, budget, and organization. PaaS technology and platform architecture trends both reflect and drive the trends in the continuous transformation of cloud computing and digital business. As PaaS solutions have evolved a new era of container-based applications, micro architectures, and PaaS service providers have materialized. According to Gartner’s figures for 2019, a total of ~360 PaaS vendors offer >550 cloud platform services in 21 categories. Gartner predicted the numbers to double by 2022 at the current pace of platform delivery model.

So, what is platform as a service and how does platform architecture enable organizations to offer PaaS and thereby enable top class cloud and digital transformation experience?

PaaS was introduced formally at Euro-OSCON in 2006. It aims to attach itself to & extend pre-existing virtualized infrastructure offerings. PaaS adds to these offerings the ability to automatically configure a virtualized environment and install ready-to-use software stacks. By adding the software layer this model provides a highly scalable self-service solution, which can be leveraged for development and delivery purposes. Primary objective of PaaS or any automation solution is to aid developers by making them more efficient.

Recent work on Platform-as-a-Service is mostly oriented toward software development and operation & favors the needs of service implementers (Paraiso et al. 2012).  Platforms or platform architecture is dedicated to the integration of services. Platform architecture enables easier development, integration & deployment of PaaS solutions at an accelerated pace.

Platform architecture can leverage the benefits of shared services model offered with PaaS to quickly to deploy modular, extensible, scalable & portable solution components on-the-cloud.
 

Strengths / weaknesses [SWOT analysis]

Several important benefits enabled by applying platform architecture approach include:

  • business domains can take ownership of the IT applications & systems they use
  • each business domain can plan & manage their IT investments
  • approach enables clearly identify & define key platform services exposed via service integration patterns across the organization e.g. Amazon, Paypal, etc. adapt a similar approach
  • platform services help third parties / external service providers to seamlessly integrate with company’s IT services.
  • helps define stable interfaces to mediate business system components with external services, helps defined segregated interfaces
  • combination of stability & variety in architecture makes it possible to create novelty without developing a new system from scratch
  • when implemented applying separation of concerns, platform functions can evolve independently in parallel with other business functions

Considerations / Limitations

  • Requires skills & expertise to manage, operate & develop the platform – budgeting for platform IT costs is important.
  • Budgeting is also a responsibility for each business domain to co-own the shared platform services across the enterprise
  • Maintain, operate & support is essential, requires careful consideration of the economics related to platform architecture.

Conclusion

Platform architecture delivers benefits through domain autonomy & independence to evolve, adapt and provide new services to the market. Platform architectures are evolving today, has intrinsic demand across variety of architectures – mobile, user interfaces, modular services, API, authentication & authorization, IoT, artificial intelligence & machine learning, etc. 

Platform architecture aligns technology to business domain. Platform development applies to product development, technology strategy & industrial economics. Platform architectures can leverage benefits from PaaS services on cloud; offers flexibility & accelerate time-to-market with reduced upfront investment [economies of scale]. 

Implementing a platform architecture requires specialized skills across architecture, technology integration & engineering disciplines. Platform development requires an appropriate co-ordination, investment, right though process, specialized skills & flexible processes to evolve on a continuous basis.

 

References

  1. Graeme Perrins [2018]- Empowering Business with Platform Architecture Approach
  2. Gerrit Muller [2020] - How to Create a Manageable Platform Architecture?
  3. Inam Soomro & Olgun Cakabey [2011] - The Architecture of the Facebook Platform
  4. Carliss Y. Baldwin, C. Jason Woodard [2008] - The Architecture of Platforms: A Unified View
  5. Fabian Aulkemeier, Maria-Eugenia Iacob & Jos van Hillegersberg - An architectural perspective on service adoption https://www.tandfonline.com/doi/pdf/10.1080/10919392.2017.1363588?needAccess=true
  6. https://www.information-age.com/paas-technology-platform-architecture-gartner-123482068/
  7. Platform & Evolvability course - https://www.gaudisite.nl/PEVOC.html 


No comments:

Post a Comment