Cloud Computing (Finals)
Cloud Computing (Finals)
Cloud computing is a technology that allows the user to access the computer resources such as storage,
processing power, and application over the internet. Instead of owning and maintaining the physical
hardware and software user utilizes the recourses that are hosted by remoted data centre operator by cloud
service provider.
Evolved:
Cloud computing was evolved form the two field of computing that is grid computing and cluster
computing.
Dependence:
Cloud computing depends upon a technology called virtualization technology for dynamic creation and
provisioning of computer recourses.
Grid Computing:
Grid computing is defined as a network of computers working together to perform tasks that would br rather
difficult for a single machine. All the machine on the network work under the same protocol to act as the
super virtual computer.
Cluster computing:
It is a collection of loosely or tightly connect computer that work together to act as a single entity. The
connected system executes the program altogether to give the illusion of a single system. The cluster a
connected through a fast local area network (LAN).
Advantages:
The main advantages of resources cluster mechanism are:
Computing capacity
Load balancing
High availability
1
Links:
High speed communication links are used to connect the clustered IT resources for Workload distribution,
Task scheduling, Data sharing, System synchronization
Types of clusters:
Following is some types of clusters:
High performance cluster – use multiple nodes parallel to solve complex computational problem.
Load balancing clusters – distributes the incoming request across multiple nodes to prevent a single
node being overloaded.
High availability clusters – maintain redundant nodes to ensure continuous operations and data
availability serving as a backup system in case of failure.
Server clusters – Consisting of physical or virtual servers. The virtualized clusters support the
migration of VMs for scaling and load balancing.
Database clusters - Keeps copies of databases on multiple servers. Ensures data is the same on all
copies, which helps in case of server failures.
Large dataset clusters – Splits big datasets across servers without losing accuracy. Each server
works independently, without needing to communicate with others.
Cloud deployment:
A cloud deployment model refers to a way in which cloud computing environment is implemented and
managed. It dictates how recourses are provisioned, shared and accessed within the cloud infrastructure.
Private Cloud – Cloud services are owned and operated by a third-party cloud service provider and
they are made available to the general public over the internet.
Public cloud – It involves deploying cloud recourses within a dedicated environment that
exclusively used by an organization.
Hybrid cloud – It combines the elements of both public and private cloud.
Community cloud – This model involves sharing of cloud recourses and infrastructure among
several organization with similar interest.
Multi cloud – This model involves using multiple cloud service providers to host different
components of an organization IT infrastructure.
Multi-Device Broker:
This mechanism is used to transform the messages (received from heterogenous devices of Cloud
consumers) into a standard format before conveying them to the Cloud service. The response messages from
Cloud service are intercepted and transformed back to the device specific format before conveying to the
devices through the multi-device broker mechanism.
2
State Management Database: It is a device used to temporarily store the state data of software programs.
Types of Portals:
Self-Service Portal:
Let’s users browse and select cloud services.
Users can request these services, and the cloud provider sets them up automatically.
VIM:
Resources Management System utilizes the virtual infrastructure manager (VIM) for creating and managing
the virtual IT resources.
SLA:
An SLA, or Service Level Agreement, is a formal contract between a service provider and a customer.
Example:
Sibling pools are independent and isolated from each other. May have different types of IT
resources.
Nested pools are drawn from a bigger pool and consist of the same types of IT resources as are
present in the parent pool
3
b) Dynamic Scalability Architecture:
Dynamic scalability is provided through dynamic allocation of available resources from the resource pool
Scaling:
Scaling can be horizontal & vertical and can also be through dynamic relocation
Requirements:
To implement this architecture, the automated scaling listener (ASL) and Resource Replication Mechanism
are utilized.
4
It is the implementation of failover system across multiple clouds. It improves/increases the following
features:
Running a script
Sending a message
Restarting services
Different Shelves: You place commonly used items on easily accessible shelves near the front.
Less Used Items: Items used less frequently are stored on higher or harder-to-reach shelves in the back.
Solution:
Evaluate Options: Decide whether to handle excess requests internally or through partnerships with other
cloud providers.
Consider Costs: Calculate the revenue from extra requests versus the cost of using another provider's
resources.
Prioritize Requests: Balance the urgency of customer deadlines against the time it takes to process requests
remotely.
Federation Benefits: Joining a federation allows providers to cooperate, sharing resources and reducing
delays caused by network distances.
Horizontal Expansion: This means expanding services across different types of cloud offerings (like
Infrastructure as a Service, Platform as a Service, and Software as a Service).
Note:
Vertical Expansion: Adding more hardware or resources.
Horizontal Expansion: Adding more services or features.
7
Cloud Brokerage:
Cloud Brokerage simplifies cloud service selection and management by acting as a middleman between
cloud service providers and customers. It offers a marketplace where customers can choose from various
cloud services, provides added services like monitoring and security, and helps negotiate the best terms. This
makes it easier for businesses to find and use the right cloud solutions without dealing directly with multiple
providers.
Advantages:
Finding the Best Provider: A broker, like a middleman, helps businesses find the perfect cloud provider.
They do this based on what the business needs and wants.
Saving Time and Effort: Instead of businesses searching on their own, the broker does the searching. This
saves businesses a lot of time and work.
Understanding Needs: Brokers work closely with businesses to understand what they need from the cloud,
like how much they can spend and what they need to do with it.
Offering Choices: Brokers give businesses a list of options, so they can choose the cloud provider that’s
right for them. They look at things like budget and what the business wants to do.
Negotiating and Contracting: Brokers can even negotiate with providers on behalf of the business. They
help set up contracts and make sure everything is fair.
Extra Help: Some brokers offer tools to help businesses use their cloud resources better. They might help
with keeping data safe, managing how it moves around, and giving advice on how to get the most out of the
cloud.
Isolation and Scalability: VLANs and network controls separate VMs for each customer, while resource
pools and management systems ensure scalability.
Reliability and Security: Data replication ensures high availability, and multipath access enhances
reliability. Billing and SLA monitors track usage for accurate billing and management.
Security Measures: Encryption, authentication, and authorization systems protect data and ensure secure
access.
Note:
Encryption keeps data secure by encoding it, authentication verifies users' identities, and authorization
controls what actions they can take or what data they can access once authenticated.
8
Cloud Provider's Perspective about PaaS:
Ready-made Environments: Developers access pre-configured environments with software tools and
SDKs for building and testing applications.
Scalability and Multitenancy: PaaS environments support scaling applications based on demand and
budget, using automated scaling and load balancers for workload distribution.
Reliability: Non-disruptive service relocation and failover systems maintain application availability across
multiple VMs and data centers.
Monitoring and Security: Pay-per-use and SLA monitors track resource usage and failures, leveraging IaaS
security features for protection.
Implementation Mediums: SaaS applications are accessed via mobile apps, REST or web services,
providing APIs for functions like payments (e.g., PayPal) and maps (e.g., Google Maps).
Multi-Device Access: Mobile-based SaaS apps use a multi-device broker for diverse device access.
Architecture and Monitoring: SaaS relies on load balancing, dynamic failure detection, storage
maintenance, elastic resource/network capacity, and cloud balancing for efficient operation. Usage data
collected by pay-per-use monitors helps with billing, and additional security measures ensure data
protection.
Accessing VMs: Consumers use remote applications like remote desktop for Windows or SSH for Mac and
Linux to connect to their VMs, which have an operating system installed.
Managing Cloud Storage: Cloud storage can be connected directly to VMs or to local devices on-site.
Different storage types like networked file systems, storage area networks, or object-based storage are
accessible through web interfaces.
Administrative Control: Consumers have extensive rights to manage their IaaS resources, including
scaling, starting or stopping VMs, setting up networks and firewalls, attaching storage, configuring failover
settings, monitoring SLAs, installing basic software, selecting VM startup images, and managing passwords
and credentials.
Management Tools: IaaS resources are managed through remote administration portals or command line
interfaces using code scripts.
Application Deployment: Completed applications developed using PaaS are deployed directly to the cloud.
9
Administrative Control: PaaS consumers manage aspects like user logins for their services, selecting tools
from ready-made environments, choosing cloud storage, controlling IT resource usage costs, deploying
automated scaling, load balancing, and replication mechanisms, and monitoring SLAs.
API Integrations: SaaS applications come with APIs that allow integration into websites and other
applications, like using Google Maps.
Administration: SaaS consumers have limited administrative privileges and responsibilities compared to
IaaS and PaaS. They manage only a few runtime configurations such as controlling usage costs, monitoring
SLAs, and configuring security settings.
Usage and Cost: Many SaaS services are free, but providers may collect background data. Consumers focus
more on using the service rather than managing its infrastructure.
Inter Cloud:
Inter-Cloud is like a "Cloud of Clouds," similar to how the Internet is a "network of networks." It connects
multiple cloud providers together.
Main Purpose:
Big tech companies like IBM, HP, CISCO, and RedHat are working on creating this interconnected system
of clouds. They aim to solve challenges such as:
Upfront Costs: These are the initial expenses you pay when you start using cloud services, like setting up
your IT equipment. Using the cloud usually costs less at the beginning compared to setting up everything
yourself on-site.
On-going Costs: These are the regular expenses, such as software licenses, electricity, insurance, and staff
salaries. Over time, using cloud services can become more expensive than maintaining your own IT setup
Additional Costs:
Cost of Capital: The cost of borrowing money. It’s more expensive if you need a lot of money
quickly.
10
Sunk Costs: Money already spent on your current IT setup. If you move to the cloud, this money is
considered lost.
Integration Costs: The time and effort required to set up and test new cloud services.
Locked-in Costs: Expenses related to being dependent on a single cloud provider because different
providers don't always work well together.
Network Usage: The cost based on the amount of data moving in and out of the cloud. Many providers
don’t charge for data coming in to encourage you to use their services.
VM Usage: Charges for using virtual machines (VMs). This can be a fixed cost, based on usage, or depend
on the features of the VM.
Cloud Storage Device Usage: Costs based on the amount of storage used, usually charged hourly. Some
providers may charge based on the number of data operations, but this is rare.
Cloud Service Usage: Costs based on how long you use the service, how many users there are, and the
number of transactions processed.
TCO: The total cost of owning IT resources, including all expenses from buying to maintaining them.
The cost templates (pricing plans) that providers use depend on:
11
Cloud Service Quality Metrics:
Metrics are used to define and monitor Service Level Agreements (SLAs).
Definitions:
Availability: How much time a service is up and running versus down and not working.
Reliability: How often the service works without breaking and how often it responds correctly.
Performance: How well the service handles its tasks, including how quickly it responds and delivers
results.
Scalability: How well the service can handle more users or tasks without losing performance.
Resiliency: How quickly and effectively the service recovers from problems or failures.
Availability Rate:
Down-time Duration:
Down-time is the period when a service or system is not operational or available. During this time, users
cannot access the service because it is either under maintenance, experiencing a failure, or facing other
issues that prevent it from functioning properly.
CloudSim:
Testing cloud research and theories on real data centers is hard, so CloudSim provides a free simulation
environment. Researchers, IaaS/PaaS users, and cloud providers use it to improve performance, test policies,
and manage workloads.
CloudSim: Configuration:
Setup: Simply unpack CloudSim and it's ready to use. To remove it, just delete the folder.
Examples and Tutorials: Comes with example codes and video tutorials for easy understanding.
Computer Security: It is the protection of computer system form unauthorized access, destruction,
distribution and modification.
Privacy: The right to control what information about you is collected, stored, and shared.
Key Terminologies:
Data controller: An individual or a body which individually or jointly determines the purpose and
procedure of processing an item of personal information.
13
Data processor: An individual or body which processes the personal information on behalf of the data
controller
Data subject: An identified or identifiable individual to whom personal information relates directly or
indirectly.
Example: Student grades should only be available to students, their parents, and certain school staff.
Authentication: Proving the identity of a user e.g.; through login and password.
Authorization: Verification of the access rights of an authenticated user e.g.; subscription to basic or
premium user access to an online gaming website.
Trust: The belief that a person or system will behave as expected, even with some risks.
Cloud Trust: Can be long-term (persistent) or short-term (dynamic) and is enhanced by security features.
Cryptography: The science of securing information by converting it into unreadable formats for
unauthorized users.
Functions of Cryptography: Privacy, authentication, integrity, non-repudiation (proof of sender), and key
exchange.
DoS Attack: Overloading systems with traffic to make them unavailable to users.
Remedies: Contact ISP, use DoS detection tools, and manage network traffic.
Firewall: A barrier that blocks unauthorized access to a network. Filters traffic based on rules and monitors
connections.
Intrusion Detection System (IDS): Software or hardware that detects and alerts about suspicious activities
on a network.
Buffer Overflow: When a program writes more data to a memory block than it can hold, potentially
allowing an attacker to take control. Common in languages with direct memory access like C and C++.
OS Security: Implementing security measures during the installation and operation of an operating system.
Steps: Secure BIOS, apply updates, remove unnecessary services, set permissions, and use security tools.
Virtualization Security: Ensuring the isolation and monitoring of virtual machines (VMs).
Methods: Secure hypervisor installation, administrative control, and proper mapping of virtual to physical
devices.
Types:
Internet Security: Protecting against threats that come from the Internet.
Secure Socket Layer (SSL): A protocol for encrypting communication between a web browser and web
server.
Working:
Threats:
16
Cloud Security Mechanisms:
Encryption:
Plaintext: Data in human-readable format.
Encryption: Transforming plaintext into a protected, unreadable format called ciphertext to ensure
confidentiality and integrity.
Cipher: The algorithm used for encryption.
Encryption Key: A secret string of characters used to encrypt and decrypt data.
Types of Encryptions:
1. Symmetric Encryption: Uses a single key for both encryption and decryption. Simple but less
secure if the key is shared.
2. Asymmetric Encryption: Uses a pair of keys (public and private). The public key encrypts, and the
private key decrypts. More secure since only the private key can decrypt the message.
Hashing and Digital Signatures:
Hashing: Creating a fixed-length code (hash) from a message to verify its integrity. If the message
changes, the hash code changes, indicating tampering.
Digital Signatures: Verifying the authenticity and integrity of digital messages or documents
Similar to a handwritten signature. Used to ensure the message hasn't been altered and is from the
claimed sender.
Public Key Infrastructure (PKI):
PKI: A system for managing asymmetric encryption keys and digital certificates.
Digital Certificates: Bind a public key to its owner and are issued by a Certificate Authority (CA).
Purpose: Implement encryption, manage identities, and protect against threats like unauthorized
access.
IAM: Policies and procedures for managing user identities and access to IT resources.
Components:
Single Sign-On (SSO): Allows users to sign in once and access multiple services without re-authenticating.
17
Privacy Issues in cloud Computing:
Data Privacy Issues: Concerns include unauthorized access, improper use of data, retention without
permission, and assurance that data is deleted when needed.
User Control:
o Infrastructure: Users do not own or control the cloud infrastructure, leading to risks of data
theft and misuse.
o Access: It's often unclear if or when cloud providers access user data, and detecting
unauthorized access is difficult.
o Data Lifecycle: Users cannot be sure their deleted data is actually removed, and there's no
regulation to enforce data erasure by providers.
o Provider Change: It's unclear how to retrieve and ensure the deletion of data when switching
cloud providers.
o Notification: It's difficult to determine responsibility for unauthorized access.
Skilled Personnel: Running cloud services requires highly skilled staff, particularly with STEM
skills.
Privacy Impact: Lack of understanding of privacy implications can increase security risks.
Employee Behaviour: More devices mean more chances for privacy breaches, like unattended
laptops with sensitive data.
Public Cloud Access: Careful control is needed to prevent privacy issues from public cloud services.
Global Rules: Cloud computing makes it hard to comply with different regional rules and
regulations.
Data Location: Data may be replicated across various locations, making compliance difficult.
Cross-Border Data: It's tough to control data movement across borders, especially with multiple
cloud providers.
Regulations: Many countries restrict personal data flow across borders (e.g., EU, Australia, Canada).
Adequate Protection: Data can flow to countries with adequate protections or agreements (e.g., US
Safe Harbor agreement).
Cloud Compliance: Cloud providers need to comply with these data flow restrictions.
Litigation
Court Orders: Cloud providers may be forced to hand over data due to legal orders.
Private Agreements: Legal agreements can prevent private entities from accessing data without
permission.
18
Legal Uncertainty
Evolving Laws: Cloud computing often outpaces current legal frameworks, leading to uncertainties.
Data Anonymization: Legal consent for anonymizing data and the applicability of privacy laws to
anonymized data is unclear.
Framework Application: Uncertainty exists on how existing privacy laws apply to cloud
computing.
Conclusions
Global Privacy: Privacy protection is uncertain globally, and new demands are emerging.
Policy Changes: Policymakers are pushing for updated security frameworks and accountability.
Privacy Regulations: The USA and EU are considering new privacy protection frameworks.
Cloud Challenges: Meeting global privacy regulations in cloud computing is complex, especially
with data location and deletion concerns.
Gap in Security
User Control: Lack of control by users leads to security risks.
Service Level Agreements (SLAs): Often don’t specify necessary security measures.
Type of Service: Security responsibilities vary by service type (IaaS, PaaS, SaaS).
Unwanted Access
Government Access: Laws like the US Patriot Act allow government access to data.
Security Breaches: Risks from inadequate security, malicious employees, and other consumers.
Vendor Lock-in
Interoperability Issues: Lack of standard formats and APIs makes switching providers difficult.
Data Migration: Hard to move data between providers or bring it back in-house.
Inadequate Data Deletion
Data Residuals: No assurance that deleted data is completely removed.
Shared Resources: Data may persist across shared or reallocated resources.
Compromise of the Management Interface
Remote Access Risks: Internet-based access poses higher risks.
Vulnerabilities: Can lead to malicious access to extensive resources.
Backup Vulnerabilities
Multiple Copies: While backups increase reliability, they also introduce risks.
Data Loss: Risks of losing data before backups are made or losing context with missing data keys.
Isolation Failure
Multi-Tenancy: Shared applications may fail to separate data properly.
Virtualization Attacks: Virtual machines, though isolated, can be compromised if the host server is
attacked.
19
Missing Assurance and Transparency
Liability: Providers often take minimal responsibility for data loss.
Assurances: Consumers need guarantees for data safety and alerts for unauthorized access.
Inadequate Monitoring, Compliance, and Audit
Auditing Difficulties: Complex cloud infrastructures make monitoring and auditing challenging.
Compliance: Ensuring cloud procedures match consumer security policies is tough.
Conclusion
Varied Security Issues: Depend on service type and deployment model.
Outsourcing Security: Can lead to better security but finding the right provider is crucial.
Trust Boundaries: Traditionally, security boundaries like firewalls create a trusted area for data. In
the cloud, data may be stored and processed outside these boundaries, making it essential to extend
trust to cloud providers.
Trusted Providers: Trust should be based on recommendations from trusted sources like auditors,
security experts, and established companies.
Importance of Trust: Especially crucial for personal or business-critical information.
Consumer Concerns: Many consumers, especially in Europe, worry about unauthorized use of their
data.
Trust Factors: Factors like reputation, recommendations, trial experiences, and contracts influence
trust in cloud providers.
Enterprise Concerns: Businesses worry about data security, SLA compliance, vendor lock-in, and
interoperability.
Supply Chain Risks: Using subcontractors can weaken trust, as consumers may not know where
their data is or who has access.
Lack of Transparency: Consumers may not know the identity of subcontractors, leading to weak
trust.
Rapid Provisioning: Adding new providers quickly for extra capacity can create weak trust
relationships.
Missing Consensus: There’s no agreement on how to manage and measure trust in cloud computing.
Standardized Models Needed: Current models for trust evaluation are inadequate and lack suitable
metrics.
Verification Challenges: No consensus on what evidence is needed to verify trust mechanisms.
Conclusions
Trust as a Key Concern: Trust issues are a major barrier to the wider adoption of cloud services.
Fear of Data Misuse: Concerns about unauthorized access and misuse of data.
20
Trade-offs: Using cloud services involves balancing privacy, security, compliance, costs, and
benefits.
Propagating Trust: Trust mechanisms need to extend throughout the service provision chain.
Developing Trust Models: Comprehensive trust measurement models are required.
Systematic Trust Management: A system is needed to monitor and evaluate trust in cloud services.
Trust Computation: These attributes can be graded to compute a trust value for future reference.
Three Dimensions:
o Regulatory Frameworks: Innovative regulations to facilitate cloud operations and address
privacy, security, and trust.
o Responsible Governance: Providers should demonstrate a commitment to safeguarding data
and prove it through audits.
o Supporting Technologies: Use technologies like encryption and anonymization to enhance
privacy and security.
Combined Approach: Using a mix of these dimensions can reassure consumers and build trust in
cloud providers.
Not Universally Suitable: Cloud computing isn't ideal for all IT needs or applications.
Common Issues: Like any complex system, cloud computing faces hardware failures and security
vulnerabilities.
Addressing Issues: Techniques exist to mitigate and isolate these failures and compromises.
Computing Performance:
Real-Time Applications: Cloud computing may struggle with high-performance demands and
predictability.
Latency: Delays in communication can affect performance.
Data Synchronization: Managing updates to data across multiple copies in the cloud can be
challenging, requiring robust synchronization mechanisms.
Scalability: Legacy applications may need updates to fully utilize cloud computing's scalability.
21
Data Control: Consumers need control over data lifecycle and information on any unauthorized
access.
Cloud Reliability:
Economic Goals:
Benefits: Cloud offers cost savings, scalability, and reduced maintenance costs.
Risks:
SLA Evaluation: Lack of automated tools for Service Level Agreement (SLA) compliance requires
standardized templates for clarity.
Portability: Challenges exist in transferring data to the cloud securely and moving workloads
between providers.
Interoperability: Lack of compatibility among cloud providers can lead to vendor lock-in.
Disaster Recovery: Plans for recovering from physical or electronic disasters are crucial to avoid
economic and performance losses.
Compliance:
Responsibilities:
Examples: Healthcare information protection laws (HIPAA), payment security standards, etc.
Information Security:
Control Measures:
Cloud-Specific Security: Public and private clouds have unique security risks.
Disk Failure: Hard drives can fail due to wear and tear or disasters like fire or floods. Manufacturers
provide Mean Time Between Failures (MTBF) estimates, but relying solely on these isn't enough.
Strategies:
o Traditional Backup: Storing data on separate devices. If one fails, data can be restored from
the backup, but if both are lost, data is gone.
o RAID (Redundant Array of Independent Disks): Distributes data across multiple drives. If
one fails, data can be recovered, but complete RAID failure means data loss unless backed
up.
o Cloud-based Backup: Replicates data to remote servers automatically, enhancing reliability
and reducing downtime compared to traditional backups.
Power Failure or Disruption: Power surges or outages can damage computers and lead to data loss.
Solutions:
Computer Viruses: Malware can infect devices via internet downloads or shared drives.
Protection:
Cloud Advantage: Virtualization in the cloud makes it harder for non-cloud viruses to penetrate. Providers
implement strong security measures.
23
Fire, Flood & Disgruntled Employees: Natural disasters or internal threats like disgruntled employees can
destroy equipment or data.
Mitigation:
Fire Prevention: Cloud providers manage fire prevention systems and backup data remotely,
reducing consumer costs and efforts.
Location Strategy: Avoid placing data centers in flood-prone areas.
Access Control: Limit access to sensitive data and quickly revoke access for terminated employees
using Identity as a Service (IDaaS).
Lost Equipment & Desktop Failure: Lost or stolen devices can lead to data loss.
Solutions:
Data Synchronization: Cloud services sync data across devices, reducing the risk of permanent data
loss.
Desktop as a Service (DaaS): Employees can access their work from any device connected to the
cloud, minimizing downtime.
Server Failure & Network Failure: Servers can fail, disrupting operations.
Cloud Solutions:
Database System Failure & Phone System Failure: Database failures affect critical applications.
Cloud Solutions:
Database Replication: Cloud databases use replication and failover systems to minimize downtime.
Phone Systems: Cloud-based phone systems offer reliability through internal redundancy.
Risk Assessment: Evaluate risks and their potential impact on business operations.
Data Governance:
Data Access & Separation: Ensure data interfaces are adaptable and secure.
Integrity & Regulations: Implement checksums, data replication, and compliance measures.
Recovery & Disposal: Securely delete data when no longer needed and verify its deletion.
Consumer-Side Security: Harden consumer platforms against attacks and ensure strong encryption.
Authentication & Access Management: Use advanced authentication methods to prevent unauthorized
access.
Performance & Compatibility: Test application performance and compatibility with cloud environments.
Before moving to the cloud, it's crucial to plan carefully. Start by clearly defining what your system needs to
achieve and the requirements it must meet. Considerations include:
Data Security and Privacy: Ensure your data is protected according to regulatory requirements.
Site Capacity Plan: Determine how much cloud computing power you'll initially need.
Scalability Requirements: Plan for how your system will handle increases in usage.
System Uptime: Define how reliable your system needs to be in terms of uptime.
Business Continuity and Disaster Recovery: Have plans in place for potential disruptions.
Budget: Understand the financial implications of moving to the cloud.
Operating System and Programming Language: Ensure compatibility with your current systems.
Type of Cloud: Decide whether a public, private, or hybrid cloud setup best suits your needs.
25
Data Backup: Establish how and where your data will be backed up.
Client Device Support: Consider compatibility with different types of devices.
Training: Plan for any training needed to use the new cloud-based system effectively.
Programming API Requirements: Determine the APIs necessary for integration with other
systems.
Data Export and Reporting Requirements: Specify how data can be exported and reporting
capabilities needed.
Backup Data: Before migrating, always back up your data to avoid loss.
Data Lifecycle and Disposal: Define how data will be managed and deleted as needed.
Regulatory Compliance: Ensure your cloud solution meets any legal requirements for data privacy and
access.
Application Requirements: Understand how much computing power, storage, and bandwidth your
applications require.
Usage Patterns: Know when your applications experience high and low demand.
Resource Needs: Determine how much RAM and disk storage your applications will need.
Bandwidth Usage: Estimate how much data your applications will transfer over the network.
Caching Needs: Consider whether your applications need data caching for better performance.
Establish a Realistic Deployment Schedule, Review Budget, and Identify IT Governance Issues:
Deployment Schedule: Plan a realistic timeline for moving to the cloud, including testing and training
phases.
Budget Review: Compare the costs of cloud solutions with maintaining in-house systems.
IT Governance: Align your cloud solution with your company's business strategy and establish controls for
system access and monitoring.
Designing a cloud solution that meets both functional (what the system does) and non-functional (how well
the system performs) requirements. Key considerations include:
26
Configuration Management: Support multiple operating systems and devices.
Disaster Recovery: Prepare for unexpected events that could disrupt operations.
Interoperability: Ensure your system can work with other cloud services.
Maintainability: Design for easy updates and maintenance.
Performance: Optimize speed and responsiveness.
Privacy: Protect sensitive data from unauthorized access.
Portability: Design for easy migration to other platforms if needed.
Reliability: Minimize system downtime due to hardware failures.
Security: Implement measures to protect against cyber threats.
Testability: Develop tests to ensure your system meets requirements.
Usability: Design an intuitive interface for ease of use.
Load Balancing:
Scaling Up vs. Scaling Out: Scaling up means upgrading existing resources for more power, while
scaling out means adding more resources.
Load Balancer: Distributes work (like client requests) evenly across multiple cloud resources using
algorithms like round robin or random distribution.
Application Design: A well-designed cloud app should scale efficiently without being too rigid or
too costly.
Minimize Objects: Simplify pages like the home page or forms by reducing unnecessary items such
as graphics, animations, and audio for faster loading.
Selecting Measurement Points: Identify and optimize the most critical parts of your code to
improve overall system performance.
Database Operations: Analyse how data is read and written to optimize performance, considering
whether operations can be split across multiple databases (horizontal scaling).
Capacity Planning: Estimate the resources needed at a specific time for your application.
Diminishing Returns: Scaling should stop when adding more resources doesn't significantly
improve performance.
Performance Tuning: Besides scaling, improve performance by reducing graphics, page load times,
and using caching.
27
Cloud Resource Scheduling Overview:
Goals: Reduce costs, execution time, and energy consumption while meeting Quality of Service (QoS)
requirements like reliability, security, availability, and scalability.
Provider vs. Consumer: Providers aim to maximize resource use and profit, while consumers want to
minimize costs and execution time.
Cost-Based: Prioritizes tasks based on cost constraints, often resulting in a first-come, first-served
approach with considerations for QoS and time.
Time-Based: Prioritizes tasks based on their deadlines, ensuring tasks nearing their deadlines get
priority.
Cost & Time-Based: Balances cost constraints with deadline priorities to optimize resource use and
task completion.
Bargain-Based: Involves negotiation between users and providers to lower processing costs.
Profit-Based: Focuses on maximizing provider profit while considering SLA (Service Level
Agreement) violations and penalties.
SLA & QoS Based: Ensures tasks are completed within SLA limits while maintaining QoS
standards.
Energy-Based: Minimizes energy consumption across data centers to reduce costs and
environmental impact.
Optimization-Based: Uses advanced algorithms to optimize resource use based on factors like
revenue, efficiency, and task completion times.
Priority-Based: Assigns priority levels to tasks to avoid starvation during resource contention, with
mechanisms like aging to prevent low-priority tasks from being ignored.
VM-Based: Manages resources at the virtual machine level, allowing migration of VMs to servers
with available resources to avoid starvation.
Overview:
Mobile Device Usage: Mobile devices are widely used globally because they offer flexibility in
terms of time and location.
Resource Constraints: Mobile devices have limitations like processing power, memory, storage,
bandwidth, and battery life.
Benefits of Cloud: Cloud computing provides unlimited resources over the internet, which can help
overcome these mobile device limitations.
Optical Character Recognition (OCR): Translating text for tourists can strain mobile resources,
making a cloud-based solution more efficient.
Disaster Site Data Sharing: Sharing images to understand disaster sites benefits from cloud
processing to gather and process data efficiently.
Sensor Data Collection: Gathering data from sensors across a large area is best managed using
cloud applications due to their scalability.
Examples:
Mobile Commerce: Overcomes mobile device limitations like bandwidth and security by
integrating with cloud services.
Mobile Learning: Allows for larger educational content, faster processing, and better battery
efficiency by using cloud resources.
Mobile Healthcare: Enables remote monitoring and quick responses in medical emergencies using
cloud-based services.
Mobile Gaming: Moves heavy processing tasks to the cloud, utilizing only the mobile screen for
gameplay.
Architecture Overview:
Connection: Mobile devices connect to mobile networks via base stations or satellites.
Network Services: Base stations handle user requests and connect to servers that manage mobile
network services.
Cloud Interaction: User requests are then sent to the cloud over the internet, where cloud
controllers handle the services requested.
Different Models:
Direct Cloud Access: Mobile devices directly access applications hosted on cloud servers, like
email through 3G connections.
Peer-to-Peer: Some mobile devices share resources with each other using mobile peer-to-peer
networks.
Cloudlet Integration: Mobile devices connect to cloudlets, which are closer than cloud servers,
reducing latency for certain applications.
Benefits:
Battery Life: Offloading tasks to the cloud save battery power and reduces response times.
29
Resource Enhancement: Cloud storage overcomes mobile device storage limitations, and cloud
processing reduces energy and time costs.
Reliability: Cloud backups and disaster recovery enhance data and application reliability.
Cost Consideration:
Decision Making: Evaluates initial and running costs against benefits like performance, energy
conservation, and quality.
Task Offloading: Determines whether to offload tasks to the cloud based on device energy
consumption, network throughput, and application characteristics.
Security Concerns:
Issues: Includes mobile device vulnerabilities, wireless network security, and security bugs in
mobile cloud applications.
Management: Addresses security and privacy concerns unique to mobile cloud environments.
Communication Challenges:
Bandwidth: Limited radio resources in wireless networks pose challenges for mobile cloud
applications.
Availability: Ensuring continuous service availability despite network failures or signal losses.
Heterogeneity: Managing diverse mobile devices with different wireless technologies (2G, 3G,
WLAN) while maintaining high availability, scalability, and energy efficiency.
Offloading Decisions:
Static vs. Dynamic: Static decisions are made at task start, while dynamic decisions adapt to
runtime conditions like network bandwidth and battery life.
Efficiency Considerations: Offloading is chosen based on whether the benefits (like reduced battery
usage) outweigh the costs (like network usage).
User Experience:
Incentives: Encouraging resource sharing among mobile devices through incentives, whether
monetary or shared interests.
User Interface: Addressing the challenge of diverse device interfaces to ensure a user-friendly
experience.
30
Performance Assurance: Ensuring service availability and performance despite connectivity issues
like network failures or depleted batteries.
Challenges: Accessing data efficiently despite low bandwidth, signal losses, or energy constraints.
Optimization: Developing approaches to optimize data access patterns and using mobile cloudlets
as file caches.
Interoperability: Ensuring data compatibility across different devices and platforms.
Other Challenges:
Overall Challenges:
Mobility Support: Ensuring mobile devices remain connected to the cloud despite movement, using
solutions like cloudlets in specific locations.
Security Assurance: Addressing ongoing challenges in ensuring data privacy, security, and trust
between users and service providers.
Resource Management: Managing incentives, trust, and payment methods among users sharing
resources in ad hoc mobile cloud setups.
Comparison:
Cloud Computing: Provides various services (IaaS, PaaS, SaaS) to users ranging from individuals
to enterprises.
Mobile Cloud Computing: Focuses on delivering cloud-based applications to individual users,
addressing specific mobile device challenges like connectivity, security, and performance.
Big Data
Definition: Big Data refers to a massive amount of data that traditional databases cannot handle effectively
due to its volume, variety, and velocity.
31
Volume: Refers to the sheer amount of data being generated.
Variety: Includes different types of data, like text, images, videos, etc.
Velocity: Describes the speed at which data is generated and processed.
Importance: Big Data helps organizations extract valuable insights for making informed decisions,
improving products/services, and understanding trends.
Cloud Computing
Definition: Cloud Computing delivers computing services (like storage, processing power, software) over
the internet, rather than on local servers or personal devices.
Service Models:
Infrastructure as a Service (IaaS): Provides virtualized computing resources over the internet.
Platform as a Service (PaaS): Offers a platform allowing customers to develop, run, and manage
applications without building or maintaining infrastructure.
Software as a Service (SaaS): Delivers software applications over the internet on a subscription
basis.
Deployment Models:
Public Cloud: Services provided over the public internet and available to anyone.
Private Cloud: Services hosted on a private network and accessible only by specific users.
Hybrid Cloud: Combination of public and private clouds, offering flexibility.
Benefits: Cost-effectiveness, scalability, flexibility, and accessibility are key advantages of Cloud
Computing.
Definition: SDN separates the network's control plane (decision-making) from the data plane (traffic
forwarding), enabling easier management and more efficient network operation.
Key Concepts:
Centralized Control: Network control is managed by a software-based controller, rather than distributed
across individual devices.
OpenFlow Protocol: Standardized communication interface used between the controller and network
devices.
Applications: SDN improves network agility, scalability, and reduces costs by centralizing control and
enabling automation.
32
33