Important Considerations to Identify Technology Platforms for an Enterprise

Gagan Bajaj
8 min readAug 29, 2021
Title Image

What is Platform? We hear this term “Platform” on various occasions in organization, but there is no clear answer to what it is exactly. Its quite abstract in nature and based on to whom we are discussing we get different answers to it. Such as if we talk to a person say a developer, tech lead or tech manager, platform for them can be cloud platform, mobile platform, windows or linux platform. Where as if we are talking to enterprise architects or CTO the discussion will be more like Microsoft Dynamics as CRM platform, Zoho for HRMS platform, Adobe Marketing Cloud as digital marketing platform, SAP Hybris as ecommerce platform etc… So we get totally different answers, and they’re all correct. Since so many things are described as platforms, this word gets used again and again to describe an incredible variety of very different products and solutions. So its important to understand the context in which we are describing.

So, we are back to our question, what is a platform?

Platform is a good support structure that can make what we’re doing more secure, more reliable, more resilient by providing out of box functionality or implementation which are generic in nature for that particular technology and domain and keeping all the widely accepted best practices in mind. But still, by itself the platform won’t fix the problem. We still have to bring something to it, people, data and business logic which is relevant for our use case.

How to select a platform?

So, platform act as an assistance and help us in accelerating the implementation of some common functionality we anyways has to implement such as customer support, billing, payroll, supply chain management, marketing etc. These platforms platform provide a common business requirements which are incredibly important. So its important to know how to identify which platform that suits our business needs and which will not. Here are some of the factors we must keep in mind:

Size of Organization: Say if we’re in a brand‑new startup and there’s just two or three employees, then there’s some business problems we don’t have yet. We probably don’t need a formal system to keep track of our hiring and recruitment efforts or handle physical asset tracking or manage IT helpdesk requests. But if we’re a 1,000+ or a 100,000+ person company or trying to become one of those, we will need those things. So in general, the larger an organization gets, there’s more potential places for platforms to help.

Hosting: Back in 2000s and early part of last decade we generally have to install a platform through CDROM or download it from internet. But cloud has brought revolution in this in last few years when not just software’s but platform itself are available over the cloud and we just have to subscribe to it and kick start our work. Typical example of this is popular CMS and CRM platforms such as Office365 and Salesforce. For these platform we don’t have to install anything on our machines. Provider themselves take care of data, keeping it safe and backed up. Also, its providers take responsibilities of upgrade, fixing bugs and adding new feature and deliver over the web. Today most of the enterprise are actively adopting cloud based platforms as they helps a lot in managing infrastructure and operational cost.

Extensibility and Customizable: Now this is an important difference between a platform and application, i.e. ability to customize. One of the things we expect of any platform is that it’s customizable. It is extensible, we can change and we can add onto it. Now some of the customization might be done without code. We may find drag‑and‑drop editors where we can change and rearrange screens and build what’s important to us. But for anything more complex or custom, we can also have our software developers writing new code that can be uploaded to the platform and provide us with those additional unique features we need. So a huge part of using any platform, is this idea of extensibility and customization. And it’s not that customization is allowed, it’s expected, and that’s what leads to make decision whether to purchase a platform or not.

Planning and Configuration: When we work with the platform there is always some level of planning, configuration, customization that is fully expected before this can become useful. Even though it might only take us a minute to create an account and sign up. Still, and actual implementation is likely to be within weeks. It’s not instant because it needs to be tailored to our business. Customization isn’t just permitted, it’s fully expected, and they’ll provide guided walkthroughs and best practices and recommendations because the platform is substantial enough to need some level of education in how to use it. So there’s always a certain amount of work we have to do for any platform to be implemented successfully in an organization.

