At a basic level when you use a personal computer you interact with three layers of computing. First, at the lowest layer, you have a physical piece of hardware with its processors, memory chips, disk drives, network cards and other components – we can call this the infrastructure. Second, in the middle layer, you have an operating system (such as Microsoft Windows) that interacts with the hardware and provides a consistent environment for running and developing software (using Visual Basic or Microsoft Access, for example) if you wish – we can call this the platform. And finally, at the top, there are third-party software applications (such as word processing packages) that you use in your work and play – and we can call these software. Figure 1.1
depicts this three-layer model of computing as a pyramid with infrastructure at the bottom, the platform in the middle
and software at the top.
Now consider a computer network for an office-based business that manages its own IT systems. To run this network
the business would typically require system administrators to look after hardware and networking (infrastructure);
IT support staff and desktop deployment tools to install applications and update the operating systems (platforms)
on desktop computers; and users who perform tasks with these applications (software).
This three-layer model can be applied to cloud computing, too, but there are a few key differences:
- Software applications are not desktop applications – they are web-based so they can be used in any up-to-date web browser on any computer operating system.
- Platforms are purpose-built software development environments that are hosted on the internet rather than your desktop computer so all you need is a web browser to create, test and deploy web applications.
- Infrastructure elements (servers, storage, bandwidth, processing power, etc) are provided by a third party; but you can access and use these computing resources as if they were installed on your own corporate network.
Like Michael Sheehan, who first proposed a ‘cloud pyramid’, I find the three-layer model useful for differentiating
between cloud computing service offerings (Sheehan, 2008).