Summary

This document provides an overview of cloud computing, covering topics such as virtualization, cloud models (including service and deployment models), and commercial cloud services. It also discusses sensor-cloud architecture and fog computing, exploring real-world applications and future trends in these areas.

Full Transcript

Cloud Computing Cloud computing Cloud computing comprises a pool of multiple resources such as servers, storage, and network from single/multiple organizations. These resources are allocated to the end users as per requirement, on a payment basis. In cloud computing archi...

Cloud Computing Cloud computing Cloud computing comprises a pool of multiple resources such as servers, storage, and network from single/multiple organizations. These resources are allocated to the end users as per requirement, on a payment basis. In cloud computing architecture, an end user can request for customized resources such as storage space, RAM, operating systems, and other software to a cloud service provider (CSP). The cloud services are accessible from anywhere and at any time by an authorized user through Internet connectivity. Cloud computing Cloud computing comprises a shared pool of computing resources, which are accessible dynamically, ubiquitously, and on-demand basis by the users. This shared pool of resources includes networks, storage, processor, and servers. These resources are accessible by multiple users through a regular command-line terminal at the same or different time instants The services of cloud computing are based on the pay-per-use model. The concept is the same as paying utility bills based on consumption. In cloud computing, a user pays for the cloud services as per the duration of their resource usage. On the other hand, there is a CSP, that provides cloud services to end user organizations. Virtualization The technique of sharing a single resource among multiple end user organizations or end users is known as virtualization. In the virtualization process, a physical resource is logically distributed among multiple users. However, a user perceives that the resource is unlimited and is dedicatedly provided to him/her. Figure represents comparison of a traditional desktop, where an application (App) is running on top of an OS, and resources are utilized only for that particular application. On the other hand, multiple resources can be used by different end users through virtualization software Traditional desktop versus virtualization Advantages of virtualization With the increasing number of interconnected heterogeneous devices in IoT, the importance of virtualization also increases. In IoT, a user is least bothered about where the data from different heterogeneous devices are stored or processed for a particular application. Users are mainly concerned for their services Typically, there are different software such as VMware, which enable the concept of virtualization. There are two entities in a cloud computing architecture: end users and CSP. Both end users and CSP are benefited in several aspects through the process of virtualization. The major advantages, from the perspective of the end user and CSP, are as follows: Advantages for End Users Variety: The process of virtualization in cloud computing enables an end user organization to use various types of applications based on the requirements. Availability: Virtualization creates a logical separation of the resources of multiple entities without any intervention of end users. Consequently, the concept of virtualization makes available a considerable amount of resources as per user requirements. The end users feel that there areunlimited resources present dedicatedly for him/her. Portability: Portability signifies the availability of cloud computing services from anywhere in the world, at any instant of time. Elasticity: Through the concept of virtualization, an end user can scale-up or scale-down resource utilization as per requirements. Advantages for CSP Resource Utilization: Typically, a CSP in a cloud computing architecture procures resources on their own or get them from third parties. These resources are distributed among different users dynamically as per their requirements. A segment of a particular resource provided to a user at a time instant, can be provided to another user at a different time instant. Thus, in the cloud computing architecture, resources can be re-utilized for multiple users. Effective Revenue Generation: A CSP generates revenue from the end users based on resource utilization. Types of virtualization Based on the requirements of the users, virtualization can be categorized as shown below: (i) Hardware Virtualization: This type of virtualization indicates the sharing of hardware resources among multiple users. For example, a single processor appears as many different processors in a cloud computing architecture. Different operating systems can be installed in these processors and each of them can work as stand-alone machines. Storage Virtualization: In storage virtualization, the storage space from different entities are accumulated virtually, and seem like a single storage location. Through storage virtualization, a user’s documents or files exist in different locations in a distributed fashion. However, the users are under the impression that they have a single dedicated storage space provided to them. Application Virtualization: A single application is stored at the cloud end. However, as per requirement, a user can use the application in his/her local computer without ever actually installing the application. Similar to storage virtualization, in application virtualization, the users get the impression that applications are stored and executed in their local computer. Desktop Virtualization: This type of virtualization allows a user to access and utilize the services of a desktop that resides at the cloud. The users can use the desktop from their local desktop. Cloud models Cloud models can be divided into two parts: (1) Service model and (2) Deployment model as shown in Figure: The service model is categorized as: 1. Software-as-a-Service (SaaS), 2. Platform-as-a-Service (PaaS), and 3. Infrastructure-as-a-Service (IaaS). On the other hand, the deployment model is further categorized as: 1. Private cloud, 2. Community cloud, 3. Public cloud, and Cloud model Service Model Software-as-a-Service (SaaS) This service provides access to different software applications to an end user through Internet connectivity. For accessing the service, a user does not need to purchase and install the software applications on his/her local desktop. The software is located in a cloud server, from where the services are provided to multiple end users. SaaS offers scalability, by which users have the provision to use multiple software applications as per their requirements. Additionally, a user does not need to worry about the update of the software applications. These software are accessible from any location. One example of SaaS is Microsoft Office 365. Platform-as-a-Service (PaaS): PaaS provides a computing platform, by which a user can develop and run different applications. The cloud user need not go through the burden of installing and managing the infrastructure such as operating system, storage, and networks. However, the users can develop and manage the applications that are running on top of it. An example of PaaS is Google App Engine. Infrastructure-as-a-Service (IaaS): IaaS provides infrastructure such as storage, networks, and computing resources. A user uses the infrastructure without purchasing the software and other network components. In the infrastructure provided by a CSP, a user can use any composition of the operating system and software. An example of IaaS is Google Compute Engine. Service models Deployment Model Private Cloud: This type of cloud is owned explicitly by an end user organization. The internal resources of the organization maintain the private cloud. Example: NASA’s Nebula Cloud NASA developed Nebula, a private cloud computing platform, to handle their large-scale scientific data processing. It’s hosted at NASA's Ames Research Center. Community Cloud: This cloud forms with the collaboration of a set of organizations for a specific community. For a community cloud, each organization has some shared interests. Example: Government of Canada’s Shared Services Canada (SSC) Description: Shared Services Canada provides a community cloud platform shared by multiple federal departments like Health Canada, Transport Canada, etc. Public Cloud: The public cloud is owned by a third party organization, which provides services to the common public. The service of this cloud is available for any user, on a payment basis. Example: Microsoft Azure, Amazon Web Services (AWS), Google Cloud Platform (GCP) Description: These services offer infrastructure, platform, and software resources over the internet to anyone willing to pay. Hybrid Cloud: This type of cloud comprises two or more clouds (private, public, or community). Example: Netflix Description: Netflix uses a hybrid cloud setup. While most of their workloads run on AWS (public cloud), they also use private data centers for specific content delivery network (CDN) services. Service-Level Agreement in Cloud Computing For a clear understanding between CSP and the customer about the services, an agreement is required to be made, which is known as service-level agreement (SLA). An SLA provides a detailed description of the services that will be received by the customer. Based on the SLA, a customer can be aware of each and every term and condition of the services before availing them. An SLA may include multiple organizations for making the legal contract with the customers. Importance of SLA: An SLA is essential in cloud computing architecture for both CSP and customers. It is important because of the following reasons: Customer Point of View: Each CSP has its SLA, which contains a detailed description of the services. If a customer wants to use a cloud service, he/she can compare the SLAs of different organizations. Therefore, a customer can choose a preferred CSP based on the SLAs. CSP Point of View: In many cases, certain performance issues may occur for a particular service, because of which a CSP may not be able to provide the services efficiently. Thus, in such a situation, a CSP can explicitly mention in the SLA that they are not responsible for inefficient Metrics for SLA: Depending on the type of services, an SLA is constructed with different metrics. However, a few common metrics that are required to be included for constructing an SLA are as follows: (i) Availability: This metric signifies the amount of time the service will be accessible for the customer. (ii) Response Time: The maximum time that will be taken for responding to a customer request is measured by response time. (iii) Portability: This metric indicates the flexibility of transferring the data to another service. (iv) Problem Reporting: How to report a problem, whom and how to be contacted, is explained in this metric. (v) Penalty: The penalty for not meeting the promises mentioned in the SLA. Cloud Implementation Cloud simulation: It is challenging to estimate the performance of an IoT system with the cloud before real implementation. On the other hand, real deployment of the cloud is a complex and costly procedure. Thus, there is a requirement for simulating the system through a cloud simulator before real implementation. Advantages of Cloud Simulation to a customer Typically, a cloud simulator provides the following advantages to a customer: – Pre-deployment test before real implementation – System testing at no cost – Repeatable evaluation of the system – Pre-detection of issues that may affect the system performance – Flexibility to control the environment Currently, different types of cloud simulators are available. A few cloud simulators are listed here: CloudSim CloudSim is a popular cloud simulator that was developed at the University of Melbourne. This simulator is written in a Java-based environment. In CloudSim, a user is allowed to add or remove resources dynamically during the simulation and evaluate the performance of the scenario. It has different features, which are listed as follows: Features of CloudSim: (1) The CloudSim simulator provides various cloud computing data centers along with different data center network topologies in a simulation environment. (2) Using CloudSim, virtualization of server hosts can be done in a simulation. (3) A user is able to allocate virtual machines (VMs) dynamically. (4) It allows users to define their own policies for the allocation of host resources to VMs. (5) It provides flexibility to add or remove simulation components dynamically. (6) A user can stop and resume the simulation at any instant of time. CloudAnalyst It is based on CloudSim. This simulator provides a graphical user interface (GUI) for simulating a cloud environment, easily. The CloudAnalyst is used for simulating large-scale cloud applications. Features: (1) The CloudAnalyst simulator is easy to use due to the presence of the GUI. (2) It allows a user to add components and provides a flexible and high level of configuration. (3) A user can perform repeated experiments, considering different parameter values. (4) It can provide a graphical output, including a chart and table. GreenCloud It is a developed as an extension of a packet level network simulator, NS2. This simulator can monitor the energy consumption of different network components such as servers and switches. Features: (1) GreenCloud is an open-source simulator with user-friendly GUI. (2) It provides the facility for monitoring the energy consumption of the network and its various components. (3) It supports the simulations of cloud network components. (4) It enables improved power management schemes. (5) It allows a user to manage and configure devices, An open-source cloud: OpenStack For the real implementation of cloud, there are various open-source cloud platforms available such as OpenStack, CloudStack, and Eucalyptus. The OpenStack is free software, which provides a cloud IaaS to users. A user can easily use this cloud with the help of a GUI-based web interface or through the command line. OpenStack supports a vastly scalable cloud system, in which different pre-configured software suites are available. Features of OpenStack (i) OpenStack allows a user to create and deploy virtual machines. (ii) It provides the flexibility of setting up a cloud management environment. (iii) OpenStack supports an easy horizontal scaling: dynamic addition or removal of instances for providing services to multiple numbers of users. (iv) This cloud platform allows the users to access the source code and share their code to the community. Commercial Cloud It refers to cloud computing services offered by third-party vendors to individuals, businesses, and organizations on a pay-as-you-go or subscription basis. These services include: Infrastructure (IaaS) Platforms (PaaS) Software (SaaS) The cloud service provider owns, manages, and maintains the hardware, storage, networks, and data centers, while customers access services over the internet. Purpose: To help businesses reduce IT costs, scale quickly, and focus on their core operations without managing physical infrastructure. Key Features of Commercial Cloud 1. On-Demand Self-Service: 1. Users can provision computing resources like storage and processing power instantly. 2. Broad Network Access: 1. Accessible from anywhere via internet-enabled devices (PCs, phones, tablets). 3. Resource Pooling: 1. Shared infrastructure across multiple customers using multi-tenancy. 4. Rapid Elasticity: 1. Easy to scale resources up or down based on real-time demand. 5. Measured Services: 1. Customers are billed based on actual usage (storage, bandwidth, compute time). 6. Managed by Vendor: 1. Provider handles updates, maintenance, security, and compliance. Types of Commercial Cloud Services 1. Infrastructure as a Service (IaaS): 1. Provides virtualized computing resources like servers, networking, and storage. 2. Example: Amazon Web Services (AWS) EC2, Microsoft Azure VMs 2. Platform as a Service (PaaS): 1. Offers development platforms and tools for application development. 2. Example: Google App Engine, Heroku 3. Software as a Service (SaaS): 1. Delivers software applications over the internet on a subscription basis. 2. Example: Google Workspace, Microsoft 365, Salesforce Advantages of Commercial Cloud ✅ Cost Efficiency: No upfront hardware costs or infrastructure investments. Pay-per-use pricing saves money, especially for small businesses. ✅ Scalability & Flexibility: Instantly scale resources as business grows or during high demand. Flexibility to run applications across multiple regions and devices. ✅ High Availability & Reliability: Most commercial clouds offer 99.9% uptime guarantees and disaster recovery. ✅ Security & Compliance: Providers follow strict security protocols (encryption, access control) and industry compliance standards (e.g., GDPR, HIPAA). ✅ Focus on Core Business: IT staff can focus on innovation and application development instead of managing infrastructure. Challenges and Considerations ⚠ Data Privacy & Control: Sensitive data stored in third-party servers can raise concerns. ⚠ Vendor Lock-In: Difficult to migrate services between providers due to different architectures. ⚠ Downtime Risks: Although rare, outages in commercial clouds can disrupt operations. ⚠ Cost Overruns: Mismanagement of services or lack of monitoring can lead to unexpected expenses. Solution: Organizations must monitor usage, plan for portability, and enforce security policies. Real-World Use Cases and Examples 1. E-Commerce Platforms: Companies like Shopify and Amazon use commercial cloud for managing user traffic, payments, and product catalogs. 2. Media & Entertainment: Netflix uses AWS to stream content to millions of users globally. 3. Healthcare: Hospitals use commercial cloud to store patient records securely and access AI-driven diagnostics. 4. Startups & Enterprises: From small businesses to large corporations like Adobe, IBM, and Airbnb, commercial cloud supports app deployment, customer data management, and more. A commercial cloud: Amazon web services (AWS) Besides the open-source cloud, there are various commercial cloud infrastructures available in the market. Few of the popular commercial cloud infrastructures are Amazon Web Services (AWS), Microsoft Azure, and Google App Engine. AWS A user can launch and manage server instances in AWS. Typically, a web interface is used to handle the instances. Additionally, AWS provides different APIs (application programming interfaces), tools, and utilities for users. Like other commercial clouds, Amazon AWS follows the pay-per-use model. This cloud infrastructure provides a virtual computing environment, where different configurations, such as CPU, memory, storage, and networking capacity are available. Features of AWS (i) It provides flexibility to scale and manage the server capacity. (ii) AWS provides control to OS and deployment software. (iii) It follows the pay-per-use model. (iv) The cloud allows a user to establish connectivity between the physical network and private virtual network (v) The developer tools in this cloud infrastructure help a user for fast development and deployment of the software. (vi) AWS provides excellent management tools, which help a user to monitor and automate different components of the cloud. (vii) The cloud provides machine learning facilities, which are very useful for data scientists and developers. (viii) For extracting meaning from data, analytics play an important role. AWS also provides a data analytics Sensor-Cloud: Sensors-as-a-Service In a sensor-cloud, virtualization of sensors plays an essential role in providing services to multiple users. Typically, in a sensor-cloud architecture, multiple users receive services from different sensor nodes, simultaneously. However, the users remain oblivious to the fact that a set of sensor nodes is not dedicated solely to them for their application requirements. In reality, a particular sensor may be used for serving multiple user applications, simultaneously. The main aim of sensor-cloud infrastructure is to provide an opportunity for the common mass to use Wireless Sensor Networks (WSNs) on a payment basis. Similar to cloud computing, sensor-cloud architecture also Importance of sensor-cloud The sensor-cloud infrastructure is based on the concept of cloud computing, in which a user application is served by a set of homogeneous or heterogeneous sensor nodes. These sensor nodes are selected from a common pool of sensor nodes, as per the requirement of user applications. Using the sensor-cloud infrastructure, a user receives data for an application from multiple sensor nodes without owning them. Unlike sensor-cloud, if a user wants to use traditional WSN for a certain application he/she has to go through different pre-deployment and post-deployment hurdles. Figures below depicts the usage of sensor nodes using traditional WSN and sensor cloud infrastructure. With the help of a case study, we will discuss the advantages of sensor-cloud over traditional WSN. Architecture of a sensor-cloud platform Architecture of a sensor-cloud platform Unlike cloud computing, in sensor-cloud architecture, the sensor owners play an important role along with the service provider and end users. However, a service provider in sensor-cloud architecture is known as a sensor-cloud service provider (SCSP). The detailed architecture of a sensor-cloud is depicted in Figure Architecture of a sensor-cloud platform Actors in sensor-cloud architecture Actors in sensor-cloud architecture Typically, in a sensor-cloud architecture, three actors are present. We briefly describe the role of each actor. End User: This actor is also known as a customer of the sensor-cloud services. Typically, an end user registers him/herself with the infrastructure through a Web portal. Thereafter, he/she chooses the template of the services that are available in the sensor-cloud architecture to which he/she is registered. Finally, through the Web portal, the end user receives the services, as shown in following Figure. Based on the type and usage duration of service, the end user pays the charges to the SCSP. Sensor Owner: We have already discussed that the sensor-cloud architecture is based on the concept of Se-aaS. Therefore, the deployment of the sensors is essential in order to provide services to the end users. These sensors in a sensor cloud architecture are owned and deployed by the sensor owners, A particular sensor owner can own multiple homogeneous or heterogeneous sensor nodes. Based on the requirements of the users, these sensor nodes are virtualized and assigned to serving multiple applications at the same time. On the other hand, a sensor owner receives rent depending upon the duration and usage of Sensor-Cloud Service Provider (SCSP): An SCSP is responsible for managing the entire sensor-cloud infrastructure (including management of sensor owners and end users handling, resource handling, database management, cloud handling etc.), centrally. The SCSP receives rent from end users with the help of a pre-defined pricing model The pricing scheme may include the infrastructure cost, sensor owners’ rent, and the revenue of the SCSP. Typically, different algorithms are used for managing the entire infrastructure. The SCSP receives the rent from the end users and shares a partial amount with the sensor owners. The remaining amount is used for maintaining the infrastructure. In the process, the SCSP earns a certain amount of revenue from the payment of the end users. Sensor-Cloud Architecture from Different Viewpoints We explore the sensor-cloud architecture from two view points: 1. User organizational view and 2. Real architectural view. Different views of sensor-cloud architecture are shown in Figure Sensor-cloud architecture (i) User Organizational View: This view of sensor-cloud architecture is simple. In a sensor-cloud, end users interact with a Web interface for selecting templates of the services. Thereafter, the services are received by the end users through the Web interface. In this architecture, an end user is unaware of the complex processes that are running at the back end. (ii) Real Architectural View: The complex processing of sensor-cloud architecture is visualized through this view. The processes include sensor allocation, data extraction from the sensors, virtualization of sensor nodes, maintenance of the infrastructure, data center management, data caching, and others. For each process, there is a specific algorithm or scheme. Fog Computing It is a distributed computing model that brings computation, storage, and networking closer to IoT devices, rather than relying entirely on a centralized cloud. It acts as a bridge between edge devices and the cloud, reducing latency and improving response times. Why Fog for IoT? IoT generates massive data from sensors and devices. Sending all data to the cloud causes delays, bandwidth overload, and security concerns. Fog computing helps by processing data locally, enabling faster decisions. Why Fog Computing Matters in IoT: Reduces the load on the cloud Enables real-time processing for time-sensitive tasks Enhances security by localizing sensitive data Offers scalability and resilience for large-scale IoT systems Architecture of Fog Computing in IoT Three-Layer Architecture: 1. Edge Layer (Things Layer) 1. IoT sensors and devices (e.g., wearables, smart meters) 2. Collect and transmit raw data 2. Fog Layer (Local Processing) 1. Intermediate nodes like routers, gateways, micro data centers 2. Handles local decision-making, data filtering, and temporary storage 3. Cloud Layer (Centralized Processing) 1. Handles deep analytics, big data storage, and complex decisions 2. Receives only refined or necessary data from the fog layer Key Technologies Used: Virtualization Containers (e.g., Docker) Edge analytics AI/ML integration for fast local decision-making Advantages of Using Fog in IoT Real-World Applications Healthcare Monitoring IoT devices like ECG monitors and glucose sensors send data to fog-enabled hospital systems. Fog nodes detect abnormalities immediately, such as irregular heartbeats. Emergency alerts can be triggered without relying on cloud delay Autonomous Vehicles & Transportation Onboard fog nodes in self-driving cars process sensor and GPS data. Helps with lane changing, obstacle detection, and traffic decisions instantly. Roadside units act as fog nodes to help in vehicle-to-infrastructure (V2I) communication. Industrial IoT (Smart Manufacturing) Sensors on machines monitor heat, pressure, and vibrations. Fog nodes detect potential faults early → predictive maintenance. Reduces downtime and increases productivity. Smart Cities Fog-enabled traffic cameras and air quality sensors: Adjust traffic lights dynamically Notify users of poor air quality Conserve energy via automated lighting Smart Homes Local fog controllers automate home systems: Motion-based lighting Fire/smoke alarm responses Instant security alerts to homeowner’s device Challenges and Future of Fog in IoT Challenges in Fog Computing: Security: Local fog nodes are often less protected than cloud data centers Resource Constraints: Limited processing power compared to cloud Standardization: Lack of universal protocols and architecture Maintenance: Requires monitoring of many decentralized nodes Future Trends: Integration with AI and machine learning for smarter edge decisions Use in 5G networks to enable ultra-low latency services Growing importance in smart infrastructure, agriculture, and public safety