In this episode, I introduce one of the high-impact technologies called cloud computing to you.
Web technologies created a technological framework to share information conveniently. Further, web services that are implemented on the web technology stack extend this information sharing to business processes. Web services remotely execute a business process, such as transferring money from one bank account to another.
Cloud computing is a client server-based distributed computing paradigm that extends the concept of information sharing to resource sharing. Cloud computing realizes sharing of hardware elements, software infrastructure elements such as OS, DBMS, and business processes.
Cloud Computing (CC) is now an established alternative to meet the computing, storage and networking requirements of an enterprise in the presence of reliable Internet. In a conventional or traditional enterprise computing model, these resources need to bought and owned by an organization. An enterprise can hire such resources and services present on a remote machine using a pay-per-use billing model in the cloud environment.
The CC environment offers flexible deployment models for resources:
The Platform as a Service (PaaS) This mode provides access to hardware and computing resources such as CPU, Memory Storage, and GPU as a service. An example of such service providers includes Google's Cloud Services.
Infrastructure as a Service(IaaS) This mode provides access to infrastructural elements such as operating system, database software, application servers as a service. Examples of these services include Amazon's Elastic Computing Cloud.
Software as a Service (SaaS) In this mode, enterprise applications is hosted on a remote platform that a user can access anywhere. Examples of such kind of service providers include Salesforce's Cloud Services.
This flexibility makes CC a cost-effective solution to host resources and services for enterprise computing needs.
Limitations of Cloud Computing
This section describes the limitations of CC, particularly to meet the requirements of resource-constrained devices.
The CC paradigm has found useful especially for enterprise resource planning, customer relations management, and e-business owing to its characteristics such as high scalability, ease-of system administration, and support for rich programming models.
However, the CC environment falls short to meet various resource-constrained devices, including IoT, wearable devices, wireless sensors, and actuators. Some of these requirements are described below.
Latency: Video streaming, gaming, smart factories, and connected vehicles are some of the application scenarios which use devices like IoT and wireless sensors. The latency requirements of such applications fall in the range of microseconds to tens of milliseconds. The average latency experienced by resource-constrained dey are connected to the cloud falls in the range of a hundred milliseconds second. This high latency is undesirable in such application scenarios.
Bandwidth: The resource-constrained devices typically access the network through a wireless medium. Simultaneously; applications enabled by these devices such as smart factories produce data at the rate of thousands of gigabytes per second. The cloud computing environments fall short to meet such high bandwidth requirements.
Privacy and Security: In some application contexts, such as health monitoring and control, devices need to transmit private and personal information for remote processing. The resource-constrained devices lack the computing power to execute complex encryption algorithms needed to secure data transmitted over the public Internet. Hence, securing such information becomes a challenge when resource-constrained devices are connected to the cloud.
Context Awareness: In application scenarios such as connected vehicles, Intelligent Transport Systems(ITS) need to transfer context information. For example, information about traffic conditions, weather information, location and information. When resource-constrained devices are connected to a distant cloud data centre, transmitting such local information has little temporal and spatial relevance.
These limitations are the obstacles in designing and implementing applications in many sectors of sustainable development such as health, transport, smart cities, and industries. However, cloud computing is a significant technology from the sustainable development perspective because of its resource-sharing model. It realizes the goal of optimized energy consumption through sharing resources among multiple enterprises.