In IT, a platform is any hardware or software used to host an application or service. An application platform, for example, consists of hardware, an operating system and coordinating programs that use the instruction set for a particular processor or microprocessor. In this case, the platform creates a foundation that ensures object code will execute successfully.
When purchasing software, it's important to know what platform the software was written for.
Some software is platform-specific, which means the developers have expressly developed their application program to run on one platform -- Windows or Mac, for example. Software can also be cross-platform, which means the developers intended the object code to be executed on more than one platform -- Win/Mac, for example. Software can also be platform-agnostic, which means the software is designed to run on any combination of operating system and processor architecture -- incorporating a web browser as part of the underlying platform, for example.
Software developers who want to see how their code behaves on different platforms may use a type of cloud computing called platform as a service, or PaaS. Simply put, the cloud provider hosts different combinations of hardware and software platforms on its own infrastructure and the software developer pays to use them. This frees the developers from having to install in-house hardware and software when developing and testing a new application.
In the enterprise, for example, underlying characteristics that define a server might involve processor type, such as Intel x86 or x64; memory type or performance, such as DDR4; and networking interconnections, such as 1 GigE. The physical characteristics of a server can also include its mounting form factor, such as rack or blade, or a specialty form factor, such as an Open Compute or Open Rack design.
The term platform may also go beyond simply describing the underlying architecture to also include software that is built upon the architecture. For example, the adoption of virtual machines in an enterprise requires a hypervisor platform, such as Microsoft Hyper-V or VMware vSphere.
Applications may also play a part in the platform concept. Even though an application may require an underlying computing system, such as a particular OS and server or storage hardware, an application may be considered a platform when it is used as a tool for performing meaningful work. For example, SQL is a database application, but it is frequently used as a component in other functions, such as logging, analytics, CRM and ERP systems. So, SQL may be referred to as a platform. Similarly, a web server application may be considered a platform because it is used to operate the business' storefront or user/partner portal.
Software stacks -- combinations of software components -- that allow the deployment of other complex services for the business may also be referred to as platforms. For example, an organization that wants to deliver in-house cloud capabilities may deploy the OpenStack framework as a private cloud platform. Or, a LAMP stack may be referred to as a platform for Linux software development that includes SUSE Linux Enterprise Server as the OS and PHP scripting as the development language.