Computing and Infrastructure: So far we have mainly discussed about SaaS platforms which provide some common business functionality out of the box for an enterprise. But what about the online functionality/ features provided by an enterprise to its customers. For that we need compute and infrastructure to make it available over the internet. If we have not adopted any cloud platform then we have to purchase servers and deploy our application on that and then make it available over the web. That is quite time consuming and need expertise to set it up. Cloud based compute and infrastructure and resolved this to a large extent, today we have multiple public cloud vendors available such as Microsoft Azure, AWS, GCP etc.. They all provide the modular building block approach where we can pick and choose from a collection of pay‑as‑you‑go hosted options for computing infrastructure and software development.

Compute and infrastructure services generally comes in 2 flavors Infrastructure as a Service commonly known as IaaS and Platform as a Service also commonly known as PaaS. So, when we deal with compute resources such as number of servers we need, exactly how much ram, how fast CPU should be, which location to choose etc.. its called as adopting IaaS. On the other hand if we are dealing with the scenario where we may not actually want to work at that level of specificity and we are just looking the platform to provide preconfigured software development environment where it can be automatically set up and ready for us to build websites or mobile application back ends or work with artificial intelligence or machine learning, whatever we need at the time, and where the cloud service provider can automatically take care of things like operating system updates and security fixes and even allocate changing amounts of computing resources based on however much I need at the time, it is considered as PaaS. based on our requirements and expertise we need to consider which platform to adopt.

Integrations: If we consider that most enterprise‑level organization, typical Fortune 500‑level business already has dozens, if not hundreds, of different platforms and cloud services in use. Now, these weren’t all company‑wide platforms. Some things might be used on a team‑by‑team basis. Others might even be individual SaaS services maybe used by a few people in the company. And some platforms are mainly used behind the scenes, so they’ll be invisible to a lot of day‑to‑day end users, and we may not even be aware of all the platforms we’re touching every day. But still, yes, it is already common, and it’s becoming more common for a business to use multiple platforms. So when we evaluate any platform we need to think about how they might integrate with our current business and other platform which we may have already chosen.

We also need to consider the platforms that don’t deal with a specific preexisting business function, but rather platforms that exist to help with other platforms, to deal with integration and workflow. Examples companies like MuleSoft, Anypoint, Boomi, and elastic.io. These all specialize in this integration story. There are some other challenges as well when we deal with multiple 3rd party platforms, nobody wants to have to sign on to a dozen different systems a day, so we could also find platform vendors that help with authentication and identity management services such as Okta.

Risk Mitigation: When we are using a cloud based platform the data is stored and generated by the platform which involves some level of risk. Vendor was us to join their platform and they want us to stay on it, though may be unintentional but it may result in some sort of vendor locking especially the ease with which we can adopt to these platforms. Also, sometimes the benefits and the risk actually have the same cause especially in case of Software-as-a-service platforms. It’s often touted as a big benefit that the platform vendor will continually make updates and ship new features but this is also has some risk. Sometimes these changes done the the vendor are quite substantial and they make these changes quite frequently which can be difficult to keep up with all the new features continually.

Pricing: This is one of the most important factor which considering any platform. Most of the factors we have discussed above have direct or indirect impact pricing of platform. Based on requirement we need to consider the budget for purchasing these platforms and before busying such platform we must evaluate how much business benefit it will provide to me. As we have discussed above if we are a small organization we may not need certain platform and can easily manage the some operations manually or with some basic tools such as excel, word or email.

We also need to consider every platform has cost implications. As we have discussed about vendor locking in risk mitigation section we also need to consider the cost, what will happen when we plan to move away from that platform. That’s the reason why cloud native approach is more popular while considering Compute and Infrastructure.

Compliance and Governance: Since when we adopt any cloud based platform we end up storing company’s business and customer data on these platform’s data centers. If we are dealing with healthcare, financial records, education or defense contracts then there are multiple standards and compliance requirements we need to consider. Before adopting to any platform first check whether the SaaS platforms provide the details about their compliance certifications and attestations. For compute platform check for specific guidelines on their services related to compliance. Most of the major public cloud providers expose the services related to compliance such as Microsoft Trust Center for Azure. We can also find due diligence checklist for using cloud platforms that can identify any gaps in our planning.

--

--