Seems that everyone in enterprise technology these days talks about their product being “platform-based” or “a platform” or “working as a platform.”
Have you ever stopped to ask the question, “What is a platform?”
In the world of enterprise software applications, we have long been trying to update computing models. Based on research on distributed work from the 1930s and continuing onto ideas proposed in the 1960s, distributed computing is the key to scalability, integration, and security.
These three attributes are the basic elements any IT department seeks in an enterprise application: the ability to perform equally under any demand, the ability to connect to any other systems easily, and the ability to protect access and data simply.
One of the most compelling and publicly adopted models of distributed computing models is cloud computing.
For cloud computing to work well, early research determined that it was key to break down the pieces of the system: storage and processing, logic, and presentation to be more effective and achieve integration, scalability, and security. Three layers were proposed – IaaS (infrastructure as a service), PaaS (platform as a service), and SaaS (software as a service).
IaaS is where the computing model manages “the hardware:” processing power, storage, networking access, databases, file systems, and other similar systems are managed at this level.
SaaS is the interface with the user, whether human or another system and where the presentation of the program is processed and delivered.
A platform is where the logic for these systems to communicate resides –– and where the magic happens.
Communication between the three layers happens with tokenized security components to maintain security throughout, and communications between systems happen between platforms via open networks, so any platform can talk to any platform and easily integrate.
Scalability in this model happens through creating infinite instances of each subsystem easily while maintaining the integration and security. This is where the name distributed comes from: any piece of logic can be executed easily, effectively, and fast to deliver to any user anywhere while using any information and resources.
The way cloud computing works is quite simple: break down the problem to be solved into bite-size pieces, and use small pieces of logic (called services) to process them. Then, use the results from each service and system used to deliver the final version to the user or system that requested.
To do this well we need a central processing element: a traffic cop of sorts that knows where everything is, how to access it, and how to leverage it, and then how to put it back together.
That’s a platform.
Now, why does it matter?
As companies created ever more complex solutions and products, and customers were demanding faster and more accurate processing, we were reaching the natural limits of technologies and resources. We could not do the same work we do today in the cloud using antiquated models like timeshare and client-server –– not in an economically feasible way or in a timely manner.
Trends like social networks, big data, and serverless demand more resources than any one organization can provide without losing their shirts. Cloud computing, as the poster child for distributed computing, is helping us get there faster, easier, and cheaper while ensuring the results are timely and effective.
Platforms can be all-encompassing to integrate and process all business functions or focus on parts of it – like the communications platforms that are the subject of this series. Stay tuned for the next installment, where Paul Greenberg explains how the digital revolution isn’t about technology or data, but rather communications, in his post Why the communications revolution requires a new approach.