Mostly people refer to the innumerable applications and database that cloud supports but that’s only the tip of the iceberg as they say!
Fundamentally, cloud computing architecture is the renovation of an old concept called “Timesharing” for using IT resources. But for many organizations, the architecture itself needs to be focused more on services than relying on apps. With the advent of cloud computing, people and entities would be more reliant on services, but currently it’s a significant change for many as they shift from single massive applications to selections of vastly distributed services cloud puts at their disposal.
Mostly, cloud based systems are amalgamation of services hosted in isolated sites and calibrated with internal systems to compose a business application. Hence the most efficient method to calculate usage of cloud computing resources is to taking into consideration the services, not the applications.
For instance, consider a simple inventory application; it may exist inside a conventional database (like SQL server or Oracle) within the organization while the services that actually operate and process the data reside within Amazon EC2. The interface which lets users interact with it may exist on a PaaS provider like Google App Engine.
All of this might depict a very hodgepodge scenario, but it’s a norm for cloud applications to be distributed across internal resources and public cloud or even quite a few public clouds. Understanding the whole hierarchy is dependent on scrutinizing the number of cloud based services being used by the application.