Fork me on GitHub

Web architectures are an important asset for various large-scale web applications. Being able to handle huge numbers of users concurrently is essential, thus scalability is one of the most important features of these architectures. Multi-core processors, highly distributed backend architectures and new web technologies force us to reconsider approaches for concurrent programming in order to implement web applications and fulfil scalability demands.

This diploma thesis provides a comprehensive survey on the myriads of different concepts and techniques of concurrency inside web architectures. It incorporates research publications, hands-on reports and also regards popular programming languages, frameworks and databases. We devise an architectural model for scalable web architectures and provide separate concurrency analyses of three main components: web servers, application servers and storage backends. We examine the relations between concurrency, scalability and distributed systems and dare an outlook on the near future.

Print (PDF)

Online

Read it or help working on it…

The community version of the online release can be improved and extended by everyone. Please create a ticket or pull request for any corrections, suggestions and enhancements you may have.

What is this?

I am Benjamin Erb and this is my diploma thesis I wrote in 2011/2012 as a requirement for the completion of my diploma course Media Informatics at Ulm University. I have decided to publish this thesis under a Creative Commons license and release it to the general public. Please also see the alongside license notes for details.

If you want to cite the original thesis, you can use the following BibTeX entry:

@MASTERSTHESIS{Erb2012,
  author = {Benjamin Erb},
  title = {Concurrent Programming for Scalable Web Architectures},
  school = {Institute of Distributed Systems, Ulm University},
  year = {2012},
  type = {Diploma Thesis},
  keywords = {web, scalability, architecture, concurrency},
  month = {April},
  number = {VS-D01-2012},
  url = {http://www.benjamin-erb.de/thesis}
} 

License

The entire thesis including all illustrations are released under a Creative Commons Attribution-ShareAlike license. That means you're free to share and distribute the work however you like. You are also free to remix and adapt the work as long as you attribute the work properly and use the same/similar license to this one.

The cover page of the print version is available under a Creative Commons Attribution-NonCommercial-ShareAlike license.

Feedback?

I am interested in your feedback, your thoughts and your ideas!

Feel free to contact me or get in touch on Twitter/Google+:

|

Thanks!

I'd like to say a big thank you to everyone who supported me while writing and publishing this thesis.

Special thanks goes out to the "CouchDB The Definitive Guide" authors for their online template.

Source

The online version of the thesis is available on GitHub. Feel free to fork the project, in case you want to copy, improve, extend or correct any content. I also welcome pull requests for the community version of the work.