Cloud Computing Computer Science Innovations, LLC.

Slides:



Advertisements
Similar presentations
Welcome to Middleware Joseph Amrithraj
Advertisements

Distributed Processing, Client/Server and Clusters
Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
HTTP Cookies. CPSC Application Layer 2 User-server state: cookies Many major Web sites use cookies Four components: 1) cookie header line of HTTP.
Distributed components
Business Continuity and DR, A Practical Implementation Mich Talebzadeh, Consultant, Deutsche Bank
Dr. Zahid Anwar. Simplified Architecture of Linux Cluster Simplified Architecture of a Single Computer Simplified architecture of an enterprise cluster.
The Internet Useful Definitions and Concepts About the Internet.
Layer 7- Application Layer
Introduction to Web Database Processing
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Lesson 1: Configuring Network Load Balancing
Introduction 2: Internet, Intranet, and Extranet J394 – Perancangan Situs Web Program Sudi Manajemen Universitas Bina Nusantara.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Lecture 8 Epidemic communication, Server implementation.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Networking Components Chad Benedict – LTEC
Christopher M. Pascucci Basic Structural Concepts of.NET Browser – Server Interaction.
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 Oracle 9i AS Availability and Scalability Margaret H. Mei Senior Product Manager, ST.
Server Load Balancing. Introduction Why is load balancing of servers needed? If there is only one web server responding to all the incoming HTTP requests.
Chapter 10 Intro to Routing & Switching.  Upon completion of this chapter, you should be able to:  Explain how the functions of the application layer,
INSTALLING MICROSOFT EXCHANGE SERVER 2003 CLUSTERS AND FRONT-END AND BACK ‑ END SERVERS Chapter 4.
XHTML Introductory1 Linking and Publishing Basic Web Pages Chapter 3.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Chapter 8 Implementing Disaster Recovery and High Availability Hands-On Virtual Computing.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols.
Distributed File Systems
HOW WEB SERVER WORKS? By- PUSHPENDU MONDAL RAJAT CHAUHAN RAHUL YADAV RANJIT MEENA RAHUL TYAGI.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Chapter 9 How Do Users Share Computer Files?. What is a File Server A (central) computer which stores files which can be accessed by network users.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Hands-On Microsoft Windows Server Introduction to Remote Access Routing and Remote Access Services (RRAS) –Enable routing and remote access through.
Copyright © Curt Hill, Client – Server Computing An important paradigm.
1 Welcome to CSC 301 Web Programming Charles Frank.
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
® IBM Software Group © 2007 IBM Corporation Best Practices for Session Management
Maintaining Application State MIS3502: Application Integration and Evaluation Paul Weinberg Presentation by David Schuff.
Application Layer Honolulu Community College Cisco Academy Training Center Semester 1 Version
Networking in Linux. ♦ Introduction A computer network is defined as a number of systems that are connected to each other and exchange information across.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
CCNA4 v3 Module 6 v3 CCNA 4 Module 6 JEOPARDY K. Martin.
Protocols COM211 Communications and Networks CDA College Olga Pelekanou
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
CHAPTER 7 CLUSTERING SERVERS. CLUSTERING TYPES There are 2 types of clustering ; Server clusters Network Load Balancing (NLB) The difference between the.
WEB SERVER SOFTWARE FEATURE SETS
CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable.
Protocols Monil Adhikari. Agenda Introduction Port Numbers Non Secure Protocols FTP HTTP Telnet POP3, SMTP Secure Protocols HTTPS.
COOKIES AND SESSIONS.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
1 Network Communications A Brief Introduction. 2 Network Communications.
Computer Science Lecture 19, page 1 CS677: Distributed OS Last Class: Fault tolerance Reliable communication –One-one communication –One-many communication.
System Models Advanced Operating Systems Nael Abu-halaweh.
Chapter 7: Using Network Clients The Complete Guide To Linux System Administration.
DISTRIBUTED FILE SYSTEM- ENHANCEMENT AND FURTHER DEVELOPMENT BY:- PALLAWI(10BIT0033)
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
How Do Users Share Computer Files?
WWW and HTTP King Fahd University of Petroleum & Minerals
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
Boots Cassel Villanova University
Web Development Web Servers.
Software Design and Architecture
Replication Middleware for Cloud Based Storage Service
Cookies and sessions Saturday, February 23, 2019Saturday, February 23,
Presentation transcript:

Cloud Computing Computer Science Innovations, LLC

Unix Communicate between machines. Unencrypted.... ftp, telnet, rsh Only have encrypted No telnet but ssh, no ftp but scp and no rsh Command is rsync RSA became popular, we wanted private key access to servers.

Unix Communicate between machines. Unencrypted.... ftp, telnet, rsh Only have encrypted No telnet but ssh, no ftp but scp and no rsh Command is rsync RSA became popular, we wanted private key access to servers.

Unix Communicate between machines. Unencrypted.... ftp, telnet, rsh Only have encrypted No telnet but ssh, no ftp but scp and no rsh Command is rsync RSA became popular, we wanted private key access to servers.

Security Assert and Identity. Identity asserters. Initially username and passwords Problem username and password on unencrypted lines. All access to a server must be encrypted. Identity asserters are pluggable. Once you assert an identity, you gather roles.

