1-Lecture (3. Intro-Service Models) - Slides
1-Lecture (3. Intro-Service Models) - Slides
Introduction: Part 3
(Service Models)
1
Service Models (Application Architectures)
2
Centralized model
• No networking
• Traditional time-sharing system
• Single workstation/PC or direct connection of multiple terminals to a
computer
• One or several CPUs
• Not easily scalable
• Limiting factor: number of CPUs in system
– Contention for same resources (memory, network, devices)
3
Client-Server model
• Clients send requests to servers
• A server is a system that runs a service
• Clients do not communicate with other clients
4
Layered architectures in software
design
•Break functionality into multiple layers
• Each layer handles a specific abstraction
– Hides implementation details and specifics of hardware, OS, network
abstractions, data encoding, …
Applications
Includes naming, security, persistence, notifications, agreement,
Middleware remote procedures, data encoding, …
Hardware
5
Tiered architectures in networked
systems
•Tiered (multi-tier) architectures
– Distributed systems analogy to a layered architecture
• Each tier (layer)
– Runs as a network service
– Is accessed by surrounding tiers
6
Multi-tier example
middle
client back end
tier
7
Multi-tier example
object
application store
client web server
server
database
8
Multi-tier example
object
load balancer
store
web server
application
server
firewall
firewall
cache
client
database
9
Microservices Model
Data storage
Collection of autonomous
service
services
Sensor
Data Logging
normalization
service
service • Each service:
Sensor Data storage – Runs independently
service
– Has a well-defined
interface
Caching
service
Data analytics
service
– May be shared by
multiple applications
Client access
service
Web client
service
• Main application
coordinates interactions
10
Peer-to-Peer (P2P)
Model
•No reliance on servers
• Machines (peers) communicate with each other
• Goals
server
– Robustness
– Self-scalability clients
• Examples
– BitTorrent, Skype
peers
11
Hybrid model
• Many peer-to-peer architectures still rely on a server
– Look up, track users
– Track content
– Coordinate access
• But traffic-intensive workloads are delegated to peers
13
Cloud Computing
Resources are provided as a network (Internet)
service
Software as a Service (SaaS)
Remotely hosted software: email, productivity, games, …
Salesforce.com, Google Apps, Microsoft 365
Storage
Remote file storage
• Dropbox, Box, Google Drive, OneDrive, … 14
The End
15