WWW load balancing Onni Lampi School of Electrical Engineering Bachelor s thesis Espoo 28.8.2017 Thesis supervisor: Lehtori Kalle Ruttik Thesis advisor: TkT Sebastian Sonntag, sebastian.sonntag@aalto.fi, COMNET
aalto-yliopisto sähkötekniikan korkeakoulu kandidaatintyön tiivistelmä Tekijä: Onni Lampi Työn nimi: Kuormantasaus www-palvelimissa Päivämäärä: 28.8.2017 Kieli: Englanti Sivumäärä: 6+5 Koulutusohjelma: Informaatioteknologia Vastuuopettaja: Lehtori Kalle Ruttik Työn ohjaaja: TkT Sebastian Sonntag, sebastian.sonntag@aalto.fi, COMNET Kuormantasaus www-palvelimissa on nykypäivän Internet-infrastruktuurin kannalta yksi tärkeimmistä tutkimusaiheista. Kuormantasaus voidaan toteuttaa monella teknisesti toisistaan täysin eroavilla tavoilla, eikä yhtä oikeaa tapaa toimia välttämättä ole. Työn tarkoituksena ja perimmäisenä motivaationa oli vertailla eri teknologioita keskenään. Internetin laajentuessa ja kasvaessa nousee hajautettujen palvelinratkaisujen merkitys yhä suuremmaksi; käyttäjän kannalta on yhdentekevää, mistä sisältö jaellaan. Tärkeintä on saada sisältö toimitettua loppukäyttäjälle luotettavasti ja nopeasti. Kuormantasauksella voidaan saavuttaa merkittäviä ja konkreettisia etuja kaistanleveyden ja palvelinkapasiteetin säästämisessä. Tässä työssä käsiteltiin ja vertailtiin erilaisia kuormantasaustenkiikoita, niiden skaalautuvuutta sekä muita ominaisuuksia. Työssä keskityttiin muutamaan jo olemassa olevaan ja laajasti käytettiin teknologiaan. Kuormantasausta voidaan harjoittaa monin eri tavoin, toisistaan jopa merkittävästi eroavilla tekniikoilla. Karkeasti ajatellen kuormantasaustekniikat jakautuvat kolmeen erilaiseen leiriin: sijaintiperusteisiin, sisällön huomioon ottaviin ja sisällöstä piittaamattomiin tekniikoihin. Tämän työn tavoitteena oli perehtyä ja oppia ymmärtämään erilaisia kuormantasaustekniikoita, sekä selventää kirjallisuudessa käsitellyt merkittävät erot erilaisten teknologioiden välillä. Keskiössä oli myös selvitys siitä, miksi erilaisissa tuotantoympäristöissä käytetään tiettyjä teknologioita. Avainsanat: www, palvelin, kuormantasaus, dns
aalto university school of electrical engineering abstract of the bachelor s thesis Author: Onni Lampi Title: WWW load balancing Date: 28.8.2017 Language: English Number of pages: 6+5 Degree programme: Information technology Supervisor: Lehtori Kalle Ruttik Advisor: D.Sc. (Tech.) Sebastian Sonntag Abstarct will be written at a later time. Keywords: www, server, load balancing, dns
iv Preface Last thing to be written. Otaniemi, XX.X.2017 Onni S. Lampi
v Contents Abstract (in Finnish) Abstract Preface Contents Abbrevations and common terms ii iii iv v vi 1 Introduction 1 2 Theoretical background 2 2.1 A brief history lesson........................... 2 2.2 Why load balancing?........................... 2 3 Different load balancing methods 3 3.1 Location based load balancing...................... 3 3.2 Content-blind load balancing....................... 3 3.3 Content-aware load balancing...................... 3 4 Analysis 4
vi Abbrevations and common terms Abbrevations DNS Domain Name Service TCP Transmission Control Protocol Common terms Load balancing Distribution of server requests by some method. GeoDNS A method to balance server load based on the geographical location. Client The computer receiving the content.
1 1 Introduction For decades Internet was ruled by one simple rule; one service, one server. As the amount of users and transferred date exponentially increases, so does the need for more servers. However, the amount of servers is irrelevant if all clients only connect to one of them. So the need for load balancing was born in the mid 90 s. Couple of years later, a rudimentary method was devised and specified that divided the load based on the geographical location of the client, GeoDNS. Load balancing can be done on various layers on the network, it can be performed for the servers or network bandwidth, for example. This thesis briefly goes through the different technigues and their use cases and concentrates on the couple most prominent ones. New and experimental methods are also taken into account, but they are not the focus of this thesis, rather a curiosity. Research questions are as follows Define different load balancing methods and their usage. Is there one simple way of performing load balancing? How widely and why is load balancing used?
2 2 Theoretical background 2.1 A brief history lesson 2.2 Why load balancing?
3 3 Different load balancing methods 3.1 Location based load balancing 3.2 Content-blind load balancing 3.3 Content-aware load balancing
4 Analysis 4
5 References [1] V. Cardellini, M. Colajanni, and P. S. Yu, Dynamic load balancing on webserver systems, IEEE Internet Computing, vol. 3, no. 3, pp. 28 39, 1999. [2] H. Bryhni, E. Klovning, and O. Kure, A comparison of load balancing techniques for scalable web servers, IEEE network, vol. 14, pp. 58 64, Jul 2000. [3] K. Gilly, C. Juiz, and R. Puigjaner, An up-to-date survey in web load balancing, World Wide Web, vol. 14, pp. 105 131, Mar 2011. [4] P. Patel, D. Bansal, L. Yan, A. Murthy, A. greenberg, D. A. Maltz, R. Kern, H. Kumar, M. Zikos, H. Wu, C. Kim, and N. Karri, Ananta: cloud scale load balancing, in Proceedings of the ACM SIGCOMM 2013 conference on SIG- COMM, pp. 207 218, 2013.