Lecture 1 - Introduction To Cloud Computing
Lecture 1 - Introduction To Cloud Computing
Cloud Computing
Lecturer: Isaac Baffour Senkyire
Lec. 1: Trends of computing & Introduction to
distributed computing
Content:
• Trends in Computing
• Computing Systems
• Types of Computing Systems
• Introduction to Distributed System
• Types of Distributed Systems
Objectives of Lecture 1:
• At the end of this lecture you should be able:
• To list and explain the new trends in computing.
• To define computing system.
• To give and explain the 3 types of computing systems.
• To give and explain the 3 types of distributed computing systems.
Trends in Computing:
Introduction
• Computer technology is advancing rapidly in recent times, there is an
increasing need for internet connectivity and high-end systems and
these are relevant components lending to the current trends in
computing.
• Mainframe computing and individual computing are giving way to
mobile and green computing, where computing power, software, and
data can be stored in a "cloud" and accessed online at any time.
Trends in Computing: AI
• Artificial Intelligence (AI) is considered as anything that makes it possible for machines and
computers to function rationally (simulate human intelligence and problem-solving capabilities)
and independently. Generally, this technology is employed to shift mundane activities from
humans to robots, allowing us to focus on more difficult issues.
• AI systems use:
• Learning: AI systems learn via trial and error, memorizing things and processes and applying prior experience to new
scenarios.
• Reasoning: AI can reason, decide, and solve issues.
• Perception: AI systems are capable of deciphering and interpreting sensor data, including text, audio, and picture data.
• Language: AI systems can interpret and produce human language.
• AI is used in areas like:
• Finance
• Healthcare
• Customer service
• Transportation
• Marketing
• Social media
Trends in Computing: IoT
• Internet of Things (IoT) are physical objects (vehicles, home appliances, watches etc.) that are equipped with
sensors and software that let them talk to each other and share data over a network with little help from
humans.
• IoT systems use:
• Devices – Smart Appliances, Wearables, Sensors and Actuators
• Sensors – to detect and measure motion, temperature, light, humidity
• Connectivity – Bluetooth, Wi-Fi, Cellular Networks
• Data Processing
• Cloud Platform: Google Cloud, Amazon Web Services (AWS), Alibaba, Microsoft Azure, IBM Bluemix
• Applications: are software that provide remote monitoring, automation, and analytics by interacting with devices, data, and users e.g.
Google Cloud IoT Core, Ubidots, AWS IoT Core, Losant
• Security
• Power Management
• Device Management: provision, monitoring, device updating, security, and reliability
• Analytics and AI: these allow insights and automation by analyzing data, making predictions or decisions
• IoT is used in areas like:
• Farming: Irrigation systems
• Security: Security cameras
• Vehicles: Autonomous vehicles
• City Development: Smart cities
• Healthcare: Smartwatches
Trends in Computing: ML
• Machine Learning (ML) allows computers to learn from experience and improve without being explicitly
programmed.
• ML systems use:
• Data – Images, Videos, Speech, Learning Model – Supervised, Semi-supervised, Unsupervised, Reinforcement, Algorithm – Linear
regression, Neural Networks, Random Forest, Decision trees
• Training - Feeding data to the model for learning and improvement, Testing - the model with new data
• Validation - making sure the model works well with data it hasn't seen before and avoiding overfitting, Hyperparameters –
Adjustable parameters ie learning rates like Adam (Adaptive Moment Estimation), RMSProp (Root Mean Square Propagation) or
regularization that controls the model’s behaviour.
• Features - data-extracted input variables used to train the model, Targets - model output variable predicted or classified,
Optimization - optimizing hyperparameters and model design for performance, Evaluation Metrics – Measuring the model’s
performance: accuracy, precision.
• ML is used in areas like:
• Computer Vision: Self-driving cars, photo tagging on social media
• Image processing: Radiology, Crop disease control
• Speech Recognition: Siri, Alexa
• Customer Service: Online chatbots
• Recommendation Engines
• Automated Stock Trading
• Fraud Detection
Trends in Computing: 5G
Networks
• 5G Network is a 5 -generation mobile or wireless cellular network built on 4G
th
1. In spatial computing, real-world objects and places 1. However, the Metaverse is a virtual universe where
are manipulated by humans and computers with an people interact with each other and the environment
emphasis on acquiring, analyzing, and interacting using immersive technologies like VR and AR to
with three-dimensional (3D) data. game, socialize, and shop in linked virtual areas.
2. Spatial computing focuses on the manipulation of 2. Metaverse creates interactive virtual experiences
physical objects in the real world. for people to connect with one other and digital
content.
3. Spatial computing emphasizes 3D data processing 3. In contrast, the Metaverse focuses on utilising
technology. immersive technology to create a virtual world for
social interactions and activities.
Trends in Computing: Smart
Spaces
• Smart Spaces refer to physical surroundings that have been augmented with
technology to create a seamless, intelligent, and interactive experience for the
individuals present in those areas.
• Examples of Smart spaces:
• Smart Homes, Intelligent Offices, Industrial & Manufacturing Facilities, Retail & Commercial
Spaces, and Healthcare and Assisted Living.
• Smart spaces utilize a combination of technologies like the Internet of Things
(IoT), automation, artificial intelligence, and data analytics to enhance efficiency,
user pleasure, and productivity.
Trends in Computing:
Homomorphic Encryption
• Homomorphic Encryption is employed to securely handle and analyze sensitive
data, such as financial information or personal health records while keeping the
data itself concealed.
• Homomorphic encryption is a type of encryption that allows for the direct
execution of computations (Addition, Multiplication, Statistical Analysis, Machine
Learning Algorithms, and Linear Transformations) on encrypted data without the
need to decrypt it first.
• Advantages of Homomorphic encryption:
• Enhanced data privacy and security, secure data sharing and collaboration, secure
outsourcing of computations, and compliance with data protection regulations.
Trends in Computing: 3D
Printing & Additive
Manufacturing
• Additive manufacturing, or 3D printing, is a modern technique that turns a
computer design into a physical object or actual item by layering materials on top
of each other.
• Using a variety of materials, including plastics, metals, and composites, this
technique enables the making of complicated components that are gradually
assembled to make the finished product.
Trends in Computing: Robotics
& Automation
• Robotics and automation refer to the use of computers and other machines to
carry out operations that normally call for human labour and intellect.
• Robotics comprises designing, building, and operating machines that can conduct a variety
of tasks like assembling, welding, and material handling.
• Automation uses sensors, actuators, and computer programmes to control and monitor
equipment and processes.
• Robotics and automation seek to improve productivity, accuracy, and efficiency
while lowering labour costs.
Introduction to Distributed
Computing
• Computing System: a system that uses hardware and software tools to process,
store, and communicate information.
• Types of Computing Systems:
• Centralized Systems
• Decentralized Systems
• Distributed Systems
• Centralized Systems: are systems that use client/server architecture where one
or more client nodes are directly connected to a central server where client
sends a request to the server and receives the response.
• Components of Centralized System:
• Node – Computer, Mobile Phone, Tablet etc
• Server
• Communication Link – Cables, Wi-Fi, Bluetooth, NFC etc
Introduction to Distributed
Computing
• Decentralized System: is an interconnected information system in which no
single entity is the sole authority.
• Every node makes its own decision. The final behavior of the system is the
aggregate of the decisions of the individual nodes.
• Components of Decentralized System:
• Node – Computer, Mobile Phone, Tablet etc.
• Server
• Communication Link – Cables, Wi-Fi, Bluetooth, NFC etc.
• Architecture of Decentralized System:
• Peer-to-peer architecture:
• All nodes are peers of each other. No one node has supremacy
• Master-slave architecture:
• One node can become a master by voting and help in coordinating of a part of the system
but this does not mean the node has supremacy over the other node which it is coordinating
Introduction to Distributed
Computing
• Distributed System: is a collection of autonomous hosts that are connected
through a computer network each host executes components and coordinated
via middleware.
• Components of Distributed System:
• Node – Computer, Mobile Phone, Tablet etc.
• Communication Link – Cables, Wi-Fi, Bluetooth, NFC etc.
• Characteristics of Distributed System
• Concurrency of components: Nodes apply consensus protocols to agree on the
same values/transactions/commands/logs.
• A global clock is not required: all nodes maintain their own clock.
• Independent failure of components: in a distributed system, nodes fail
independently without having a significant effect on the entire system.
Introduction to Distributed
Computing
• Architecture of Distributed Systems:
• Peer-to-peer (P2P):
• all nodes are peers of each other and work towards a common goal.
• Client-server:
• some nodes become server nodes for the role of coordinator, arbiter, etc.
• 3-tier architecture:
• Is a client-server architecture in which the functional process logic, data access, computer
data storage and user interface are developed and maintained as independent modules on
separate platforms.
• Presentation Tier: is the front end layer in the 3-tier system and consists of the user interface.
• Application Tier: contains the functional business logic.
• Data Tier: comprises of the database/data storage system and data access layer.
Introduction to Distributed
Computing
• Advantages of Distributed Systems:
• Economics:
• Computers harnessed together, give a better price/performance ratio than mainframes.
• Speed:
• A distributed system may have more total computing power than a mainframe.
• Reliability:
• If one machine crashes, the system as a whole can still survive if there are multiple server
machines and multiple storage devices (Redundancy).
• Extensibility and Incremental Growth:
• Possible to gradually scale up (in terms of processing power and functionality) by adding
more sources (both hardware and software). This can be done without disruption to the rest
of the system.
Introduction to Distributed
Computing
• Disadvantages of Distributed Systems:
• Complexity:
• Lack of experience in designing, and implementing a distributed system. For example: which
platform (hardware and OS) to use, which language to use etc.
• Network Problem:
• If the network underlying a distributed system saturates or goes down, then the distributed
system will be effectively disabled thus negating most of the advantages of the distributed
system.
• Security:
• Security is a major hazard since easy access to data means easy access to secret data as well.
Types of Distributed Systems
• Clusters
• Grids
• Clouds
Types of Distributed Systems:
Cluster Computing
• A collection of similar processors (PCs, workstations) running the same OS, connected by a
high-speed LAN.
• Each node is set to perform the same task, controlled and scheduled by software.
• Parallel computing capabilities (simultaneous execution of multiple task or processes) using
inexpensive PC hardware
• High degree of distribution transparency (single system image SSI) –
• this is the ability of the system or network to hide the complexities and details of its distributed
architecture from user applications
• Processes can migrate between nodes dynamically and preemptively.
• Components of Cluster:
• Nodes – master + computing
• Network
• OS
• Cluster Middleware: which permits compute clustering programs to be portable to a wide variety of
clusters.
Types of Distributed Systems:
Grid Computing Systems
• Similar to clusters but processors are more loosely coupled, tend to be
heterogeneous, and are not all in a central location.
• Highly heterogeneous with respect to hardware, software, networks, security
policies etc.
• A collaboration of users who pool resources (servers, storage, databases,
clusters,…) and share them.
• Can handle workloads similar to those on supercomputers, but grid computers
connect over a network (internet) and supercomputers’ CPUs connect to a high-
speed internal bus/network.
• Each user should have a single login account to access all resources.
• Resources may be owned by diverse organizations.
Types of Distributed Systems:
Grid Computing Systems
• Architecture for Grid Systems:
• Fabric Layer: interfaces to local resources at a specific site
• Connectivity layer: protocols to support usage of multiple
resources for a single application, e.g. access a remote
resource or transfer data between resources; and protocols
to provide security.
• Resource layer: manages a single resource, using functions
supplied by the connectivity layer.
• Collective layer: resource discovery, allocation, scheduling.
Etc.
• Application: uses the grid resources
• The collective, connectivity and resource layers together
form the middleware layer for a grid
Types of Distributed Systems:
Cloud Computing
• Is the delivery of computing services – servers, storage,
databases, networking, software, analytics and more – over
the internet.
• Is the delivery of on-demand computing services – from
applications to storage and processing power – typically over
the internet and on a pay-as-you-go basis.
• Is an information technology (IT) paradigm that enables
ubiquitous access to shared pools of virtualized and
configurable system resources and higher-level services that
can be rapidly provisioned with minimal management effort,
often over the internet.
Summary
• In this lecture:
• The new trends in computing:
• AI, IoT, ML, 5G Network, Quantum Computing, Edge Computing
• Bioinformatics, Blockchain, Spatial Computing, Metaverse, Smart Spaces
• Homomorphic Encryption, 3D Printing & Additive Manufacturing, Robotics &
Automation
• Computing Systems
• Types of Computing Systems:
• Centralized
• Decentralized
• Distributed
• Distributed Systems:
• Cluster systems
• Grid systems
• Cloud systems
of the Lecture