Best Practices No username password Turn off passwords in /etc/ssh/sshd_config Passwords …. no You only use your private key to get in. To copy we use In the same way as ssh we use scp

Goals Understand Load Balancing. Apply Load Balancing. Understand the Use Case for Load Balancing. Great science is simple.

What is a Session? 1.HTML was designed as a specification on how to represent documents. 2.It was not designed to be a communication protocol across the Internet. 3. It was designed to represent things like word documents. 4. So there are no concepts of Semantics (meaning) and no concept of state. 5. Initially, web pages had no state, so what did we do?

What is State? 1.Finite State Autometa. Alan Turing, Turing Machine? 2. State persists and conditions change. But a web page had no state, so you had to transfer the state from page to page. 3. forward to e, etc, etc. 4. Your whole state would be get parameters on the URL. This was SLOW.

Cookies to the Rescue 1.The server keeps a state for every session. Every user has one to many sessions, typically So every request has the request and the request adds to it a session id, or cookie. Now we get sessions. 3. So the session is a memory resident model of user data.

Serializeable 1. If you wish to transfer data from machine to machine, it must be Serializeable. This is the opposite of Transient. 2. For example, if a war file (web application archive) is accessing a database locally, it has a Database Connection. Does it make sense to transfer that Connection to a machine in China and access the database? transient Connection myConnection; Class created implements Serializeable.

Marker Design Pattern 1. Calling it Serialzeable, marks the class. 2. Calling it Transient, marks the class. 3.Both imply something happens, but you really do not have to concern yourself with how, or even what. Just mark things transient as such. 1.This is how we replicated sessions. It only replicates Serializeable data.

Serializeable 1. Class, a class has a method, the method may be public, private, or package-friendly. 2. Convention. 3. Not security. If a class is serializeable the JVM calls a private method(s) readObject and writeObject. 1.This is how we replicated sessions. It only replicates Serializeable data.

Load Balancing 1.Load balancing is used to divvy up between two or more servers the amount of work usually done by one. 2.Load balancing can be implemented with hardware, software, or a combination of both.

Fault Tolerance Over the Web 1. More than one copy of the Session. 2. How can I do this? 3. Send all messages to multiple servers and have warm stand-bys. 4.NO.. The correct way is to propagate state changes.

Fault Tolerance 1.Systems fault to another and the only lost is a session. 2.Load balancing occurs on a session by session basis. 3. In essence only a shopping cart is lost.

Need for a Solution 1.A traditional standalone (non-clustered) server does not provide any failover or load balancing capabilities. 2.When the server goes down, the entire web site is unavailable until the server is brought back up. 3.Any sessions that were stored in the server's memory are lost and the users have to log in again and enter all of the data lost due to the server crash.

There are two kinds of sessions handled by a server cluster: sticky sessions and replicated sessions. Session Replication

A sticky session specifies that once a session is created by a given server, subsequent requests from the user will continue to be routed to that same server in order to preserve session information. Sticky Session

1.The Service provider uses cookies to relay session information, the load balancer needs to redirect to the server that created the session. 2.Without sticky sessions, all servers would have to be trusted and performance might be impaired. Sticky Session

1.On the other hand, a server that's part of a cluster provides both scalability and failover capabilities. 2.A cluster is a group of multiple server instances running simultaneously and working together to provide high availability, reliability, and scalability. 3.The server cluster appears to clients as a single server instance. Server Clusters

One To Many - Multicast 1.IP multicast is the broadcast technology that enables multiple servers to "subscribe" to a given IP address and port number and listen for messages. (Multicast IP addresses range from to ). 2.Each server instance in the cluster uses multicast to broadcast regular heartbeat messages

1.IP sockets also provide the mechanism for sending messages and data among the servers in a cluster. The server instances use IP sockets for replicating HTTP session state among the cluster nodes. 2.Socket reader threads are always "busy" polling sockets, even if the sockets have no data to read. This unnecessary overhead can reduce performance. Server Communication - IP Sockets

1.Sticky sessions are those sessions that stay on the single server that received the web request. 2.The other cluster members don't have any knowledge of the session state in the first server. 3.If the server that has the session goes down, the user has to again log in to the web site and re- enter any data stored in the session. Sticky Session Solution

In the second session type, the session state in one server is copied to all of the other servers in the cluster. The session data is copied whenever the session is modified. Replicated Session

1.Sticky sessions are simple and easy to handle, since we don't need to replicate any session data to other servers. This results in less overhead and better performance. But if the server goes down, so does all of the session data stored in its memory. 2.Since the session data is not copied to other servers, the session is completely lost – even in transaction. 3.Replication is high overhead and complex. Comparison

Stateless: A stateless object doesn't maintain any state in memory between invocations, since the client and server don't need to store any information about each other. Conversational: A conversational object is dedicated to a particular client for the duration of a session. During the session, it serves all requests from that client, and only requests from that client. State Management of Objects

Cached: A cached object maintains state in memory and uses it to process requests from multiple clients. Implementations of cached services vary in the extent to which they keep the copies of cached data consistent with each other and with associated data in the back-end store Singleton: A singleton is active on exactly one server in the cluster at a time and processes requests from multiple clients. State Management of Objects – Concluded

1.Session data must be serializeable 2.Design the application to be idempotent 3.Store state on the business tier 4.Serialization overhead Programming Considerations