Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a netowrk (typically the Internet). The name comes from the use of a cloud-shaped symbol as an abstraction for the complex infrastructure it contains in system diagrams. Cloud computing entrusts remote services with a user’s data, software and computation.
Cloud computing in turn is computing which leverages the internet as a tool through which remote computers share memory, processing, network capacity, software, and other IT services on-demand.
The Cloud Pyramid :
The basic architecture of the Cloud is simple and is called the “Cloud Pyramid,” the resources of the Cloud can be visualized as three key segments: Cloud infrastructure at the bottom, Cloud platforms in the middle, and Cloud applications at the top.
At the apps level of a Cloud, client enterprises are served fully functioning Software as a Service (SaaS) resources, with little need for programming on the part of the client. The client need not worry about the details of creating applications, building/maintaining platforms or over-seeing the details of infrastructure (physical data centers). Clients who purchase SaaS Cloud resources are, for the most part, acquiring turn-key access to standing computer tools just waiting to receive their data and begin processing.
At the platform level, client enterprises are served Platform as a Service (PaaS) resources. Clients purchasing PaaS resources abdicate the responsibility for platform construction/maintenance and the maintenance of infrastructure to the Cloud supplier, but they take upon themselves the task of either building their own custom applications or else installing apps supplied by third parties, and making sure they work well in concert. PaaS support offerings will usually include tools for application design, development, testing, deployment and hosting as well as services such as team collaboration,web service integration,along with database integration, security, scalability, storage, persistence, state management, application versioning, application instrumentation and developer community facilitation.
Lastly, client enterprises accessing the Cloud in an Infrastructure as a Service (IaaS) paradigm take it upon themselves to build/maintain their own platforms and applications. These clients are basically just purchasing raw computing capacity and storage.
Differentiating Public, Private and Hybrid Cloud Environments :
When most people speak of Cloud Computing, they generally mean a “public Cloud.” In a public Cloud a provider such as Amazon or Google makes computing resources (such as processing power, memory or storage) publicly available over the internet. In a public Cloud, the pay-as-you go model is present in its purest form, and resources are shared between all subscribers. Public Clouds typically run on open-source software to facilitate the movement of vast amounts of data. However, an increasing number of software companies (including Microsoft and Oracle) are beginning to provide Cloud infrastructures utilizing proprietary software.
Public Clouds are generally perceived – to an increasing extent, unfairly, as shall be shown in a later chapter – to be insecure environments where an organization’s data is liable to theft, spying or destruction. This perception has helped two other types of computing Clouds rise in popularity: the private Cloud and the hybrid cloud.
The term “private Cloud” refers to privately-held, discrete computing infrastructures that have capabilities similar to a Cloud but are not shared by diverse organizations. Although this paradigm eliminates many of the cost-benefits of Cloud Computing, it still allows for virtualization to simulate resource allocation, and therefore can save on at least some costs while also assuring an impregnable – albeit pricey – operating environment.
Of increasing popularity is the hybrid Cloud, which allows for most of the cost-savings associated with public Clouds, while also offering proprietary security. In a hybrid Cloud, a significant amount of processing and data storage gets transacted on a public Cloud, and the balance in a private Cloud. Most organizations have sensitive and non-sensitive information and applications. Not all data and not all operations need be bullet-proof. In most hybrid Clouds, the database servers containing sensitive proprietary information are kept on a private Cloud, while a public cloud is used for everything else.