Recently, with the increased demand for having software applications with diverse capabilities, the need to efficiently process and store the data has also increased manifolds. To fulfil the demands of efficient processing of the data being generated at a faster pace is beyond the capabilities of the enterprises. The reason is that the computing machines and infrastructure owned by the organizations is not capable of processing the information at the desired pace. Moreover, to procure the high-end computing machines may not be economically feasible for several organizations. For such organizations with limited resources, cloud computing has emerged as a great opportunity where organizations can efficiently process large amounts of data and store the data to the cloud without the hassle of development, management, and maintenance of computing infrastructure.
Cloud Computing Definition
Formally defined, cloud computing is provision of on-demand information technology resources, such as computing power, software, storage, networking services, databases, and other hardware infrastructure through the Internet on pay-as-you-go model without the involvement of consumers in the management task. Client organizations only pay for the services procured from the cloud service providers instead of developing and managing their own infrastructure.
Cloud Computing Architecture
The cloud computing architecture is a broader term that represents different components including the software and hardware components and their interrelationship with each other to fulfil the client’s business objectives. The architectural view of cloud computing environment from the perspective of cloud service providers is complex due to the management complexity at their end whereas from the client or end users’ perspective this view is pretty simple and straight forward, free from the management intricacies. All, the clients need to do is to access the cloud services and resources through an interface to the Internet to perform their business tasks without the concern to manage the infrastructure. Example of interface is a Web browser through which the clients or end users access the cloud services.
On the other hand, the architectural view from the cloud providers’ perspective is multifaceted and contains the back-end components that are mandatory to provide cloud services. The back-end architectural components include: (i) management services, for example the communication protocols and virtualization services etc., (ii) security services and mechanisms, (iii) computing and other infrastructure services, (iv) storages services, and (v) software resources. It is important to mention that the management of the tasks to provide uninterrupted services to the cloud tenants is the responsibility of cloud services providers.
Cloud Computing Services
Cloud computing is a computing paradigm that provides scalable and on-demand services to its clients. To procure the cloud services, the tenants pay according to the level of the services, which is also called pay-as-you-go model. The typical services that cloud computing offers include:
- Cloud based deployment of software applications
- Computing power to overcome the local processing issues
- Storage services
- Several other infrastructure services, in addition to computing and storage. For example, networking, virtualization, hardware etc.
- Platform and databases
- Cloud based software development
The names of some popular cloud service providers are:
- Amazon Web Services (AWS)
- Google Cloud Platform
- Microsoft Azure
- Red Hat
- Salesforce
- IBM Cloud
- Oracle Cloud
- Adobe
- VMware
- Dropbox
Cloud Service Models
Cloud computing services are provided according to the following three service models.
Software as a Service (SaaS)
In this model, the cloud service users or consumers access the services or applications, such as email, content management like WordPress, Joomla etc. provided by the cloud provider through Web browser. A concept important to understand here is that the consumers do not have to do anything related to the management of the services. Instead, the services are completely administered by the cloud service providers.
Platform as a Service (PaaS)
In Platform as a Service (PaaS) model, the consumers procure the required cloud services for certain development tasks. The cloud provider is responsible to provide storage, computing services, network, operating systems, databases, middleware etc. for hosting the consumers’ applications. The consumers or users are able to configure their applications; however, providing the infrastructure related services is the responsibility of cloud service provider. The common PaaS examples include Google App Engine, Force.com, Windows Azure etc.
Infrastructure as a Service (IaaS)
In Infrastructure as a Service (IaaS) model, the organizations or users procure the cloud services, such as storage or compute power from the cloud providers and run their software or operating system. Although the users have control over the operating systems, applications, and storage but the management and control of the cloud infrastructure is the responsibility of the cloud service providers. The IaaS examples are Google Compute Engine, Microsoft Azure, Amazon Web Service (AWS), CISCO Metapod etc.
Cloud Computing Deployment Models
To serve the needs of a variety of consumers and varying operating, security, and privacy requirements of cloud tenants, the following deployment models exist.
Public Cloud
Public cloud services are offered by the cloud provider on a public network, for example Internet. Public cloud is shared among several organizations and therefore, they share the cost of the procured services. In this cloud, the consumers do not have any control over the applications and data because all the operations are overseen by the provider. Moreover, as per the changing demands, it gives the consumers the flexibility to scale-up or scale-down. Due to its very nature, there are certain vital concerns, for example privacy and security of the data.
Private Cloud
In contrast to the public cloud, the private cloud is used by a single organization without sharing with other organizations. Consequently, the organization has greater control over data and hence better security as compared to the public cloud. In this case, the management operations are the responsibility of the organization.
Community Cloud
The community cloud is shared by the organization or stakeholders having similar domains, for example banks, healthcare organizations etc. Due to the similar nature of businesses, the requirements and concerns of the participating organizations are mostly similar too. The community cloud can both be managed by the organizations themselves or any third-party provider.
Hybrid Cloud
In this deployment model, the characteristics of both the public and private cloud are combined. Some of the services are managed on-premises whereas others can be procured from the third-party providers. Therefore, this model offers the organizations both the control over their sensitive data as well as the flexibility to get the benefits of scaled services of the public cloud.
Cloud Computing Benefits and Risks
Cloud computing benefits and risks are presented below:
- Cloud computing relieves the organizations of the difficult task of infrastructure development and management. The cloud providers are mainly responsible for all the management and maintenance related issues.
- Since organizations do not have to develop the infrastructure, consequently, cloud computing brings lots of cost savings, particularly for small organizations. The organizations have the flexibility to pay according to the services they utilize consequently saving lots of upfront costs for infrastructure development.
- Cloud computing also provides scalable, elastic, and efficient services with round the clock availability. The resources and services can be scaled-up and scaled-down according to the varying processing demands of the cloud tenants or consumers.
- The deployment of systems in cloud is easier and faster because the preliminary deployment requirements have already been fulfilled by the cloud providers.
- The organizations do not have to be concerned about the storage and backup issues. Rather all such tasks are the responsibility of the cloud service providers.
Despite cloud computing benefits, it also entails certain risks, for example:
- The first and the foremost threat in the cloud is the security and privacy of the data stored at the cloud. Particularly, the data in public clouds where the consumers do not have control over their data the risks of data disclosure to the unauthorized entities increase manifolds.
- Since the tenants connect to the cloud remotely from different locations, therefore, continuous network connectivity is required to access the cloud services. The network might not be accessible sometimes, for example in case of weather-related issues and hence, the cloud services are not available. This would not be the case when the processing or storage was to be done locally.
- The resolution of technical problems during the operations requires the involvement of the providers which often is not affordable.
- Another problem that the cloud consumers sometimes face is the bandwidth issue when transmitting data to or retrieving from the cloud. To overcome such issues data compression of load balancing techniques are applied.
There are various other benefits and risks or challenges that can be attributed to the cloud computing. However, there is always a trade-off. In fact, the benefits of the cloud outweigh its limitations and call for the development of alternative mechanisms to overcome the issues instead of refusing to adopt it.
Comments on “Cloud Computing Models and Architecture”