Silabus-S2-ARSITEKTUR 2009-2014-Teori Sejarah Dan Kritik Arsitektur
ATI : Arsitektur Serverlecturer.ukdw.ac.id/anton/download/ati2.pdf · ATI : Arsitektur Server...
Transcript of ATI : Arsitektur Serverlecturer.ukdw.ac.id/anton/download/ati2.pdf · ATI : Arsitektur Server...
ATI : Arsitektur Server
Server
• A server consists of one or more computers that response and process requests from one or more client machines. machines.
• A server is typically designed with some redundancy in power, network, computing and file storage.
Server type
• a server’s processing performance is limited
by, among other things, microprocessor
performance
• Multiprocessor servers fall into one of two • Multiprocessor servers fall into one of two
major classes:
– Tightly-coupled or Symmetrical Multiprocessor
– Loosely-coupled or Asymmetrical Multiprocessor
Tightly coupled (SMP)
SMP characteristics
• By symmetrical, which mean that each processor can access each resource of the system; that is, any processor can play any role in the system.
• An SMP functions under the control of oneoperating system, which manages all system operating system, which manages all system resources
• SMP is using threads
• OS has to support multiprocessor, memory sharing, and threads
– Ex: Windows 2000, Windows Server 2003, etc
Software execution model for
tightly coupled
1 core proc Multi-core proc
Loosely Coupled
Software execution model for
loosely coupled
Server’s Performance Measurement
• Number of Processors
• Memory capacity
• Throughput of the connections between
subsystems (BUS)subsystems (BUS)
• Performance of all other peripherals
• Network throughput, etc
• A client is an individual user's computer or a user application that does a certain amount of processing on its own.
• It also sends and receives requests to and get response from one or more servers for other
Clients
response from one or more servers for other processing and/or data.
• Applications that run on user computers
• Rely on servers for
– Files, Devices, or Processing power
• Example: E-mail client
Clients are Applications
Types of Dedicated Servers
• Application Servers
• Audio/Video Servers
• Chat Servers
• List Servers
• Mail Servers
• News Servers
From A to Z
• Chat Servers
• Fax Servers
• FTP Servers
• Groupware Servers
• IRC Servers
• News Servers
• Proxy Servers
• Telnet Servers
• Web Servers
File Server Architecture
FAT CLIENTFAT CLIENT
Database server architecture
Thinner Thinner clientsclients
DBMS only on DBMS only on serverserver
Client Server Computing
• Advantages
– Simple
– Easy to design/maintain
– Commonly used– Commonly used
– Data consistency
• Disadvantages
– Bottleneck on servers
– High specification server
Generic Client/Server Architecture
Multiple
server
• Service disediakan oleh beberapa server
• Contoh: sebagian besar layanan web komersial diterapkan melalui server fisik yang berbeda
• Untuk: kehandalan, unjuk gigi
• Server menggunakan replikasi atau database terdistribusi
Client/Server Models • Fat clients
– The bulk of the application is running on the client
– The client knows how the data is organized and where it is
– Different clients access the same applications different ways
• Fat servers– The server more complicated
– The clients are less complex – The clients are less complex
– More of the code runs on the server
– The network interaction is minimized
ServerClient
Application
Client vs ServerThin Client Thick Client
Contoh Thin Client:
• VNC client (Virtual Network Controller)
• VNC is remote control software which allows you to view and fully interact with one computer desktop
Thin client
• Introduced by Oracle in 1993
• Depends heavily on servers
• Low-cost for clients
• Focuses on presentation layers
• Portable clients• Portable clients
• Protocols used– VNC
– NFS
– Secure Shell
– RDP
– X11
Fat client
• Advantages
– Fewer server requirements
– Offline working
– Better multimedia performance
– More flexibility– More flexibility
– Using existing infrastructure
• Disadvantages
– Complexity in maintenance
– Security issues
– Higher cost
Interaksi client-server
Types of Architectures
• One Tier Architecture
• Two Tiers Architecture
• Three Tiers Architecture
• N-Tiers Architecture
ClientServer
Client (dumb) - Server ModelOne tier model
Presentation Logic
Application Logic
DBMS
Network
True Client-Server ModelTwo tiers model
ClientServer
Presentation Logic Network
Application Logic
DBMS
Three tiers Model
ClientServer
Network
Application Logic
DBMS
Application Logic
Presentation Logic
N-Tier architecture (on Web)
C/S Interaction
Karakteristik Client-Server
• Service : Menyediakan layanan terpisah yang berbeda
• Shared resource : Server dapat melayani beberapa client pada saat yang sama dan mengatur pengaksesan Resourcepengaksesan Resource
• Asymmetrical Protocol : antara client dan server merupakan hubungan one-to-many.
• Mix-and-match : tidak tergantung pada platform
• Encapsulation of service : message memberitahu server apa yang akan dikerjakan
Karakteristik Client-Server (2)
• Transparency Location : proses server dapat ditempatkan pada mesin yang sama atau terpisah dengan proses client. Client/server akan menyembunyikan lokasi server dari client.
• Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran
• Message-based-exchange : antara client dan server berkomunikasi dengan mekanisme pertukaran message.
• Scalability : sistem C/S dapat dimekarkan baik vertikal maupun horisontal
• Integrity : kode dan data server diatur secara terpusat, sedangkan pada client tetap pada komputer tersendiri
Middleware
• Software which allows an application to interoperateinteroperate with other software, without requiring the user to understand and code the low-level operations required to achieve interoperabilityinteroperability
• Types of Middleware:– RPC
– Publish/Subscribe (Push & Pull Technology)
– Message oriented middleware
– Object Request Broker middleware
– Database Middleware
Push Technology – Push Mail
Pull Technology - SMTP
Pull Technology – RSS Reader
P2P behind the scene
• Today’s clients can perform more roles than just forwarding users requests
• Today’s clients have:
– more computing power– more computing power
– more storage space
• As the Internet usage grow, more and more PCs are connecting to the global net
• Most of the time PCs are idle
• Thin client � Fat client
Technology Transition
The Client/Server Model
The Peer-to-Peer Model
Peer-to-Peer Computing
• P2P does not distinguish clients and servers
– Instead all nodes are considered peers
– May each act as client, server or both
– Node must join P2P network
• Registers its service with central lookup service on • Registers its service with central lookup service on
network, or
• Broadcast request for service and respond to requests
for service via discovery protocol
– Examples include Napster and Gnutella
P2P is decentralization
• A key feature of peer-to-peer networks is
decentralization.
• This has many implications:
– robustness: handal– robustness: handal
– availability of information: selalu ada & tersebar
dimasing2 client
– fault-tolerance tends to come from redundancy
=> satu down yg lain bisa handle
– and shared responsibility: tugas dibagi
Why P2P?
• Information - Hard to find, impossible to
catalog and index all of the information
• Bandwidth - Hot links get hotter– Makin bagus informasi, makin laris dan makin tak
terbendung
Makin bagus informasi, makin laris dan makin tak
terbendung
– Makin banyak juga yg “memilikinya” dan tersebar
dimana-mana
• Computing resources - Heavily loaded nodes
get overloaded, idle nodes remain idle
Dangers and Attacks on P2P
• Poisoning (files with contents different to its description)
• Polluting (inserting bad packets into the files)
• Defection (users use the service without sharing)
• Insertion of viruses (attached to other files)• Insertion of viruses (attached to other files)
• Malware (spy originally attached to the files)
• Denial of Service (slow down or stop the network traffic)
• Filtering (some networks don’t allow P2P traffic)
• Identity attacks (tracking down users and disturbing them)
• Spam (sending unsolicited information)
P2P Computing Applications
• File sharing
– Improves data availability
– E.g., Napster, Gnutella, BitTorrent, KaZaA
• Collaborative environments• Collaborative environments
– For remote real-time human collaboration.
– Instant messaging, virtual meetings, shared whiteboards, teleconferencing, tele-presence.
– E.g.: talk, IRC, ICQ, AOL Messenger, Jabber, MS Netmeeting, Skype
What is Cluster ?
• A cluster is a type of parallel and distributed processing system, which consists of a collection of interconnected stand-alone computers cooperatively working together as a single, integrated computing resource.
• A cluster:
– generally 2 or more computers (nodes) connected together– generally 2 or more computers (nodes) connected together
– in a single cabinet, or physically separated & connected via a LAN
– appear as a single system to users and applications
– provide a cost-effective way to gain features and benefits
Clustered Systems Usage
– Usually sharing storage via a storage-area
network (SAN) via LAN
– Provides a high-availability service which
survives failuressurvives failures
– Some clusters are for supercomputing
– Cluster server is for load-balancing system
– Cluster systems usually more tightly coupled
than grid computing
Cluster Architecture
Sequential Applications
Parallel Applications
Parallel Programming Environment
Cluster Middleware
(Single System Image and Availability Infrastructure)
Sequential ApplicationsSequential Applications
Parallel ApplicationsParallel Applications
(Single System Image and Availability Infrastructure)
Cluster Interconnection Network/Switch
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
PC/Workstation
Network Interface Hardware
Communications
Software
Active/Passive – Asymetric cluster
http://networksandservers.blogspot.com/2011/09/failover-clustering-iv.html
Active/Active – Symetric cluster
http://networksandservers.blogspot.com/2011/09/failover-clustering-iv.html
What is a Grid?
• Grid computing is the collection of computer
resources from multiple locations to reach a
common goal (usually single task!)
• The difference from cluster is: grids tend to be • The difference from cluster is: grids tend to be
more loosely coupled, heterogeneous, and
geographically dispersed.
• Using parallel processing and programming
Why do we need Grids?
• Many large-scale problems cannot be solved
by a single computer
• Globally distributed data and resources
• Independent computing• Independent computing
Grid Computing
Grid Architecture
Windows Azure Grid Example
Example of Grid Computing
• SETI (Search for Extraterrestrial Intelligence)
@Home project
• BOINC (Berkeley Open Infrastructure for Network
Computing)Computing)
• Folding@home (abbreviated as FAH or F@h)
• Einstein@Home
• GIMPS – Great Internet Mersenne Prime Search
• LHC@home
Next
• Web Architectures