Designing your Digital Platform Architecture

Everything about Change & Digital
4 min readJul 10, 2020

--

Collaboration in the digital space. Image Source: educegroup

Have you been recently:

  1. Tasked to modernize internal systems to be more cloud-ready, designed to be more resilient and scalable and at the same time agnostic to the underlying infrastructure?
  2. Asked to start a Center of Excellence (COE) team that focus on Cloud, Digitization or Data, given a charter to start a transformation journey?
  3. Been given the mandate to drive Enterprise Architecture within the organization to transform how to maximize cloud or advanced services such as machine learning and Artificial Intelligence?

If the answer is yes to the above, you might already be starting to consider:

  1. Looking at moving to a cloud platform?
  2. Refactoring or revamping existing legacy monolith system into a more agile and manageable microservice architecture.
  3. Improving observability of the system to provide more proactive monitoring, with the ability to taken preemptive action before any outage.
Human Centric design and observability: image source: lightstep.com

So what are the architecture decisions that one will need to consider when designing a digital platform, will it be different from how we used to design and implement systems? The design considerations:

  1. Infrastructure: This is where system-level provisioning needs to be configured and set up to support the following availability, reliability, performance and scalability. The input parameters are usually defined based on expected traffic or transaction, the type of transaction broadly between reading, write and update. The expected uptime of the systems will determine if the systems need to be deployed across different sites to support the business.
  2. Application: This includes the services or operations that the system needs, how does it integrates with other systems and what are the protocols that it needs to support. This parameter requires the applications to cater to all existing interface and data protocol
  3. Data Storage: How often the data is accessed and how it will be accessed. To support the SLA requirement, will also determine the way data. Does it require more random, sequential or in-memory access? Does it require data processing near real-time?
  4. Business or User Interface: How and who are the users. It is mainly mobile, web page, devices or through chat and other voice-operated systems.

So what is different in the new digital platform world?

A digital platform involves a few extra consideration:

  1. Business Architecture, the Outside-In design: Understanding what is the expected user journey. It is not only restricted to the user interfaces that will be delivered, but it will also include the APIs that are required to support the excellent user experience.
  2. Governance Architecture: Pace of development is going to increase dramatically, and the number of engineers working, will be growing as well. The amount of investment to fuel this growth will require system design to be more prudent in effort and work. Consistent implementation is crucial to ensure the fast pace development will be kept in check with framework governing them. Implementations such as security, logging and monitoring are taken more at the enterprise level rather than at individual applications. It increases the visibility and the health of the system. It provides useful information such as utilization and performance using a consistent gauge.
  3. DevOps Integration: Eyeball check and physical checklist is no longer an efficient way to perform repeated validation tasks. The number of external dependencies of a system is growing, the need to faster time to market, ensure precision and quality with automation and templating and consistency between systems with components such as APIs, security and monitoring are becoming the norms for any systems today. These are critical to keeping the cost down and increasing quality.

There are few teams a platform team needs to have:

  1. Funding that allows the investment in people and experimentation, this should be on top of requirements that its consumers or providers will give as part of using the platform.
  2. Having a fixed team provides stability and growth, collectively this team can learn from each other that will help to improve the efficiency of the team and progressive improve the quality of their deliverables which will help the platform to grow too.
  3. Alignment of vision within the team will motivate the team to strive for excellence
  4. KPIs assignment to the entire team and individual members, which helps to foster accountability, and indirectly empower team members to make decisions to support their KPIs
  5. Creating a roadmap is a powerful communication tool with team members and other key stakeholders. It presents a thought process that has gone through how to operate the platform effectively and scaling its usage without expanding the resource requirements drastically

In conclusion, all new or improvements on existing systems, one will need to put on the hat of creating a platform with will go through a lifecycle of development, experimentation, delivery, and innovate and improve from feedback and metrics capture during its operation.

--

--

Everything about Change & Digital

Keen to drive growth and strategy, create new value or renewal by transforming an organization’s traditional analog business into digital with intelligent tools